Подтвердить что ты не робот

Redis, CouchDB или Cassandra?

Каковы сильные и слабые стороны различных баз данных NoSQL?

В частности, похоже, что Redis слаб, когда речь идет о распределении нагрузки на запись по нескольким серверам. Это так? Это большая проблема? Насколько большой сервис должен расти, прежде чем это может стать серьезной проблемой?

4b9b3361

Ответ 1

Сильные и слабые стороны баз данных NoSQL (а также баз данных SQL) сильно зависят от вашего варианта использования. Для очень больших проектов производительность короля; но для совершенно новых проектов или проектов, где время и деньги ограничены, простота и время выхода на рынок, вероятно, самые важные. Для того, чтобы учиться (расширять свою перспективу, становясь лучшим, более ценным программистом), возможно, самое важное - это простые, прочные фундаментальные концепции.

Какой проект вы имеете в виду?

Некоторые сильные и слабые стороны, от верхней части головы:

  • Redis
    • Очень простой "глобальный переменный сервер с ключом"
    • Очень простая (какая-то сказать "несуществующая" ) система запросов
    • Легко быстрый в этом списке
    • Сделки
    • Набор данных должен соответствовать памяти
    • Незрелая кластеризация, с неясным будущим (я уверен, это будет здорово, но это еще не решилось.)
  • Cassandra
    • Возможно, самый массовый импульс баз данных, подобных BigTable.
    • Вероятно, самый простой из этого списка для управления в больших/растущих кластерах
    • Поддержка карты/сокращения, хорошая для аналитики, хранилища данных
    • Репликация MUlti-datacenter
    • Настраиваемая согласованность/доступность
    • Нет единой точки отказа
    • Вы должны знать, какие запросы вы будете запускать на раннем этапе проекта, подготовить форму и индексы данных
  • CouchDB
    • Поддержка лучшей поддержки синхронизации (репликации), поддерживающая master/slave, master/master и другие экзотические архитектуры.
    • Протокол HTTP, браузеры/приложения могут взаимодействовать непосредственно с БД частично или полностью. (Синхронизация также выполняется через HTTP)
    • После краткой кривой обучения довольно сложная система запросов, использующая Javascript и отображение/уменьшение
    • Кластеризованная операция (без SPOF, настраиваемая согласованность/доступность) в настоящее время является важной вилкой (BigCouch). Вероятно, он объединится в Couch, но нет дорожной карты.
    • Аналогично, кластеризация и многоцентровый центр теоретически возможны ( "экзотическая" вещь, о которой я упоминал), однако в это время вы должны написать все эти инструменты.
    • Добавлять только формат файла (как базы данных, так и индексы) быстро расходует диск, и вы должны вручную запустить уплотнение (вакуумирование), которое делает полную копию всех записей в базе данных. То же самое необходимо для каждого индексного файла. Опять же, вы должны быть вашим собственным помощником.