除了性能优势,Holodesk在可用性方面也表现出色。Holodesk的元数据和存储都原生支持高可用性,通过一致性协议和多版本来支持异常处理和灾难恢复。在异常情况下,Holodesk能够自动恢复重建所有的表信息和数据,无需手工恢复,从而减少开发与运维的成本,保证系统的稳定性。
Inceptor重点优化了基于SSD的Holodesk性能,使得基于PCIE SSD的性能达到全内存的方案的80%以上。因此结合使用低成本的内存/闪存混合存储方案,可接近全内存存储的分析性能,保证解决方案的高性价比。
分布式执行引擎 Distributed Execution Engine
Inceptor基于Apache Spark深度开发了专用分布式计算引擎,不仅大幅提高了计算性能,而且有效的解决了Spark在稳定性方面的很多问题,确保计算引擎能够7x24小时无间断运行。此外,Inceptor引擎独立构建了分布式数据层,将计算数据从计算引擎JVM内存空间中独立出来,因此可以有效减少JVM GC对系统性能和稳定性的影响。
在SQL执行计划优化方面,Inceptor实现了基于代价的优化器和基于规则的优化器,辅以100多种优化规则,可以保证SQL应用在无需手工改动的情况下能够发挥最大的性能。对于数据倾斜等常见的数据处理难题,执行引擎也能够自动识别并加以优化,能够解决绝大部分存在数据倾斜的计算场景,杜绝数据倾斜对系统稳定性的影响。
为了更好的适应各种数据场景,Inceptor的执行引擎包含两种执行模式:低延时模式和高吞吐模式。低延时模式主要应用在数据量比较小的场景,执行引擎会生成执行延时低的物理执行计划,通过减少或避免一些高延时的任务(如IO,网络等)来保证SQL的执行时间很短,达到或者逼近关系型数据库在这些场景下的性能。高吞吐模式主要应用在大数据的场景,通过合理的分布式执行来提高超大数据量上的复杂统计分析的性能。因此,Inceptor的执行引擎可以满足从GB到PB的各种数据量上的数据业务需求。