Сравнение баз данных NoSQL для Java - PullRequest
6 голосов
/ 06 декабря 2010

Я хочу узнать больше о базах данных / хранилищах данных NoSQL, доступных для использования с Java, и пока я опробовал Project Voldemort.За исключением ужасно выбранного имени, оно пока выглядит хорошо.

Я хотел бы узнать больше о других подобных системах баз данных.Теперь в статье в Википедии есть список некоторых из них, и на страницах их проектов есть некоторая документация.

Однако вместо сравнения технических характеристик и учебных пособий, предоставленных авторами, какиеЯ хотел бы знать:

Каков ваш опыт работы с этими библиотеками в реальных проектах?Какой из них вы бы порекомендовали для использования на основе этого опыта, какой вы бы не стали и почему?

Я знаю, что только люди, которые смогут ответить на этот вопрос, - это те, кто на самом деле использовал более одной такой базы данных, но я надеюсь, что кто-то это сделал.1014 * Под «реальным проектом» я подразумеваю, прежде всего, проект в производстве (но в отсутствие этого ничего более крупного, чем домашняя работа или готовое учебное пособие).

Я работал с реляционной базой данных, которая имела огромный объемон большей частью сконцентрирован в одной таблице, которая в любом случае была денормализована для производительности.Но из-за всей неразберихи с ограничениями и т. Д. Создание пригодного к использованию кластера показало ужасные результаты как по стабильности, так и по производительности.

Теперь я совершенно уверен, что, скорее всего, любая из этих систем NoSQL будет лучшим выбором, чем то, что я имел в своем распоряжении.Но между ними тоже должна быть разница.Будь то в документации, стабильность между версиями, сообщество, простота использования, что угодно ... И есть много гигантов.Какие плечи выбрать?: D

Ответы [ 3 ]

3 голосов
/ 08 декабря 2010

Возможно, наиболее выдающимся из решений Java NoSQL является Cassandra . Он имеет некоторые функции помимо Voldemort (Секционер, сохраняющий порядок, который разрешает запросы диапазона; структура стиля BigTable для значений); и не хватает других (нет альтернативных хранилищ или версий версий для управления версиями). Его производительность более оптимальна для быстрой записи, но его наибольшая сила, вероятно, заключается в легкости, с которой его можно масштабировать по горизонтали, добавляя новые узлы (что-то, где V немного более статично).

По сравнению, скажем, с MongoDB, его модель данных довольно проста, и зачастую нет смысла использовать намного больше, чем абстракцию ключ / значение (то есть обрабатывать отображение данных на стороне клиента, хранить сериализованные объекты). Он имеет полную репликацию и распространение, в отличие от некоторых к / х магазинов (couchdb, насколько я понимаю).

3 голосов
/ 07 декабря 2010

Мы работаем с HBase для наших проектов. Наш опыт -

  • Сообщество очень динамично и чрезвычайно полезно
  • Процедура установки для разработчиков довольно проста в псевдораспределенном или автономном режиме
  • Мы использовали его для интеграционных тестов, таких как модульные тесты
  • Установка кластера также проста, но сравнивая некоторые другие NoSQL, он имеет больше компонентов для установки, чем другие.
  • Администрирование - все еще продолжается, поэтому не могу сказать, что сказать об этом.
  • Не используйте его для SQL, например запросов SELECT, для этого мы используем Apache Solr
  • Чтобы упростить разработку и тестирование, мы пришли к простому объектному сопоставителю - https://github.com/smart-it/smart-dao
  • Причина, по которой я выбрал, заключается в том, что HBase, как и другие NoSQL, решает шардинг, масштабируя за счет дизайна, что делает его более простым в долгосрочной перспективе, и, похоже, это хорошо.
2 голосов
/ 08 декабря 2010

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

Мне нравится MongoDB. Мне нравится, как он поддерживает запросы, и мне нравятся ориентированные на документы модели данных. Это подходит ко многим проблемам, с которыми я, кажется, сталкиваюсь. Существует большое (с большой буквы) сообщество, как видно из недавнего события MongoSV.

Лучше всего выбрать 3 различных продукта и оценить их. Я также хотел бы посмотреть, сможете ли вы найти несколько компаний, которые выступали на конференциях и рассказывали свои истории о том, как они добились успеха. Видео с MongoSV будет доступно в ближайшее время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...