乐趣区

关于数据库:星环-KunDB-22-发布为高并发事务与查询混合的业务系统提供一个新选择

近日,星环科技分布式交易型数据库 Transwarp KunDB 正式推出 2.2 版本。新版本内核带来了要害能力降级,次要包含:

●反对与星环大数据根底平台 Transwarp Data Hub 和分布式剖析型数据库 ArgoDB 间接 SQL 互操作,通过对立的 SQL 引擎可将数据间接写入 KunDB,以及从 KunDB 做数据分析,进一步欠缺了 TDH 的多模型反对能力;

●分布式数据库内置了新的执行器引擎,能够解决跨 Shard 的数据分析和检索能力,在架构上通过列式数据结构、多协程技术算子内并行和流水线计算模式来晋升检索与剖析性能;

●查问 SQL 的兼容性进一步晋升,新增 APPLY、CTE、两头后果物化等算子,并反对子查问去关联化,从而欠缺子查问、公共表达式、大表关联查问等 SQL 的反对,能够残缺运行 TPC- H 等基准测试;

●新增多级数据分区能力,通过 DDL 指定规定数据可在分片根底上进行二次分区存储,即先分片存储,再分区存储。

KunDB 次要面向高并发、大数据量的交易型业务场景,随着 KunDB2.2 的推出,对分布式查问剖析类的 SQL 的反对和性能进一步晋升,实用于大数量下的数据集市业务。某头部医疗信息化公司围绕临床数据中心服务,构建围绕医院临床、科研、教育、治理服务,通过对数据的迷信、正当、无效利用反哺医教研管。在医院的 CDR 典型场景,采纳星环 ArgoDB+KunDB 造成了联结数据解决方案。临床数据中心的数据由 ArgoDB 对实时数据进行加工、解决,局部后果实时输入至 KunDB,提供给医生进行医疗信息并发查问服务。1000 并发下,多种维度数据查问申请 KunDB 均可毫秒级响应,无效满足医院问诊效率晋升。

上面咱们一起来揭晓新版本的全新产品体验。

全新个性加持:分布式技术创新,数据库体验更加丰盛

新个性之一:反对与星环 TDH 的组件关系型剖析引擎 Inceptor 和分布式剖析型数据库 ArgoDB 间接 SQL 互操作

星环关系型剖析引擎 Inceptor 和分布式剖析型数据库 ArgoDB,可为用户提供 PB 级海量数据的高性能剖析服务。本次 KunDB 2.2 版本升级能够跟 TDH/ArgoDB SQL 引擎互操作,为用户提供更大的便当。KunDB 作为 TDH/ArgoDB 另一类存储引擎,反对定义表存储类型为 KunDB,反对 INSERT INTO…SELECT 语句主动将数据批量写入 KunDB,或者通过 SELECT 语句把 KunDB 的数据拉取到计算引擎中实现分布式计算返回给业务。通过 TDH/ArgoDB 对立 SQL 引擎与 KunDB 进行交互,利于 TDH/ArgoDB 跟 KunDB 组成数据仓库 + 高并发数据集市一站式解决方案。

该新个性的加持,TDH/ArgoDB 用户能够在数据不出数据库的状况下,对 TDH/ArgoDB 的其它存储引擎中的数据分析后将后果转储到 KunDB,应用 KunDB 作为高并发查问业务的数据库存储引擎。或者借助 TDH/ArgoDB 引擎,对 KunDB 中的最陈腐的业务数据间接进行简单剖析,而不须要 ETL 过程。对于已应用 TDH/ArgoDB 的用户,不须要变更业务层跟数据库交互方式,就能够兼顾简单剖析、高并发查问等业务场景的需要。

新个性之二:多级数据分区反对

KunDB 2.2 版本提供了数据分区的反对,KunDB 分片存储语句应用的 PARTITION BY 语句,2.2 之后调整为 DISTRIBUTED BY 子句标识数据分片规定,同时 PARTITION BY 子句用于数据分区的规定。从而反对数据在多个分布式存储节点上能够分片 + 分区二级存储,跟存储层的表分区买通。

该个性一方面兼容了 MySQL 的分区表语法,另一方面数据分布的粒度反对分片和分区两级,可依据业务数据特征选择不同的字段和规定别离进行更加细粒度的治理,对数据管理的灵活性和查问性能都有晋升。

新个性之三:迭代器模式执行器

KunDB 2.2 的执行器采纳了迭代器模式,将常见的计算形象成根本算子并定义各算子之间的数据接口,SQL 执行合成为算子的迭代计算形式,数据以 chunk 模式,而非单行模式在算子间流转。迭代器架构清晰,算子性能内聚,可针对不同算子进行针对性优化解决。迭代器模式扩展性好,针对新的计算模型可形象成新的算子。在 KunDB2.2 中已反对 Block Hash Join、Index Lookup Join、Nest Loop Join、Hash Aggr、Quick Sort、Apply、Union、Projection、Selection、Limit、Table Scan、Max1Row、CTE 等算子。

在此基础上,KunDB2.2 欠缺了分布式模式下对 MySQL 查问类 SQL 的兼容反对,并在性能上晋升。在上述医院高并发数据集市案例中,所有聚合查问、关联查问等简单查问类 SQL 均达到了毫秒级响应。

新个性之四:子查问去关联优化

通过代数实践,子查问可等价转换为关联查问,计算深度缩小,可抉择更多的关联算子,执行打算更加灵便。与传统的子查问相比,转换为关联查问的执行代价更低,并可屡次优化达到性能最优。后果上,SELECT、FROM、WHERE 等子句的子查问性能均得以大幅度晋升,并反对了 UPDATE、JOIN 条件子句中应用子查问。TPCH 10GB 数据规模的测试后果中,Q4、Q7、Q8、Q9、Q11、Q13、Q15 等带有子查问的 SQL 均在 1 分钟内实现,与 MySQL 相比性能最高晋升了 20 倍。

