Выберите базу данных для рекламы / аналитики - PullRequest
3 голосов
/ 17 декабря 2011

Теперь у меня есть проект со службой обмена рекламой (что-то вроде двойного клика Google), и мне нужно выбрать масштабируемую базу данных.Я думаю о mongodb или cassandra.

Cassandra:

  • подходит для нашей системы с интенсивной записью.(+)
  • выглядит сложно для агрегирования (очень важно для аналитики) (есть ли хороший способ? Просто прочитайте слайд о Твиттере rainbird, вроде бы хорошо) (?)
  • Я не предпочитаю javaмного.(-)

MongoDB:

  • Кажется, проще делать аналитику.(есть встроенные агрегатные функции) (+)
  • больше памяти?(из-за документа-ориентированного против значения ключа Cassandra) (?)
  • производительность записи по сравнению с Cassandra?(?)
  • оболочка javascript и естественное соответствие с node.js (одна важная часть в нашем проекте) (+)
  • http://pastebin.com/raw.php?i=FD3xe6Jt - Эта статья вызывает у меня осторожность.(-)

Можете ли вы, ребята, помочь мне выбрать один или ответить на некоторые мои вопросы выше

Спасибо.

Ответы [ 3 ]

4 голосов
/ 18 декабря 2011

Я не знаю о Cassandra, но у MongoDB есть некоторые преимущества в использовании его для аналитики: высокий параллелизм, шардинг, хранение всего о событии в одном документе, такие функции, как upsert и $ inc .

Более подробные объяснения можно найти на следующих ресурсах:

MongoDB Analytics - videos http://blog.mongodb.org/post/171353301/using-mongodb-for-real-time-analyticshttp://www.mongodb.org/display/DOCS/Use+Caseshttp://www.slideshare.net/jrosoff/scalable-event-analytics-with-mongodb-ruby-on-railshttp://nosql.mypopescu.com/post/3508305955/fast-asynchronous-analytics-with-mongodbhttp://blog.opengovernment.org/2011/02/24/fast-asynchronous-analytics-with-mongodb/http://blog.10gen.com/post/4416876632/london-startup-ubervu-on-storing-5tb-of-data-in-mongodb

1 голос
/ 18 декабря 2011

Это сильно зависит от вашего домена, в большинстве случаев можно выбрать Mongo.
Например http://square.github.com/cube/ построен на Монго.

Cube - это система с открытым исходным кодом для визуализации данных временных рядов, построенная на MongoDB, Node и D3. Если вы отправляете события с метками времени Cube (с необязательными структурированными данными), вы можете легко создавать визуализации агрегированных показателей в реальном времени для внутренних панелей мониторинга. Например, вы можете использовать Cube для отслеживания трафика на ваш сайт, считая количество запросов с 5-минутными интервалами:

В большинстве случаев использование Cassandra основано на необходимости: высокая доступность , что является основной особенностью этой системы. Похоже, ваши потребности связаны с дешевым способом помещения запрашиваемых данных в масштабируемую БД, а монго почти соответствует RDBMS в отношении запросов. С Монго, вероятно, легче иметь дело.

0 голосов
/ 29 декабря 2011

Я думаю, что cassandra хорошо подходит для этой проблемы.

Вам не нужно много знать java, чтобы запустить его (кроме установки java), если в вашем компьютере есть клиентская библиотека.выбранный язык.

Cassandra 0.8+ теперь имеет поддержку атомного счетчика - идеально подходит для показов / отслеживания кликов.

Вы также можете запустить hadoop поверх cassandra , предоставляя вам проверенную платформу для написания карт, сокращает количество заданий по аналитике / агрегации и сохраняет результаты обратно на Cassandra.

Ознакомьтесь с этим слайд-шоу о Кассандре и hadoop: http://www.slideshare.net/jeromatron/cassandrahadoop-4399672

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

...