|Apache Phoenix Improves HBase Support|
|Written by Kay Ewbank|
|Thursday, 21 June 2018|
Apache Phoenix 4.14 has been released with support for HBase 1.4 along with support for GRANT and REVOKE. Phoenix adds support for SQL-based OLTP and operational analytics for Apache Hadoop using Apache HBase as its backing store. It also provides integration with other projects in the Apache ecosystem such as Spark, Hive, Pig, Flume, and MapReduce.
Phoenix is an open source SQL skin for HBase. You use it via standard JDBC APIs instead of the HBase client APIs to create tables, insert data, and query your HBase data. It compiles SQL queries to native HBase scans, and can be used to access data stored and produced in other Hadoop products such as Spark, Hive, Pig, Flume, and MapReduce. Phoenix uses secondary indexes to make queries faster, and makes use of parallel processing by executing aggregate queries through server-side hooks (called co-processors). This means queries are executed on the nodes where data is stored, greatly reducing the need to send data over the network.
The main improvement to the new version is support for HBase 1.4. HBase 1.4 was released at the beginning of the year with new shaded client intended to improve compatibility, along with improvements to the REST client.
The new version of Phoenix also includes support for a number of extra CDH versions, specifically CDH 5.11.2, 5.12.2, 5.13.2, and 5.14.2. CDH is Cloudera’s open source platform distribution that includes Apache Hadoop and related applications.
Another improvement to Phoenix is the addition of support for the SQL GRANT and REVOKE commands to grant or revoke permissions at the table, schema or user level. Permissions in Phoenix are managed by HBase.
Other improvements include avoiding server retries for mutable indexes; and support for the NOT NULL constraint for any columns of immutable tables. Indexes for transactional tables can be managed purely on the client side, and the better handling of local index regions has been added for queries. Specifically, Phoenix will now prune the regions that need to be scanned over, based on the WHERE conditions against the data table. The example given is that with a multi-tenant table, the only regions that need to scanned would be those prefixed by the tenant ID. This should help prevent large numbers of remote procedure calls over large tables that use local indexes.
or email your comment to: email@example.com
|Last Updated ( Thursday, 21 June 2018 )|