Apache Phoenix улучшает поддержку HBase


Apache Phoenix 4.14 был выпущен с поддержкой HBase 1.4 вместе с поддержкой GRANT и REVOKE. Phoenix добавляет поддержку OLTP на основе SQL и оперативной аналитики для Apache Hadoop, используя Apache HBase в качестве резервного хранилища. Он также обеспечивает интеграцию с другими проектами в экосистеме Apache, такими как Spark, Hive, Pig, Flume и MapReduce.

Phoenix — это оболочка SQL с открытым исходным кодом для HBase. Вы используете его через стандартные API-интерфейсы JDBC вместо клиентских API-интерфейсов HBase для создания таблиц, вставки данных и запроса данных HBase. Он компилирует запросы SQL для сканирования HBase и может использоваться для доступа к данным, которые хранятся и создаются в других продуктах Hadoop, таких как Spark, Hive, Pig, Flume и MapReduce. Phoenix использует вторичные индексы для ускорения запросов и использует параллельную обработку, выполняя агрегированные запросы через обработчики на стороне сервера (называемые сопроцессорами). Это означает, что запросы выполняются на узлах, где хранятся данные, что значительно снижает необходимость отправки данных по сети.

Основное улучшение новой версии — поддержка HBase 1.4. HBase 1.4 был выпущен в начале года с новым закрашенным клиентом, предназначенным для улучшения совместимости, наряду с улучшениями клиента REST.

Новая версия Phoenix также включает поддержку ряда дополнительных версий CDH, в частности CDH 5.11.2, 5.12.2, 5.13.2 и 5.14.2. CDH — это дистрибутив платформы Cloudera с открытым исходным кодом, который включает Apache Hadoop и связанные с ним приложения.

Еще одно усовершенствование Phoenix — добавление поддержки команд SQL GRANT и REVOKE для предоставления или отзыва разрешений на уровне таблицы, схемы или пользователя. Разрешениями в Phoenix управляет HBase.

Другие улучшения включают предотвращение повторных попыток сервера для изменяемых индексов; и поддержка ограничения NOT NULL для любых столбцов неизменяемых таблиц. Индексами для транзакционных таблиц можно управлять исключительно на стороне клиента, а для запросов была добавлена улучшенная обработка локальных областей индекса. В частности, Phoenix теперь обрезает области, которые необходимо сканировать, на основе условий WHERE в таблице данных. Приведенный пример состоит в том, что с мультитенантной таблицей единственными регионами, которые нужно сканировать, будут те, которые имеют префикс идентификатора клиента. Это должно помочь предотвратить большое количество удаленных вызовов процедур для больших таблиц, использующих локальные индексы.


Добавить комментарий