国内现有的数据仓库应用大都基于SQL 2003,而且大量使用存储过程来构建复杂应用。因此除了SQL编
译器以外,Transwarp Inceptor还包含存储过程编译器用于对存储过程的编译和执行。
Inceptor支持Oracle PL/SQL 和 DB2 SQL PL两大主流SQL标准,包括完整的数据类型、流程控制、
Package、游标、异常处理以及动态SQL执行,并且支持在存储过程中做高速统计,增删改查与分布式
事务操作。因此,有了存储过程编译器的补充,Inceptor可以满足绝大部分数据应用的从关系型数据库
到Inceptor平台的迁移。
除了SQL语法层面的支持,存储过程编译器包含一个完整的优化器,包含CFG Optimizer,Parallel
Optimizer,和DAG Optimizer。CFG Optimizer对存储过程中的代码进行优化,完成循环展开,冗余代
码消除,函数内联等主要优化。Parallel Optimizer将一些原本串行的逻辑做并行化处理,利用集群的
计算能力来提高整体执行速度,对一些关键的功能如游标的性能提升非常明显。DAG Optimizer会根
据生成的DAG图二次优化,生成更合理的物理执行计划,重点降低了shuffle等任务开销。
为了有效的和其他数据库兼容,Inceptor支持通过不同的方言设置来隔离不同的SQL标准之间的差异,
从而避免数据计算和处理标准的二义性,因此保证数据处理的正确性。
事务管理单元 Transaction Manager
为了更好的满足数据仓库业务场景的需求,Inceptor提供完整的增删改SQL支持,允许从多数据源中加
工数据。同时为了有效的保证数据处理的准确性,Inceptor提供了分布式事务的支持,保证了处理过程
中数据的ACID,即原子性、一致性、隔离性和持久性。
Inceptor支持以Begin Transaction启动事务,以commit或者rollback来结束事务。事务管理单元通过两
阶段封锁协议和MVCC来实现一致性和隔离性的控制,支持Serializable Snapshot Isolation隔离级别,
因而可以保证并*况下的事务一致性。
Inceptor支持SQL 2003中关于增删改查部分的语义规范,支持Insert,Update,Delete,Truncate以及
Merge Into原语,支持单条或者从其他数据表以及嵌套查询中更新数据表,并且内置一致性检查功能以
防止非法改动。
通过SQL编译器的优化,增删改SQL执行计划通过分布式引擎在集群中并发执行,系统整体的吞吐率能
够达到关系数据库的数倍,能够满足批处理业务的高吞吐率要求。另外,通过合理的资源规划,
Inceptor在做数据的增删改的同时,允许租户对数据做高速的统计分析。
分布式内存列式存储 Holodesk
了加速交互式分析的速度,Inceptor推出了基于内存或者SSD的列式存储引擎Holodesk。Holodesk将数
据在内存或者SSD中做列式存储,辅以基于内存的执行引擎,可以完全避免IO带来的延时,极大的提高
数据扫描速度。
除了列式存储加快统计分析速度,Holodesk支持为数据字段构建分布式索引。通过智能索引技术为查询
构建最佳查询方案,Inceptor可以将SQL查询延时降低到毫秒级。
Holodesk允许用户对多字段组合构建OLAP-Cube,并将cube直接存储于内存或者SSD上,无需额外的
BI工具来构建Cube,因此对于一些复杂的统计分析和报表交互查询,Holodesk能够实现秒级的反应。
除了性能优势,Holodesk在可用性方面也表现出色。Holodesk的元数据和存储都原生支持高可用性,
通过一致性协议和多版本来支持异常处理和灾难恢复。在异常情况下,Holodesk能够自动恢复重建所有
的表信息和数据,无需手工恢复,从而减少开发与运维的成本,保证系统的稳定性。
Inceptor重点优化了基于SSD的Holodesk性能,使得基于PCIE SSD的性能达到全内存的方案的80%以
上。因此结合使用低成本的内存/闪存混合存储方案,可接近全内存存储的分析性能,保证解决方案的高性
价比。
评论