2015-04-02 3 views
0

Я задавался вопросом, должны ли мы использовать Hbase или Кассандру для следующего случая:Cassandra против Hbase для хранения подсчет событий для каждого пользователя

  1. мне нужно отслеживания событий для каждого клиента. Которая будет хранить одну строку для клиента на ежедневной основе, а на следующий день создаст еще одну строку для того же клиента. Но эта строка может быть обновлена ​​довольно часто в день для клиента. Теперь, когда есть достаточно частых обновлений на столе.

  2. В случае частых обновлений данные будут разделены на несколько SSTables. Это приведет к увеличению задержки при чтении. Какова главная цель, стоящая за прилавком в кассандре?

  3. Кроме того, в случае hbase есть проблема с единственной точкой ошибки .

ответ

1
  1. Cassandra кажется подходящим для вашего случая использования, поскольку это очень эффективно при записи. Это похоже на классический случай «временных рядов»: для каждого дня клиента (= раздел раздела) вставляйте каждое событие в раздел.
  2. Существует несколько стратегий улучшения производительности и обновления: вставляйте новые строки вместо обновляемых существующих, используйте выравниваемое уплотнение вместо размерного уплотнения, используйте кеширование ... Счетчики обычно используются для вычисления статистики, например, количества кликов, просмотров страниц ... они могут быть неточными при возникновении сбоев и бит менее эффективны, чем upsert.
  3. HBase является ведущим-ведомым устройством, хранит данные в HDFS (с меньшей производительностью) и более сложна для настройки (HDFS, Zookeeper), если у вас уже нет распределения Hadoop. Этот video может вас заинтересовать (пропустите начало).
+0

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

+0

Лучше писать производительность на Cassandra, потому что: сначала Cassandra управляет своими файлами (меньше дисков ищет, механическая симпатия), тогда как HBase должен справляться с HDFS, тогда любой узел может записывать данные, а мастер не может быть узким местом, наконец, CL ONE on напишите, вы не будете ждать, пока все реплики не подтвердятся. В Кассандре путь записи очень прост. Путем настройки согласованности при написании vs reads вы можете одобрить тот или иной из точки зрения производительности. –

+0

Обновления в порядке, им потребуется больше работы по уплотнению, тогда как для вложений потребуется больше места на диске: вы можете выбрать, но есть компромисс. –

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