Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds:
the power of standard SQL and JDBC APIs with full ACID transaction capabilities and
the flexibility of late-bound, schema-on-read capabilities from the NoSQL world by leveraging HBase as its backing store
Apache Phoenix is fully integrated with other Hadoop products such as Spark, Hive, Pig, Flume, and Map Reduce.
Apache Phoenix 是 HBase 的 SQL 驱动。Phoenix 使得 HBase 支持通过 JDBC 的方式进行访问,并将你的 SQL 查询转成 HBase 的扫描和相应的动作。
兼容性:
Phoenix 2.x - HBase 0.94.x
Phoenix 3.x - HBase 0.94.x
Phoenix 4.x - HBase 0.98.1+
Apache Phoenix is an open source, massively parallel, relational database engine supporting OLTP for Hadoop using Apache HBase as its backing store. Phoenix provides a JDBC driver that hides the intricacies of the noSQL store enabling users to create, delete, and alter SQL tables, views, indexes, and sequences; insert and delete rows singly and in bulk; and query data through SQL. Phoenix compiles queries and other statements into native noSQL store APIs rather than using MapReduce enabling the building of low latency applications on top of noSQL stores
phoenix,由saleforce.com开源的一个项目,后又捐给了Apache。它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase。
实现原理:
Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。
SQL Support
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.
Phoenix最值得关注的一些特性有:
嵌入式的JDBC驱动,实现了大部分的java.sql接口,包括元数据API
可以通过多部行键或是键/值单元对列进行建模
完善的查询支持,可以使用多个谓词以及优化的扫描键
DDL支持:通过CREATE TABLE、DROP TABLE及ALTER TABLE来添加/删除列
版本化的模式仓库:当写入数据时,快照查询会使用恰当的模式
DML支持:用于逐行插入的UPSERT VALUES、用于相同或不同表之间大量数据传输的UPSERT SELECT、用于删除行的DELETE
通过客户端的批处理实现的有限的事务支持
单表——还没有连接,同时二级索引也在开发当中
紧跟ANSI SQL标准
相关推荐
根据官网整理。Using Apache Phoenix Using Apache Phoenix Using Apache Phoenix Using Apache Phoenix Using Apache Phoenix Using Apache Phoenix Using Apache Phoenix。
Apache Phoenix 是一个开源的SQL查询引擎,用于在Apache HBase之上提供高性能的关系型数据库功能。它将SQL查询转换为HBase的原生操作,从而提高了数据处理的速度和效率。Phoenix 4.13.1是该项目的某个稳定版本,特别...
Apache Phoenix 是一个开源的SQL引擎,它为Apache HBase提供了高性能的关系型数据库查询能力。Phoenix 使用JDBC接口,使得开发者可以使用SQL语句来操作HBase数据,极大地简化了对大数据存储系统的操作。Apache ...
Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对HBase中的数据进行低延迟访问。Apache Phoenix会将用户编写的sql查询编译为一系列的scan操作,最终产生通用的JDBC结果集返回给...
Apache Phoenix 是一个开源的SQL-on-HBase框架,它允许用户通过标准的JDBC接口与HBase进行交互,极大地简化了对大数据存储系统的SQL查询。在标题"apache-phoenix-4.8.1-HBase-1.2-bin.tar.gz"中,我们可以看到这是...
Apache Phoenix 是一个高性能的关系型数据库层,专门为Apache HBase设计,允许用户通过SQL查询和管理HBase中的数据。Phoenix利用JDBC驱动程序将SQL查询转换为HBase的原生操作,提高了查询性能,尤其适用于大数据分析...
Apache Phoenix 是一个开源的SQL-on-HBase框架,它允许用户通过使用JDBC接口来查询和操作HBase数据库。Phoenix将SQL语句转换为HBase的原生操作,从而提高了对大数据集的查询性能。这个"apache-phoenix-4.14.3-HBase-...
Apache Phoenix 是一个开源的、基于 Apache HBase 的关系型数据库层,它允许用户通过 SQL 查询在 HBase 上的数据。此压缩包"apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz"是 Phoenix 的特定版本,针对 Cloudera Data...
Apache Phoenix 是一个开源的SQL引擎,它为Apache HBase提供了高性能的关系型数据库查询能力。Phoenix将SQL查询转换为HBase的原生操作,使得开发者能够使用SQL语法与HBase进行交互,而无需深入理解HBase的Java API。...
Pro Apache Phoenix covers the nuances of setting up a distributed HBase cluster with Phoenix libraries, running performance benchmarks, configuring parameters for production scenarios, and viewing the...
Apache Phoenix是一个开源的SQL层,它为Apache HBase这样的NoSQL数据库提供了高性能的关系型查询能力。这个名为"apache-phoenix-4.10.0-HBase-1.1-bin.tar.gz"的压缩包包含了Phoenix 4.10.0版本,专为运行在HBase ...
Apache Phoenix 是一个开源的 JDBC 驱动程序,它允许用户使用 SQL 查询语言与 HBase 数据存储进行交互。Phoenix 将 SQL 转换为低级的 HBase 扫描,从而提高了数据处理的性能。在您提供的压缩包 "apache-phoenix-...
### Apache Phoenix:将SQL带回NoSQL #### 一、HBase简介 Apache HBase是一个分布式、版本化的键值存储系统,作为Apache Hadoop项目的一部分而开发。它在Hadoop Distributed File System (HDFS)之上运行,提供了一...
实现sql查询Hbase,Phoenix 基于Hbase给面向业务的开发人员提供了以标准SQL的方式对Hbase进行查询操作,并支持标准SQL中大部分特性:条件运算,分组,分页,等高级查询语法...apache-phoenix-4.14.1-HBase-1.2-bin.tar.gz
docker-apache-phoenix 基于高山的Apache Phoenix Docker映像小型安装# load default env as neededeval $(docker-machine env default)# network docker network create vnet# hbase+phoenix startupdocker-compose...
"Apache Phoenix 和 HBase: Past, Present and Future of SQL over HBase" Apache Phoenix 是一个基于 HBase 的关系型数据库层,它提供了 SQL 接口来访问 HBase 数据。Phoenix 的出现解决了 HBase 的一些限制,如...
通过以上介绍可以看出,Apache Phoenix 作为 HBase 上的一个重要项目,不仅在过去几年取得了显著的发展成果,而且未来也有着明确的发展方向和技术路线图。对于那些希望在 HBase 上实现高效 SQL 查询的应用场景来说,...
Apache Phoenix是一个开源的SQL层,它允许用户通过标准的JDBC接口来查询和操作存储在Apache HBase数据库中的数据。Apache Phoenix将SQL查询转换为低级的HBase扫描,从而提高了大数据查询的性能。"apache-phoenix-...
Apache Phoenix 是一个开源的SQL引擎,它为Apache HBase提供了高性能的关系型数据库查询能力。Phoenix将SQL查询转换为HBase的原生操作,使得开发者能够使用SQL语法来操作分布式NoSQL存储,极大地简化了HBase的数据...
用cdh5.16.2搭建大数据平台时,网上一直没有找到phoenix基于cdh5.16.2的parcel文件,cdh官网有下载,但是需要订阅用户,所以我自己编译了一个,编译过程非常长,大家且下且珍惜。分包2。