【Apache Phoenix 介绍】

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. Direct use of the HBase API, along with coprocessors and custom filters, results in performance on the order of milliseconds for small queries, or seconds for tens of millions of rows.

To see a complete list of what is supported, go to our language reference. All standard SQL query constructs are supported, including SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, etc. It also supports a full set of DML commands as well as table creation and versioned incremental alterations through our DDL commands.



 

Here’s a list of what is currently not supported:

 

Relational operators. Intersect, Minus.

Miscellaneous built-in functions.

These are easy to add - read this blog for step by step instructions.

 

Salesforce.com has open sourced Phoenix, a Java layer enabling developers to run SQL queries on Apache HBase. Update: An interview on Phoenix with James Taylor, Lead Developer at Salesforce.com, has been appended.

In addition to myriads of SQL, NoSQL and NewSQL databases, Salesforce.com has announcedproject Phoenix, an SQL layer on top of Apache HBase, a column-oriented Big Data store. Entirely written in Java, the code is available on GitHub, and provides a client-embeddable JDBC driver.

Phoenix is used internally by Salesforce.com for low latency queries in the order of milliseconds for simple queries or seconds when tens of millions of rows are processed, according to the project’s description. Phoenix it is not used for map-reduce jobs as HBase is made for, but rather for accessing HBase data through a standardized language.

According to project creators,  Phoenix beats Hive for a simple query spanning 10M-100M rows. It is also much faster than Impala and OpenTSDB for similar queries using HBase’s API, co-processors and custom filters:

The Phoenix query engine transforms your SQL query into one or more HBase scans, and orchestrates their execution to produce standard JDBC result sets. Direct use of the HBase API, along with coprocessors and custom filters, results in performance on the order of milliseconds for small queries, or seconds for tens of millions of rows.

Some of the most interesting features are:

Embedded JDBC driver implements the majority of java.sql interfaces, including the metadata APIs.

Allows columns to be modeled as a multi-part row key or key/value cells.

Full query support with predicate push down and optimal scan key formation.

DDL support: CREATE TABLE, DROP TABLE, and ALTER TABLE for adding/removing columns.

Versioned schema repository. Snapshot queries use the schema that was in place when data was written.

DML support: UPSERT VALUES for row-by-row insertion, UPSERT SELECT for mass data transfer between the same or different tables, and DELETE for deleting rows.

Limited transaction support through client-side batching.

Single table only - no joins yet and secondary indexes are a work in progress.

Follows ANSI SQL standards whenever possible

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值