Помогите мне лучше понять модель данных Кассандры от Digg - PullRequest
1 голос
/ 01 декабря 2010

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

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

Спасибо

1 Ответ

1 голос
/ 01 декабря 2010

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

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

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

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

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

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

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

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

...