Apache Phoenix one of the newest open source Java project, provides SQL access to HBase, Hadoop's NoSQL database, which is later delivered as a JDBC driver.
“Apache Phoenix takes your SQL query, compiles it into a series of HBase scans, and orchestrates the running of those scans to produce regular JDBC result sets. The table metadata is stored in an HBase table and versioned, such that snapshot queries over prior versions will automatically use the correct schema,” according to Apache Phenix official website.
The open source database supports SQL query statement clauses, DML commands, DDL commands, etc. Currently Apache Phoenix does not support Relational operators and Miscellaneous built-in functions.
According to a recent article by InfoWorld, here are some of Phoenix features:
Provides a JDBC driver for interacting with HBase.
Supports much of the ANSI SQL standard.
Supports DDL operations such as CREATE TABLE, DROP TABLE, and ALTER TABLE.
Supports DML operations such as UPSERT and DELETE.
Compiles SQL queries into native HBase scans and then maps the response to JDBC ResultSets.
Supports versioned schemas.
In order to offer users a better experience and a higher performance, Phoenix uses HBase APIs instead of MapReduce processes. “Using Phoenix is as simple as adding a JAR file to HBase, adding Phoenix's JDBC driver to your CLASSPATH, and creating a standard JDBC connection to Phoenix using its JDBC URL. Once you have a JDBC connection, you can use HBase just as you would any other database,” according to InfoWorld.
Developed by Apache Software Foundation, Phoenix was first created by salesforce.com as an internal project used to support SQL language and originally was an open-source project on Github. Even though Phoenix became a top-level Apache project in 2014, it officially launched on July 29, 2015, with the mission to become the standard means of accessing HBase data through API.
Written in Java, Apache Phoenix is a cross-platform operating system and is currently part of Cloudera labs as well as the Hadoop ecosystem. Among companies that are using Apache Phoenix are salesforce, HomeAway, Hortonworks, Sift Science, CertusNet, Alibaba, TEOCO, eBay, Interset, NGData, PubMatic, Pacific Northwest, Socialbakers, and Delta Projects.
“Phoenix opens up many possibilities. Streaming data analytics is first one. Many streaming data solutions (e.g. OpenTSDB) use HBase as data store. We are successfully using HBase for streaming data analytics for multiple use cases in our solution. Phoenix can be a faster and efficient alternative to querying very large scale time series data,” according to Kuldeep Deshpande, Founder and co-CEO at Ellicium Solutions Private Limited.
You can download and install HBase and Phoenix here.
Image Source: www.hadoopsphere.com
44B Borisova Str.
7012, Ruse, Bulgaria
1000 Brussels, Belgium