新个性之五:反对内存列式计算

KunDB 中内存中对后果集转换成列式构造缓存,反对所有数据库类型的行列转换。相比于传统的行式计算模型,列式计算引入自适应压缩,基于压缩后编码间接计算,内存耗费升高 50% 以上,而执行工夫不会劣化。

尤其是基于列的表达式计算,没有逐行解析的开销,节俭了大部分的函数调用。数值类型算术运算符通过内存列式计算形式,与内存行式计算相比,性能最高晋升 50 倍。

新个性之六:计算与存储层通信优化

在之前的版本,KunDB 查问执行器与存储节点的通信采纳的 gRPC 形式,即 SQL 引擎 KunGate 与 KunTablet 服务通信,KunTablet 与存储节点通信。KunDB2.2 开始 KunGate 在 SQL 执行时能够采纳 MySQL Protocal 形式与存储节点间接通信。KunTablet 只负责存储节点的状态监控,与存储层的连贯治理、执行治理都在 KunGate 层实现。

通信链路缩小,SQL 执行的提早大幅升高,以 TPCC 基准测试为参考,性能晋升 50% 左右。

新个性之七:两头后果集物化存储

在 HASH JOIN 和 SORT 算子计算过程中,两头后果超过固定阈值(默认 100 万条)记录时,KunDB 执行器可将两头后果以列式形式压缩落盘文件,避免消耗大量内存资源影响数据库服务的稳定性。计算后落盘文件能够主动清理,两头后果长期落盘的记录数阈值能够通过参数设置。对于亿级的表关联查问,也可保障内存不会因两头后果集过大而呈现 OOM 的状况。

新个性之八:优化器逻辑优化规定欠缺

KunDB2.2 优化器累计实现了下推、子查问去关联化、列裁剪、表达式和条件评估、谓词下推、TopN 下推、聚合下推、关联重排序、HINT 等查问优化规定。基于优化规定,对于关联查问、关联排序均可不同水平的下推执行,晋升了 SQL 执行的并行度,并且缓解了 KunGate 的内存压力。以 TPCH 中的 Q4 查问 SQL 为例,KunDB2.2 通过逻辑优化后,执行打算更加的简略高效。

以 10GB TPCH 为例,通过优化后的 SQL 执行效率较 MySQL 都有大幅晋升。

※其中 Q17 和 Q20 因 MySQL 10 分钟无后果,取 10 分钟作为执行工夫。

新个性之九:跨连贯的执行打算缓存

KunDB 2.2 SQL 引擎革新了执行打算缓存的机制,将用户会话中执行的 SQL 解析后果和执行打算缓存在内存中,给其它连贯或者同一连贯后续的 SQL 执行做复用。其它连贯后续有雷同的 SQL 申请时,主动找到缓存的 SQL 与执行打算,通过缩小编译和优化的工夫,晋升 SQL 的性能。在某金融行业 TP 业务中,该技术对于简略查问类申请执行工夫节俭了 50%。

新个性之十:执行器反对多协程并行

传统的迭代器模型,通过算子提供的接口治理 SQL 执行的生命周期。大量接口调用带来了开销,算子外部采纳多线程有会频繁线程切换开销。KunDB2.2 执行器采纳了基于协程的并行执行技术,每个算子作为主协程,算子内开启多个子协程并行,应用生产者 - 消费者多个面模型实现了算子间的并行。内存耗费、并发切换开销、算子调用开销均大幅升高,而且算子间解耦产生更灵便的执行模型。

要害能力优化晋升:反对 10w+ 数据库对象,事务处理性能、MySQL 兼容性、关联工具能力全面晋升

●元数据服务革新,重构了元数据管理组件,采纳了高并发一致性存储计划,反对至多 10 万以上的数据库对象且性能不会劣化。

●事务处理能力大幅晋升,以 TPCC 为例,较上个分布式版本 tpmC 晋升 60%。

●MySQL 兼容性继续加强,新增了 CTE 语法、近 40 个函数的反对,扩大 DQL、SET、ROLE 等语法的欠缺。

●关联工具能力全面加强,次要是数据导入导出、备份复原时,压缩、加密等性能的丰盛和性能晋升,其中全量数据导出工具联合存储层直方图性能晋升了 2 倍以上。

国产化能力降级:国产数据库生态完更加欠缺

KunDB 是星环科技自主研发的国产数据库,反对支流国产化 CPU(龙芯、飞腾、鲲鹏等)等自主可控的硬件平台和 OS 部署(UOS、中标 / 河汉麒麟、华为欧拉等),反对西方通、宝兰德等企业中间件,数据库同步工具迪思杰、TapData 等。确保数据信息的平安,在用户认证、自主访问控制(DAC)、链路与数据加密、操作与 SQL 审计等方面提供数据库的多维度平安爱护,严格保证数据和业务的安全性和完整性。继 KunDB Server 和导入导出工具之后,KunDB 的备份还原工具 KunDR 也反对了国产 SM4 加密算法,所有 KunDB 存储相干的组件都反对国产加密算法。

目前,KunDB 凭借杰出的产品实力通过了中国人民银行分布式数据库合乎性认证测试,进行了 337 检测我的项目的验证,笼罩了数据库性能、平安、劫难复原、性能等方面,曾经在政府、医疗等多个行业中落地,其中与星环科技分布式剖析型数据库 ArgoDB 造成的联结医疗解决方案曾经在全国范畴内多家三甲医院落地施行。

退出移动版