Помогите мне лучше понять модель данных Кассандры от Digg

http://about.digg.com/blog/looking-future-cassandra

Я нашел эту статью о переезде Дигга на Кассандру. Но я не понял идею автора Bucket для пары (пользователь, предмет). Немного больше подробностей об этой идее поможет мне лучше понять решение.

Спасибо

1 ответ

Решение

Похоже, они используют одну строку в семействе суперколонок на пользователя с одним суперколонкой на элемент; подколонка для суперколонки предмета представляет друга, который копал предмет. По крайней мере, в Pycassa это делает вставку так же просто, как:

column_family.insert(user, {item: {friend: ''}})

Они также могли бы сделать это несколькими другими способами, и я не уверен, что они выбрали.

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

column_family.insert(user + item, {friend: ''})

Другой способ - использовать стандартное семейство столбцов, использовать просто (пользователь) для ключа строки и использовать комбинацию (элемент, друг) для имени столбца:

column_family.insert(user, {item + friend: ''})

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

Другие вопросы по тегам