phoenix边讲架构边调优

phoenix边讲架构边调优

ID:14742721

大小:80.56 KB

页数:23页

时间:2018-07-30

phoenix边讲架构边调优_第1页
phoenix边讲架构边调优_第2页
phoenix边讲架构边调优_第3页
phoenix边讲架构边调优_第4页
phoenix边讲架构边调优_第5页
资源描述:

《phoenix边讲架构边调优》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Phoenix边讲架构边调优一基础架构详解1 概念讲调优之前,需要大家深入了解phoenix的架构,这样才能更好的调优。ApachePhoenix在Hadoop中实现OLTP和运营分析,实现低延迟应用是通过结合下面两个优势:·具有完整ACID事务功能的标准SQL和JDBCAPI的强大功能··通过利用HBase作为后台存储,为NoSQL世界提供了late-bound,schema-on-read灵活的功能。·ApachePhoenix与其他Hadoop产品完全集成,如Spark,Hive,Pig,Flume和MapReduce。2 Sql支持ApachePhoenix将SQL查询编译为一系列H

2、Basescan,并编排这些scan的运行以生成常规的JDBC结果集。直接使用HBase的API的,与协处理器和自定义过滤器一起,实现了小查询以毫秒为单位,数千万级别的查询秒级。支持所有标准的SQL查询结构,包括SELECT,FROM,WHERE,GROUPBY,HAVING,ORDERBY等。它还支持一整套DML命令,以及通过DDL命令进行表格创建和版本增量更改。以下是目前不支持的列表:·关系运算符。相交,减号。··其他内置功能。这些很容易添加–后面会出文章介绍。·3  事务要启用完整的ACID事务(4.7.0版本中提供的测试版功能),请将phoenix.transactions.enab

3、led属性设置为true。在这种情况下,您还需要运行发行版中包含的事务管理器。一旦启用,表可以选择性地声明为事务性的(参见这里为方向)。对事务表的提交将具有全或无的行为-要么所有的数据都将被提交(包括对二级索引的任何更新),要么没有(将抛出异常)。支持跨表和跨行事务。另外,查询时,事务表将会看到他们自己的未提交的数据。乐观并发模型用于检测第一次提交获取语义的行级别冲突。稍后的提交会产生一个异常,表明发现了冲突。事务是在语句中引用事务表时隐式启动的,在这种情况下,除非发生提交或回滚,否则不会看到来自其他连接的更新。非事务表没有超出hbase担保的行级别的原子性的担保。另外,非事务表直到发生提交

4、之后才会看到它们的更新。ApachePhoenix的DML命令,UPSERTVALUES,UPSERTSELECT和DELETE,在客户端批量挂起HBASE表的变化。当事务被提交时,更改被发送到服务器,并在事务回滚时被丢弃。如果为连接启用自动提交,则Phoenix将尽可能通过服务器端的协处理器执行整个DML命令,从而提高性能。4时间戳通常情况下,应用程序会让HBase管理时间戳。但是,在某些情况下,应用程序需要控制时间戳本身。在这种情况下,可以在连接时指定CurrentSCN属性来控制任何DDL,DML或查询的时间戳。此功能可用于对先前行值运行快照查询,因为Phoenix使用此连接属性的值作

5、为扫描的最大时间戳。对于事务表时间戳是不可控的。事务管理器分配时间戳,在提交后该分配的时间戳变成hbasecell时间戳。5schemaApachePhoenix支持通过DDL命令进行表创建和版本化增量更改。表元数据存储在HBase表中并进行版本控制,以便对先前版本的快照查询将自动使用正确的schema。phoenix是通过CREATETABLE命令创建的,可以是:1. 从头开始构建,在这种情况下,HBase的表和列簇将自动创建。2. 映射一张现有的hbase表,可以通过创建一个读写表或者一个只读视图来实现。需要注意的是hbase表Rowkey的数据类型及keyvalues的数据类型必须和p

6、hoenix的数据类型一致。·对于读写表,如果它们不存在,列族将自动创建。将空的键值添加到每个行的第一列族中,以最小化查询project的大小。··对于只读VIEW,所有列系列必须已经存在。对HBase表进行的唯一修改是增加用于查询处理的Phoenix协处理器。VIEW的主要用例是将现有数据转移到Phoenix表中,因为在VIEW上不允许修改数据,查询性能可能会低于TABLE。·所有schema都是版本化的(最多保留1000个版本)。对旧数据进行快照查询将根据您连接的时间(基于CurrentSCN属性)提取并使用正确的模式。6变更ALTERTABLE命令可以修改phoenix表。当运行引用表

7、的SQL语句时,Phoenix将默认与服务器进行检查,以确保它具有最新的表元数据和统计信息。当您事先知道表格的结构可能永远不会改变时,这个RPC可能是不必要的。在Phoenix4.7中添加了UPDATE_CACHE_FREQUENCY属性,以允许用户声明服务器检查元数据更新的频率(例如添加或删除表列或更新表统计信息)。可能的值是ALWAYS(默认),从不,和毫秒数值。ALWAYS值会导致客户端每次执行一个引用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。