Отношения в Aerospike

Мне было интересно, как можно представить отношения в Aerospike? Я понимаю, что это хранилище Key-Value, но можно ли привести пример?

Например: если в системе есть пользователь, и я хочу получить список записей вещей, связанных с этим пользователем.


person seenickcode    schedule 10.12.2014    source источник


Ответы (2)


Пара быстрых идей:

1- Пусть каждый пользователь будет записью (эквивалентом строки для обычной СУБД) с несколькими ячейками, каждая из которых имеет в себе первичный ключ записи «Вещь». Вы можете найти более подробную информацию о модели данных Aerospike здесь. Это должно хорошо работать, если количество вещей, связанных с пользователем, довольно мало (обычно менее 100).

2- Если у вас есть большое количество записей «Вещи», связанных с каждым пользователем, вы потенциально можете использовать LDT (большой тип данных), например СПИСОК.

Надеюсь это поможет!

person Meher    schedule 11.12.2014

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

Например, если у вашего пользователя есть несколько кредитных карт, каждая из которых представляет собой кортеж (тип карты, последние 4 цифры карты, токен процессора, представляющий карту, почтовый индекс для выставления счета), они могут быть представлены в виде списка карты. СОЕДИНЕНИЯ между двумя таблицами, представляющими отношение «многие к одному», существуют потому, что РСУБД моделирует атомарные данные, тогда как в Aerospike эти данные моделируются как данные сложного типа.

person Ronen Botzer    schedule 12.12.2014