SimpleDB - как выбрать, где ЛЮБОЙ атрибут соответствует данной строке? - PullRequest
1 голос
/ 13 февраля 2010

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

выберите * из моего домена, где Title = 'The Right Stuff'

Я хотел бы использовать что-то вроде:
выберите * из моего домена, где * = 'The Right Stuff'

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

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

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

- Том

1 Ответ

3 голосов
/ 13 февраля 2010

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

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

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

Официальных публичных баз данных SimpleDB от AWS нет, но есть пара API-совместимых клонов: M / DB - это одно.

...