产品简介
claims(cluster-aware in-memory sql 查询引擎)是一个并行的内存数据库原型,它在商品服务器集群上运行,并提供对关系数据集的实时数据分析。
得益于智能和大规模并行性以及内存数据处理优化,claims 在对 tpch 数据集和上海的查询中比开源社区中的两个最先进的系统 shark 和 impala 快 5 倍证券交易所数据集。
产品特点
1. 大规模并行执行引擎。
claims 依靠高度并行的查询处理引擎来显着加快数据分析速度。查询评估不仅分布在集群中以利用集群的计算能力,而且还以多线程方式执行以释放现代多核硬件的能力。
2.智能节点内并行。
在集群中的节点之间流水线化查询执行有效地减少了响应时间,并显着节省了中间查询结果的存储空间。但是,当由于生成的查询执行计划不正确而导致执行分区之间的工作负载不平衡时,它的好处会大大降低。为了解决这个问题,一种新颖的弹性查询处理框架,即弹性流水线,在 claims 中提出,它基于精细的性能模型,根据运行时工作负载调整节点内并行度。得益于弹性流水线查询处理,流水线中不同执行片段的并行性是自适应的,从而产生最佳的节点内并行分配。有关弹性流水线框架的更多详细信息,请参阅我们的 sigmod 论文。
3. 高效的内存数据处理。
claims 采用大量优化技术来实现高效的内存数据处理,包括一次批处理、缓存敏感运算符、基于 simd 的优化、代码生成、无锁和并发处理结构。这些优化协同工作,使 claims 能够在单个线程上每秒处理高达千兆字节的数据。
4.网络通讯优化。
并行查询处理给网络通信带来了很大的负担,由于网络带宽相对较慢,这通常成为内存并行数据库的性能瓶颈。在将用户查询编译为执行计划时,claims 的查询优化器利用复杂的选择性传播系统和成本模型来生成具有最小网络通信成本的物理查询计划。此外,claims 部署了一个新的数据交换实现,它在 claims 实例之间提供了高效、可扩展且具有倾斜弹性的网络数据传输。这些优化大大减少了各种查询的响应时间。
所属团队
华东师范大学数据科学与工程学院
相关资料
claims 开源地址:https://github.com/dase/claims