SimpleDB – как выбрать, где ЛЮБОЙ атрибут соответствует данной строке?

StackOverflow https://stackoverflow.com/questions/2255214

  •  20-09-2019
  •  | 
  •  

Вопрос

Я разрабатываю макет и использование приложения Amazon SimpleDB.В документации для simpleDB приведено несколько примеров запросов:Вот один из них:ссылка: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1231

выберите * из mydomain, где Title = «Правильный материал»

Я хотел бы использовать что-то вроде:
выберите * из моего домена, где * = «Правильный материал»

Так что я могу искать по всем атрибутам «Правильный материал».

Я знаю, что мог бы создать базу данных и протестировать это, но сейчас я не программирую, а просто планирую, так что если есть кто-нибудь, кто знает решение этой проблемы, то спасибо.

Есть ли общедоступная база данных, которую мы можем запросить для тестирования?

--Том

Это было полезно?

Решение

Невозможно выполнить тип запроса, о котором вы спрашиваете.Каждое значение атрибута в SimpleDB индексируется в соответствии с именем атрибута, с которым оно связано.Другими словами, для каждого имени атрибута существует отдельный индекс.В результате, даже если бы вы могли это сделать, вам пришлось бы проверять каждый индекс в домене, а в текущей реализации SimpleDB это было бы непомерно медленно.

Однако вы можете смоделировать это самостоятельно, ценой дублирования всех ваших данных и ограничения вашего приложения 128 атрибутами на элемент вместо 256.Это можно сделать, создав в каждом элементе дополнительный многозначный атрибут, в котором будут храниться значения всех остальных атрибутов этого элемента.Затем вы создаете специальные запросы к этому одному атрибуту (вам нужно будет использовать одно и то же имя для этого атрибута во всех элементах).

Я не рекомендую этот подход.

На AWS нет официальных общедоступных баз данных SimpleDB, но есть несколько API-совместимых клонов:М/БД это один.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top