Архитектура NoSQL для таких приложений, как Google Reader - PullRequest
0 голосов
/ 20 января 2011

Какую архитектуру NoSQL вы бы использовали для таких приложений, как Google Reader (одна копия)?

Я считаю MongoDB, Cassandra, CouchDB, Redis, HBase и Riak.

1 Ответ

2 голосов
/ 21 января 2011

Простой ответ, используйте тот, который вам удобнее всего.

Более сложный ответ на самом деле заключается в деталях того, что может сделать Google Reader.Вероятно, вам понадобится одна особенность - несколько индексов.

Каждая запись RSS будет иметь уникальный ключ, пользователя, ts, флаг чтения и некоторые категории.При работе с документно-ориентированными базами данных или базами данных с ключом ключ обычно легко получить.Но какой первый запрос вы действительно собираетесь выполнить?Список по пользователю, ts, read.

Ну, для этого понадобится вторичный индекс.AFAIK riak и redis вообще не поддерживают это. CouchDB и Cassandra , кажется, имеют некоторые обходные пути (представления), но это все еще не легко. MongoDB поддерживает вторичные индексы " из коробки ".

Таким образом, вы сразу упростите работу с MongoDB.

Mongo также имеет ряд атомарных операций , что упрощает асинхронное обновление данных.

...