Нереляционная база данных, значение ключа или плоский стол - PullRequest
1 голос
/ 25 сентября 2010

Моему приложению нужны настраиваемые столбцы, и заголовки этих столбцов настраиваются в начале. Если бы для реляционной базы данных я создал бы общие столбцы в таблице, такие как CodeA, CodeB и т. Д., Для этого нужно, потому что это помогает организовать очереди для этих столбцов (Code A =11) это также помогает в отображении значений (если в этих столбцах хранятся код и значение), но теперь я использую Non-Relational database Datastore (и я новичок в этом), должен ли я следовать тому же старому подходу или использовать коллекцию (KeyПара значений) тип структуры.

В этих столбцах будет много фильтров.Пожалуйста, предложите

Ответы [ 2 ]

0 голосов
/ 03 октября 2010

То, что вы только что описали, является одним из классических сценариев для базы данных Key-Value.Ограничение здесь заключается в том, что у вас не будет многих инструментов на основе наборов, к которым вы привыкли.

Большинство баз данных KV действительно хороши для загрузки одной «записи» или небольшого набора.Тем не менее, они не очень хорошо умеют загружать что-либо, что может потребовать объединения.Учитывая, что вы используете AppEngine, вы, вероятно, оцените это ограничение.Но это стоит отметить.

В качестве важного замечания, не все базы данных KV позволят вам «выбирать по любому столбцу».Многие магазины KV позволяют выбирать только по первичному ключу.Если вы посмотрите на MongoDB, вы обнаружите, что можете запросить любой столбец, который звучит как необходимая функция.

0 голосов
/ 25 сентября 2010

Я бы предложил использовать пары ключ / значение, где ключи будут выступать в качестве имен столбцов, а значение будет их данными.

...