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

Почему HBase - лучший выбор, чем Cassandra с Hadoop?

Почему использование HBase лучше, чем использование Cassandra с Hadoop?

Может кто-нибудь, пожалуйста, дайте подробное объяснение по этому поводу?

Спасибо

4b9b3361

Ответ 1

Я не думаю, что это лучше других, это не только одно или другое. Это очень разные системы, каждая из которых имеет свои сильные и слабые стороны, поэтому это действительно зависит от ваших вариантов использования. Они могут определенно использоваться в дополнение друг к другу в одной и той же инфраструктуре.

Чтобы лучше объяснить разницу, я хотел бы одолжить картинку из Cassandra: окончательное руководство, где они проходят теорему CAP. Что они говорят в основном для любой распределенной системы, вам необходимо найти баланс между консистентностью, доступностью и допустимостью раздела, и вы можете только реально удовлетворяют двум из этих свойств. Из этого вы можете видеть, что:

  • Cassandra удовлетворяет свойствам Доступность и ..
  • HBase удовлетворяет свойствам Консистенция и . > .

CAP

Когда дело доходит до Hadoop, HBase построен поверх HDFS, что делает его довольно удобным для использования, если у вас уже есть стек Hadoop. Он также поддерживается Cloudera, который является стандартным распределением предприятий для Hadoop.

Но у Cassandra также больше интеграции с Hadoop, а именно Datastax Brisk, которая набирает популярность. Вы также можете теперь изначально выводить данные из результата задания Hadoop в кластер Cassandra, используя некоторый выходной формат Cassandra (например, BulkOutputFormat), мы уже не до такой степени, что Cassandra был только автономным проектом.

По моему опыту, я обнаружил, что Cassandra является удивительным для случайных чтений, и не столько для сканирования

Чтобы поместить немного рисунка на картинку, я использую как на своей работе в той же инфраструктуре, и у HBase есть совсем другая цель, чем Cassandra. Я использовал Cassandra в основном для очень быстрого поиска в режиме реального времени, в то время как я использовал HBase больше для тяжелых пакетных заданий ETL с более низкими требованиями к задержкам.

Это вопрос, который действительно заслуживает публикации в блоге, поэтому вместо того, чтобы продолжать и продолжать, я хотел бы указать вам на статью, которая суммирует много разницы в ключах между двумя системами. Итог: нет превосходного решения IMHO, и вы действительно должны думать о своих случаях использования, чтобы узнать, какая система лучше подходит.

Ответ 2

Мы должны сравнивать плюсы и минусы обеих баз данных и принимать защищенное решение в зависимости от требований бизнеса.

Cassandra

Плюсы:

  • Удовлетворяет доступность и разделение теории CAP и в конечном итоге согласуется.
  • Масштабируемость с большими кластерами без единой точки сбоев.
  • SQL, подобный языку для разработки, позволяет разработчикам легко переходить с фона RDBMS.
  • Cassandra имеет отличную производительность чтения с одной строкой, пока семантика конечной последовательности достаточно для использования.
  • Поддержка Datastax - большое преимущество.
  • Оптимизировано для записи

Минусы:

  • Не поддерживает сканирование строк по диапазону
  • Не поддерживает Atomic Compare и Set
  • Cassandra не поддерживает функции сопроцессора `
  • Cassandra поддерживает вторичные индексы в семействах столбцов, где известно имя столбца. (Не для динамических столбцов).
  • Агрегации в Кассандре не поддерживаются узлами Cassandra

HBase

Плюсы:

  • Сильная согласованность и согласованность и разделение теории CAP.
  • Триггеры эквивалентных RDBMS и хранимые процедуры
  • Поддержка Hadoop
  • Сканирование строк на основе диапазона
  • Поддержка Atomic Compare и Set
  • Оптимизирован для чтения, поддерживается мастером однократной записи
  • Поддержка агрегирования
  • Высокая масштабируемость и автоматическое отображение данных

Минусы:

  • Недостаток дружественного языка для разработки
  • Не поддерживает чтение балансировки нагрузки в одной строке
  • Операции между строками не являются атомарными
  • Единая точка отказа, если используется только один мастер HBase

Посмотрите статья 1, статья 2 и эту презентацию для получения дополнительной информации.