2013-04-16 3 views
2

Я застрял между конкретным решением о том, следует ли идти с MongoDB или Cassandra для моих потребностей в базе данных и хотел бы внести свой вклад в мой вариант использования, чтобы направить мое решение.nosql: MongoDB, Cassandra или альтернатива для хранения данных

Требования:

Источник данных

  • X Y центров обработки данных, содержащие серверы.
  • Каждый сервер имеет N сетей и статистику M.

например. В настоящее время (3 датацентра, 50 серверов, 19 сетей и 10 характеристик). Эти цифры будут увеличиваться с течением времени.

выборка данных:

  • Разобрать страницу XML для каждого сервера (~ 20kb/страница) каждый час. (~ 25MB/день)

Хранение данных:

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

Примечание: Нам нужна возможность:

  • D ynamically add/remove values ​​(datacenters/servers/networks/statistics) и масштабируемость - ключевая проблема, поэтому мы переходим от SQL к NoSQL.
  • Надежность также является высокоприоритетной (основной/ведомой, без искажений) и потребует «легкой» ремонтопригодности.
  • Письмо ежечасно, нет необходимости в «массивной» записи.

Пример использования: На переднем конце вы будете запрашивать так, выберите; окно даты, отчет о периоде, конкретный центр обработки данных, конкретные/все сети, конкретные/все статистические данные и результаты, итоговые или индивидуальные по всем серверам.

Example #1 

- From: August 16th 2012 -> April 16th 2013 
- Period: Daily 
- Data-center: EU A 
- Stat-type: Error 
- Servers: All 

От чтения подобных статей через стек-перелив и в Интернет, я пришел к выводу, что моя лучшая ставка может быть MongoDB для своих гибких запросов и близости к реляционной базе данных. Кассандра кажется опцией, если мои записи имеют более высокие объемы - хотя мне нравится модель на основе столбцов. Я новичок в проектировании и управлении базой данных, поэтому простота использования также является фактором (все еще студент CS).

Из моих вариантов использования, какая база данных NoSql - лучший вариант?

+0

Проверьте эту ссылку http://www.networkworld.com/news/tech/2012/102212-nosql-263595.html?page=1. Может быть полезно –

+0

С учетом этих показателей производительность не кажется проблемой. Учитывая, что производительность чтения является более важной, из этих тестов как MongoDB, так и Cassandra соответствуют потребностям. Я предполагаю, что мой реальный вопрос, который обеспечивает больше функциональности (MongoDB), хотя есть что-то, что я пропускаю? –

ответ

4

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

Cassandra:

  • Лучше доступность (мастер/мастер так не SPOF)
  • Лучше масштабируемость: (линейный, эластичный)
  • Лучше пишет производительность

MongoDB:

  • Лучшие запросы (API и родной для полнотекстового поиска)
  • Удобство использования (различных API, XML/JSON ...)

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

1

В вашей теме говорится: «nosql: MongoDB, Cassandra или альтернатива для хранения данных». Однако ваше описание не является точным хранилищем данных. Если возникает вопрос: что делать надлежащий «хранилище данных», тогда ответ не является ни одним из этих хранилищ данных NOSQL. Лучшим решением для хранилища данных является параллельная база данных (MPP) в среде с общим доступом. Для запросов/статистической отчетности нужны инвертированные базы данных столбцов, такие как Sybase IQ или Vertica. Любой из них (MPP или инвертированный столбец) очистят часы NOSQL в реальной среде хранилища данных.

Смежные вопросы