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

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

Вопрос

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

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

Решение

В SimpleDB нет схемы.

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

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

Другие советы

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

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

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

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

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

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

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

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

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