Могу ли я создать схему домена только (без каких-либо данных) в Amazon SimpleDB? - PullRequest
2 голосов
/ 14 декабря 2009

Я оцениваю Amazon SimpleDB в настоящее время. SimpleDB очень гибок в том смысле, что ему не нужно иметь схемы таблиц (или доменов). Схема развивается по мере поступления команд создания / обновления. Все это хорошо, но пока я использую инструмент моделирования (оценивающий MindScape LightSpeed), мне требуется предварительная схема, чтобы инструмент генерировал модели на основе схемы. Я могу создавать домены в SimpleDB, и это помогает, но для этого мне нужно выполнить хотя бы одну операцию создания домена. Я ищу возможность создавать только схему домена. Любые подсказки?

Ответы [ 2 ]

1 голос
/ 14 декабря 2009

Несмотря на то, что SimpleDB не поддерживает схемы, сохранение некоторой информации о типе оказывается критическим, если вы выполняете запросы к числовым данным или датам *. Большинство продуктов NoSQL имеют как запросы, так и типы, или же нет запросов и нет типов, но SimpleDB выбрал запросы и нет типов.

В результате для интеграции с любым инструментом за пределами основного приложения вам потребуется:

  1. хранить информацию о типе дубликата в разных местах
  2. создайте собственную систему простых схем для хранения информации о типах

Вариант 2 выглядит намного лучше, и его выбор, несмотря на то, что некоторые предполагают, не означает, что вы «не правы».

S3 может быть хорошим вариантом для этих данных, вы можете хранить их в файле с тем же именем, что и ваш домен, и он будет доступен из любого места с теми же учетными данными AWS, что и ваша учетная запись SimpleDB.

Хранение данных в виде списка attnameame = formatname - это степень того, что мне нужно было сделать. Фактически вы можете хранить все это в элементе вашего домена. Единственная проблема заключается в том, что этот специальный элемент может непреднамеренно вернуться из запроса домена, когда вы ожидаете, что оперативные данные не будут содержать информацию о типе.

Я не знаком с MindScape LightSpeed, но это общая стратегия, которая показалась мне полезной при использовании SimpleDB, и если продукт способен загружать / хранить файл в S3, тогда все в порядке.

* Примечание: просто для ясности, я не говорю об изобретении колеса или попытке использовать SimpleDB в качестве реляционной базы данных. Я говорю о том факте, что числовые данные должны храниться как с нулевым заполнением (до длины по вашему выбору), так и со смещением (в зависимости от того, подписано оно или нет) для работы с языком запросов SimpleDB на основе строк. , Как только вы определитесь с форматом или набором форматов, которые будут использоваться в вашем приложении, было бы безрассудно оставлять эту информацию скрытой и разбросанной по вашим исходным файлам в случае, когда эта информация необходима инструментам исходного кода, инструментам запросов , инструменты отчетности или любой другой код.

1 голос
/ 14 декабря 2009

В SimpleDB нет схемы.

Именно по этой причине люди из NoSQL предлагают «отучить» реляционные базы данных, прежде чем переходить от парадигмы к этим нереляционным хранилищам данных.

Итак, вы не можете делать то, что описали. Без данных ничего не будет.

...