Как указать идентификатор строки или документа Riak или любой ключ-значение хранилища данных?

Я только что посетил вебинар по знакомству с Riak. О дизайне схемы много не говорилось, только одна страница. Это то, на чем я сосредотачиваюсь. Итак, позвольте мне задать вопрос.

Скажем, у нас есть ведро под названием «Клиент» с номером клиента: «123». Этот клиент имеет атрибуты (пары ключ: значение): имя: «Джоуи Браун», дата рождения: «1/1/1980», почтовый индекс: «12345», тип клиента: «розничный», дата обращения: «1». /1/2005» частота покупки: «5»

JSON может быть:

{ «имя»: «Гюнтер Босс», «дата рождения»: «01.01.1980», «почтовый индекс»: «12345», «тип клиента»: «розничная торговля», «дата приобретения клиента»: «1/ 1/2005», «частота покупок»: «5»

}

Откуда Riak знает, что все эти атрибуты принадлежат Клиенту 123? Этот номер клиента является идентификатором? Как указать идентификатор для всей строки?

Кассандра использует следующее:

RowId + семейство столбцов + квалификатор столбца + отметка времени + значение (или полезная нагрузка). (RowId + Column Family + Column Qualifier + Timestamp обеспечивают уникальность). Ключом является семейство столбцов + квалификатор столбца.

Спасибо


person TomFH    schedule 04.10.2012    source источник


Ответы (1)


Riak — это хранилище ключей и значений, и в нем нет понятия столбцов. Он просто хранит двоичные данные (естественно, это может быть строка или документ JSON, а также что-то еще), идентифицируемые одним ключом.

В этом примере вы, возможно, сохраните данные о клиенте в виде документа JSON под ключом «123», который является номером клиента.

person Christian Dahlqvist    schedule 04.10.2012
comment
+1 — Мы также предлагаем вторичные индексы с использованием бэкенда ELevelDB: wiki.basho.com/Secondary-Indexes .html - person Brian Roach; 05.10.2012