Несмотря на то, что SimpleDB не поддерживает схемы, сохранение некоторой информации о типе оказывается критическим, если вы выполняете запросы к числовым данным или датам *. Большинство продуктов NoSQL имеют как запросы, так и типы, или же нет запросов и нет типов, но SimpleDB выбрал запросы и нет типов.
В результате для интеграции с любым инструментом за пределами основного приложения вам потребуется:
- хранить информацию о типе дубликата в разных местах
- создайте собственную систему простых схем для хранения информации о типах
Вариант 2 выглядит намного лучше, и его выбор, несмотря на то, что некоторые предполагают, не означает, что вы «не правы».
S3 может быть хорошим вариантом для этих данных, вы можете хранить их в файле с тем же именем, что и ваш домен, и он будет доступен из любого места с теми же учетными данными AWS, что и ваша учетная запись SimpleDB.
Хранение данных в виде списка attnameame = formatname - это степень того, что мне нужно было сделать. Фактически вы можете хранить все это в элементе вашего домена. Единственная проблема заключается в том, что этот специальный элемент может непреднамеренно вернуться из запроса домена, когда вы ожидаете, что оперативные данные не будут содержать информацию о типе.
Я не знаком с MindScape LightSpeed, но это общая стратегия, которая показалась мне полезной при использовании SimpleDB, и если продукт способен загружать / хранить файл в S3, тогда все в порядке.
* Примечание: просто для ясности, я не говорю об изобретении колеса или попытке использовать SimpleDB в качестве реляционной базы данных. Я говорю о том факте, что числовые данные должны храниться как с нулевым заполнением (до длины по вашему выбору), так и со смещением (в зависимости от того, подписано оно или нет) для работы с языком запросов SimpleDB на основе строк. , Как только вы определитесь с форматом или набором форматов, которые будут использоваться в вашем приложении, было бы безрассудно оставлять эту информацию скрытой и разбросанной по вашим исходным файлам в случае, когда эта информация необходима инструментам исходного кода, инструментам запросов , инструменты отчетности или любой другой код.