2016-12-04 2 views
1

Я хочу создать приложение реального времени для интеллектуального обслуживания. Я думал об использовании Hbase с Phoenix. Phoenix предоставляет SQL-уровень для HBase.Hbase для приложения реального времени

Я читал, что Hbase хорош для больших данных, таких как 100 миллионов строк плюс ++. Но у моих данных приложения нет данных. Как будет реагировать база данных Hbase, если в начале есть только небольшой объем данных? И является ли HBase хорошим решением для веб-приложений реального времени?

Я хочу иметь такую ​​архитектуру, как лямбда-архитектура. Для обработки пакетов и потоков. Будет ли HBase на вершине HDFS быть моей OLTP и OLAP-системой вместе?

Поскольку лямбда-архитектура имеет слой периодичности и скорости. Могу ли я использовать данные HBase в HDFS также для Batch и сохранить результат в Hbase?

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

ответ

1

HBase выбирается на основе следующих в целом:

Объем: миллионы и миллиарды лучше, чем тысячи и миллионы

Особенности: Если вам не нужны операции, вторичные индексы и некоторые особенности RDBMS

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

Более конкретно:

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

Помимо этого, выбор по другим значениям столбцов возможен с использованием фильтров HBase, но очень мало выборов и может не гарантировать время отклика веб-приложений.

Кроме того, если установить ваши данные (строки) имеют переменное число столбцов, а также вам не нужны все столбцы в запросах, HBase снова лучший выбор

Сервера (область) отказоустойчивый возможно в HBase - поэтому ваши данные будут в безопасности.

Его можно использовать как для партии, так и для потоковой передачи. Конечно, для потоковой передачи его наилучшего в стек Big Data. Однако это также зависит от вашего потокового трубопровода - например, от кафки, искрового потока или шторма и т. Д.

Поскольку вы упомянули о Phoenix, я полагаю, вы можете захотеть придерживаться вида sql HBase - это может дать вам лучшие варианты. Тем не менее, в основе, дизайн ключевых строк по-прежнему лежит в основе производительности HBase

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