Transwarp Inceptor

产品概述
Inceptor是一款用于批量处理及分析的数据库。它支持SQL 2003标准、Oracle PL/SQL以及DB2 SQL PL,对Oracle、DB2以及Teradata 都有很好的方言支持,是Hadoop领域对SQL标准支持最完善的产品。Inceptor的另一大优势是对ACID的支持,从而可以满足用户对数据处理中一致性和可靠性保障的需求。此外,Inceptor拥有极为优异的大数据分析性能,比Apache Hadoop处理速度快10倍以上,比 MPP处理速度快5倍以上,在TPC-DS和TPC-H基准测试中也胜于其他Hadoop和MPP产品。目前,Inceptor被广泛地应用于数据仓库和数据集市的构建,在中国,已经有超过500家客户在Inceptor上创建了他们自己的商业应用。


Transwarp Inceptor 组成部分

Transwarp Inceptor是一个独立的分析数据库,自上而下由服务层、编译层、执行层、接口层和存储层五个部分组成,其完整架构图如下:



技术优势

SQL支持

Transwarp Inceptor 是行业内第一个提供完整SQL 2003支持的SQL on Hadoop 引擎,用户可以很方便地将在Oracle或者DB2上创建的传统应用迁移到TDH,更好地利用大数据促进业务创新。

为了适配各种数据库语言,Transwarp Inceptor 还允许用户设置数据库方言,目前已经可以很好地支持Oracle、DB2和Teradata。


极致的性能

Transwarp Inceptor 作为大数据分析工具有着极佳的执行性能和扩展能力。

星环深度优化了Inceptor的分布式计算引擎,使其具有灵活的扩展能力。Inceptor的优化器包含了过程级优化器 ISO、规则优化器 RBO、物化优化器 MBO (以及成本优化器 CBO这四个模块。SQL编译器将解析的逻辑表达式传给优化器,通过四级优化后最终传递给向量化的执行引擎。

Inceptor可以很好地适配各种交互式数据分析和OLAP场景。Holodesk提供了索引支持,并且可以有效的利 用SSD来加速扫描,因此对交互式分析场景的业务可实现多倍的提速。对于模式较为固定的数据报表业务,用户可以采用OLAP Cube技术使分析性能提高10-100倍。如右图,在以1TB的数据集为对象进行的测试中,在OLAP Cube的加速下,TPC-H在Inceptor中的运行速度比SparkSQL和Greenplum快近100倍。

Inceptor 还会对数据重分布和广播的逻辑进行调试优化。Inceptor Holodesk是一个基于SSD或内存的列式存储引擎,能提供非常高的数据读取速度。此外,Inceptor会考虑基于成本的优化和基于规则的优化来为执行任务选择最佳执行计划。这些特性有助于Inceptor提高其批量处理过程的效率和扩展性。在TPC-DS各个数据量级别的测试中,Inceptor都有非常好的表现。


事务支持

Transwarp Inceptor 是Hadoop业界首个提供完整的事务支持的产品。它实现了串行化的事务隔离,并通过两阶段锁和MVCC协议保证数据的一致性。并且,Transwarp Inceptor的性能已经可以满足绝大部分批处理场景的性能要求。

和其他技术方案相比(如右表),无论在事务的ACID特性还是CRUD支持上,Inceptor和Oracle是比较相近的,而Hive和Impala都只是非常少的支持部分功能,完全不能适应生产的要求。


调度器 - SLA scheduler

SLA Scheduler是在TDH 5.0版本首次发布的调度器。很多用户在使用一个Inceptor集群同时做批处理和数据分析业务时会遇到这样的问题,很多延时长、资源消耗大的批处理任务会阻塞优先级高但是更计算量很小的分析业务。而SLA scheduler通过优先级区分、不同的pool隔离等方式来实现专道专用。它可以解决混合负载情况下的重任务阻塞小任务的问题。

左侧是调度器的总体架构,它包含一个策略分析模块和一个策略下发模块,通过实时获取的用户和系统负载信息来给下方的SQL任务选择合适的pool,以及对应pool上优先级、资源权重等。新的Furion Scheduler比FAIR Scheduler提供更好地调度策略,可以更细粒度,并且对权重和用户策略感知,从而提供更灵活的调度功能。

在SLA scheduler的支持下,Inceptor可以很好地处理各种混合负载情况下的应用部署,用户也可以更加方便的规划系统的业务。