星环科技打造自主可控的高性能数据库,开启国产化升级新篇章
星环科技自成立以来,一直致力于国产化数据库的自主研发,打造了自主可控的高性能分布式分析型数据库 ArgoDB 和分布式交易型数据库 KunDB。交易型数据库 KunDB 具备较强的 SQL 兼容性,同时具备高可用、高并发、在线扩缩容、数据强一致性等能力,适用于操作型业务、高并发业务等场景。多模型数据库 ArgoDB 具备完整的 SQL 兼容性,同时具备高扩展、高可靠、多模型、存算解耦等能力,一站式满足数据仓库、实时数据仓库、数据集市、OLAP、联邦计算等场景。
通过不断的打磨和对业务场景不断的落地实践,ArgoDB 和 KunDB 已成为具有完全自主知识产权的成熟的国产数据库,能够为更多的客户提供高性能、高可靠、成熟的数据库产品服务,帮助用户应对智能数据时代海量数据的分析与探索。
近日,星环科技正式发布了 ArgoDB5.0 和 KunDB3.0,并将其结合打造了一体化实时 AETP 技术(分析增强型交易库),在一个数据库系统里同时支撑交易与分析混合型业务场景,助力数据库国产化升级
ArgoDB5.0:存算引擎双升级,打造高性能湖仓集一体化多模型数据库
Transwarp ArgoDB 是星环科技自主研发的面向数据分析型业务场景的国产化分布式多模数据库,能够一站式替代 Hadoop+MPP 混合架构,提供多模分析、实时数据处理、存算解耦、混合负载、数据联邦、异构服务器混合部署等先进技术能力,一站式满足数据仓库、实时数据仓库、数据集市、OLAP、联邦计算等各种需求。2019 年 8 月,ArgoDB 成为全球第四个通过 TPC-DS 基准测试并经过 TPC 官方审计的数据库产品。
ArgoDB5.0 打造了新一代向量化计算引擎和多模型存储引擎,整体分析性能大幅度提升。ArgoDB5.0 进一步加强了多模型数据的支持能力和处理能力,通过一个数据库就可以满足更多数据模型处理和不同模态数据关联。同时,ArgoDB5.0 引入 DP-SQL 能力,实现对数据的隐私保护,满足数据发布、流通、脱敏、查询、交易等场景下的数据安全要求。在数据资产安全保障上,5.0 版本继续加强了数据容灾备份能力,通过细粒度、高并发、高效率的容灾备份能力,进一步提升数据安全保障能力。此外,ArgoDB 5.0 进一步加强数据湖和数据仓库/数据集市等业务面的技术革新,增强湖仓集融合能力,通过统一访问接口、统一存储、统一元数据管理等能力,真正意义上为用户提供湖仓集一体化的场景解决方案。
新一代向量化计算引擎和多模存储引擎,分析性能是同类数据库产品的 2~10 倍
ArgoDB 5.0 在原高效的计算引擎之上,将计算算子全向量化 native 改写,使得高并发复杂分析在百毫秒内反馈结果,将优化器中引入数据的动态采样,全面支持多种 join 的重写。同时结合业务场景,优化场景化能力,重点在湖仓一体的 SQL 管理上进行了优化,并且新增隐私计算能力和数据动态脱敏能力,增强数据联邦场景中 SQL 语句算子下推能力等。
在存储引擎方面,ArgoDB 5.0 继续深耕分布式存储框架与列式存储引擎的优化,在降低业务资源消耗的同时提升多模型能力和业务性能。相对于上一代批量扫描性能提升了 10 倍以上,同时降低业务 SQL 资源(IO 等)的使用,提升系统稳定性和业务效率。对于实时数仓场景,数据延迟控制在毫秒级,并且支持高并发分析。在大集群场景下,支持百万级别的表和百万级别的元信息管理,稳定性进一步提升。
基于存算双引擎的升级,ArgoDB 5.0 在性能上有大幅度的提升,尤其是 OLAP 分析场景下的性能提升,无论是单表查询还是多表关联场景,ArgoDB 都具备有明显的性能优势,整体上是同类数据库产品的 2-10 倍,帮助用户更快、更稳定地应对复杂多变的业务需求。
多模数据融合分析,更高效地满足”一库多用“场景
随着业务数据量不断增长的同时,数据结构也变得越来越灵活多样,数据不再局限于规整的结构化数据,半结构化、非结构化数据在数据域处理中的占比逐年上升,因此对不同模态的数据进行智能化数据处理的需求越来越迫切。
多模型数据库 ArgoDB 继 3.2 版本新增支持大对象数据类型 Blob 和 Clob,用来存储、查询和处理图片、电子文档、音频、视频等非结构化数据后,ArgoDB 5.0 新增对半结构化的 JSON/JSONB/XML 数据类型的支持,满足了更多数据模型处理场景和更多复杂业务需求。
同时,ArgoDB 5.0 进一步加强了对多模态数据的处理能力,在优化器上进一步深耕,对不同模态数据基于代价/规则等自动判断选择合理高效模型,拆分、分发计算任务,让数据处理更加快捷和高效。
在架构上,ArgoDB 基于存算解耦,实现了多模数据库的“四个统一”:
统一的 SQL 编译引擎,支持 SQL 99/2003 标准语法,兼容 TD,Oracle,DB2 等多种方言,对不同模式的数据提供统一接口,将多个操作访问入口变为一个入口,将多种数据库语言变为一种语言,降低开发和迁移成本,简化用户操作。
统一的计算引擎,将多套计算引擎变为一套引擎,将多份计算资源变为一份资源,提供高性能的分析计算和执行效率,满足跨模型数据复杂关联分析场景。
统一的存储管理系统,同时支持分析型行列混合存储、支持具有搜索功能的文本存储等多模异构存储,并保证数据的强一致性,数据只需一次入库,即可通过异构存储的访问能力支撑多样化复杂分析场景,降低运维成本,将分散存储管理变为统一存储管理,极大简化系统架构,减少开发运维成本。
统一的星环云原生操作系统,支持 ARM+X86 的混合架构,用户可以利旧硬件,大幅降低成本。
ArgoDB5.0 通过统一的元数据管理、统一的事务管理和完备的多模优化器支撑了对不同模态数据的统一读取调度,实现多模态融合,满足更多“一库多用“场景。
创新型数据差分隐私,强化数据安全
数据处理与数据安全是不可分割的,如何对个人数据的有效保护是在数据处理、数据公开、数据发布中不可绕开的一个话题。隐私保护是基于差分隐私的密码学方法,在统计数据库查询时,旨在保证数据查询的同时,最大程度减少识别个体数据的机会。
ArgoDB 5.0 版本结合数据隐私安全的业务诉求,引入 DP-SQL 能力,实现对数据的隐私保护,满足数据发布、流通、脱敏、查询、交易等场景下的数据安全要求。在交互式场景下,数据管理者可以按需对查询请求数据集合添加必要的干扰(即:噪声)后反馈给用户;在非交互式场景下,数据管理者可以按需针对所有可能的查询,在满足一定条件下一次性发布相关查询数据(即添加噪声后的“净化版”数据)。
ArgoDB5.0 将隐私计算与数据库技术相结合,支持复杂分析 SQL 自动优化,易于开发人员使用。同时将加密协议结合 SQL 优化技术,相较于 python 级别实现执行效率更优,支持更大数据量的隐私计算。
打破数据壁垒,增强湖仓集融合
随着数据与业务的并行发展,对数据的融合分析处理逐渐成为数据库技术发展趋势。当数据仓库与数据湖数据集市协同处理时,带来的是数据孤岛的打破,以及数据计算边界的拓宽。
ArgoDB 5.0 版本进一步加强数据湖和数据仓库/数据集市等业务面的技术革新。在同一平台中,避免数据移动,将原始的、加工清洗的、模型化的数据,共同存储于一体化的“湖仓集”中,既能面向业务实现高并发、精准化、高性能的历史数据、实时数据的查询服务,又能承载分析报表、批处理、数据挖掘等分析型数据集市业务,真正意义上为用户提供湖仓集一体化的场景解决方案。
通过 ArgoDB 打造的湖仓集一体化方案,用户可以基于统一访问接口最大程度上降低数据湖、数据仓库、数据集市业务过程中业务接口的调整,降低用户开发成本,提高数据处理效率。统一的元数据管理可以在精准的 ACL 控制下,实现按需展示湖仓集内的相关元数据的统一查询,提高数据管理效率。统一存储管理,对使用者屏蔽不同数据源的数据存储,降低业务数据管理难度。此外,基于 ArgoDB 打造的湖仓集一体化方案可以无缝衔接 AI 技术,帮助业务挖掘更多数据价值。
KunDB3.0:高度兼容 Oracle 语法和 PL/SQL, 实现 OLTP 数据库国产化升级
Transwarp KunDB 是星环科技基于分布式技术自主研发的国产化的交易型数据库,提供完整的关系型数据库的能力,高度兼容 SQL,保证事务 ACID。KunDB 具有业内领先的事务处理性能,SQL 兼容性以及最新的分布式查询优化技术,支持复杂查询且性能是 MySQL 的 10 倍以上,充分满足高并发、大数据量的交易型业务场景,能够实现 MySQL,Oracle 等传统主流数据库的国产化替代。独特的混合部署技术支持主流国产化 CPU 等自主可控的硬件平台和 OS 部署,满足国产化部署需求。此外,KunDB 提供全链路高可用、一致性备份恢复等容灾能力,以及完备的安全管理、资源管理能力,可以为不同业务场景保驾护航。
KunDB3.0 高度兼容 Oracle 对象与语法,基于创新的过程语言编译技术,完整支持 Oracle PL/SQL 语法,大大降低企业国产化迁移成本。通过丰富查询优化规则和算子进一步增强查询优化器,并结合全新的向量化执行引擎使得分析性能在 TPCH 基准测试中较 MySQL 最高优化 80 倍。在事务处理能力方面,相较于 KunDB2.0 采用的全局事务管理器 GTM 方案,KunDB3.0 采用基于 TSO 的全新分布式强一致事务处理框架,进一步提升分布式事务处理能力,事务处理上限达 300 万 TPS,较 GTM 方案提升 5 倍以上。同时 KunDB3.0 也对存储层性能和分布式架构做了持续优化,单机 TPCC 提升了 1 倍,分布式 TPCC 提升了 60%。在容灾能力方面,KunDB3.0 优化了跨机房容灾架构,支持全链路高可用、一致性备份恢复等能力,故障时可恢复过去任意时间点,充分保障数据安全。此外,KunDB3.0 采用了基于分析引擎增强分布式事务处理引擎技术(ATEP),大幅提高了 KunDB 的数据分析能力,通过一个系统就可以同时提供高性能 AP 和 TP 服务能力,满足交易与分析混合型业务场景。
高度兼容 Oracle 对象与语法,完整支持 Oracle PL/SQL
KunDB3.0 对 Oracle 语法各个方面高度兼容,成为业内领先的具备支撑 Oracle 业务迁移能力的国产数据库。KunDB3.0 高度兼容 Oracle 语法与 PL/SQL,支持 VARCHAR2、NVARCHAR2 等全部类型,在 PL/SQL 语法上,支持控制语句、集合、动态 SQL、子程序、预定义包、错误处理等全部 PL/SQL 语法,解决了 Oracle 业务迁移到国产化数据库的核心痛点,为其它兼容性完善提供了基础。在 Oracle 数据库对象、DML、函数、系统视图、内置包、驱动等方面,做到了常用功能的兼容,满足大部分业务的迁移需求,极大降低了企业业务迁移成本。
KunDB3.0 采用创新的过程语言编译技术及中间优化语言 TIR,完整支持 Oracle PL/SQL 语法,并在 4 类技术场景实现创新和性能提升。
为了支持多个数据库方言,传统解释器方式导致重复工作量会很大。KunDB3.0 通过统一的中间优化语言 TIR,表达任意的过程式语义及 SQL 语义,支持 multi pass 编译与 LLVM IR 组合,低偶合、低成本的扩展不同数据库 PL/SQL 语法体系
传统技术将 PL/SQL 翻译成函数执行方式,没有控制流代码优化空间。KunDB3.0 通过转译 LLVM,将 PL/SQL 转为底层语法,可以与 llvm 的 multi pass 优化结合,增加代码优化规则,从而优化存储过程的执行
传统翻译成函数执行的方式,无法进一步实现编译执行。KunDB3.0 引入统一表达式处理引擎技术,SQL 与 PL/SQL 可复用编译优化,实现方式上比 Oracle 更加简洁,同时节省了开发成本
传统的异常处理无法实现零开销。KunDB3.0 参考 LLVM 的 landing pad 技术,实现零开销的异常处理系统。
全新的查询优化器和向量化执行引擎,复杂分析性能提升 10 倍
KunDB 从 2.0 到 3.0 的迭代中,为了更加友好的支持跨分片的复杂查询分析,提升 AP 能力,KunDB 基于火山模型重新设计了查询优化器,面向分布式存储丰富了查询优化的规则,包括了分片下推、子查询去关联化等十多种查询优化规则,相应的扩展和优化了 block hash join、Index Lookup Join 等二十多个算子,TPCH 子查询性能相比于 KunDB2.0 均有大幅度提升,最高提升了近 20 倍。
KunDB3.0 使用了全新的向量化执行引擎,在内存中使用列存储的方式对数据进行转换存储后再进行计算,相比于内存行式数据管理,在内存资源占用、分析函数实现、表达式求值性能、压缩支持上都更加具有优势。另一方面,执行引擎基于多协程技术,采用了基于流水线的并行处理框架,支持并行的数据扫描、算子间数据交换、算子计算、结果集返回等全链路过程,对于数据可分拆执行的场景,性能有大幅提升。同样的数据规模下以 TPCH 测试为参考,KunDB 分析性能较 MysQL 有大幅度提升,22 个 Query 最高性能提升可达到 MySQL 的近 80 倍。
基于 TSO 的全新分布式强一致事务处理,集群事务处理能力提升 1 倍
在分布式事务处理上,KunDB3.0 使用基于全局时间戳的事务处理框架来代替 2.0 的全局事务管理器 GTM 方案。分布式层引入了 TSO 服务器分配时间戳,采用 XA 协议和时间戳优化 2PC 保证分布式原子性写,分布式事务开销降低 50%。基于事务提交时间戳可做到副本全局一致性读,实现保证事务的读写分离。存储层可基于当前时间戳和数据时间戳做全局一致性读判断,不依赖全局快照,性能更高,减轻中心化风险。KunDB3.0 集群的事务处理上限提升了 6 倍,达到 300 万 TPS,完全满足头部互联网业务场景的性能需求。
此外,KunDB3.0 也对存储层性能和分布式架构做了持续优化。存储层采用了面向内存的数据存储与管理、无锁内存索引技术、悲观与乐观结合的并发控制技术、并行查询技术,实现了存储层性能接近 1 倍的提升。结合分布式层在通信链路优化为基于 MySQL 协议的通信,放弃了高开销的 grpc 通信;元数据存储的改造为高吞吐的关系型存储,以及减少组件、管理组件精简为一个全局服务,优化了分布式层的开销。在 4 分片的拓扑下,TPCC 性能较 2.0 提升了 60%。
跨机房容灾架构,任意时间点全局一致性恢复
在容灾方面,KunDB 优化了跨机房容灾架构,支持全链路高可用和全局一致性恢复。计算引擎完全无状态,扩展便捷,可实现多节点部署;存储引擎支持主备/Paxos 复制,支持故障时主备切换;元数据服务也都是基于多数派协议支持故障时自动选主,实际部署时避免了单节点部署的风险。通过跨机房的副本数据强同步,保证了机房级故障时,恢复点目标 RPO=0。
通过副本可读技术,最大化利用每个角色提升系统吞吐,并且支持基于业务负载和组件健康状态的路由变化,提升系统稳定性。
KunDB3.0 支持物理备份与实时 binlog 备份,故障时可恢复过去任意时间点。新增的一致性备份恢复能力,基于时间戳信息保障数据库恢复到最新的一致性点,避免了分布式数据库恢复后需要人为参与事务点对齐的难题。各分片独立并发备份,每分钟完成数 GB 数据备份,在高并发核心系统中,能够有效降低备份对业务的影响。
保证全局事务的一体化实时 AETP,同时提供高性能交易与分析服务能力
中国信通院 2021 年数据发展研究报告中指出,企业通常维护不同数据库来支持联机事务处理(OLTP)与联机分析处理(OLAP)任务,管理和维护成本高。基于创新的计算存储框架的 HTAP 数据库,能够基于同一套引擎同时支撑业务系统运行和分析决策场景,避免在传统架构中,在线与离线数据库之间大量的数据交互,成为未来数据库发展的趋势之一。
KunDB3.0 采用了基于分析引擎增强分布式事务处理引擎技术(ATEP),大幅提高了 KunDB 的数据分析能力,通过一个系统就可以同时提供高性能 AP 和 TP 服务能力。
对外提供统一的 SQL 引擎作为统一入口,简化用户操作,数据在库内即可自动同步、转换,不需要繁琐的 ETL 组件和 ETL 过程,数据无需出库即可完成计算。同时提供统一数据类型和方言支持,将多种数据库语言变为一种语言,大大降低开发和迁移成本。
针对不同程度的分析负载,通过全局优化器自动识别 SQL,利用不同的引擎进行处理,TP 引擎和 AP 引擎根据工作负载做自动路由和自动查询优化,如针对复杂加工逻辑,则使用 AP 引擎分布式计算能力直接读取 KunDB 上的数据进行复杂计算;针对高并发明细检索,则使用 TP 引擎提供服务。
使用行列混合存储方案,列存提供给 AP 引擎支持高性能分析,同时列存作为 TP 库的只读副本,实时从行存同步事务最新数据库,延迟低于 10s,保证了数据分析的时效性和全局一致性读。
对于已经部署了 ArgoDB 或 KunDB 的用户,可以直接升级到 AETP 数据库,无需改造业务和数据库的交互方式,实现快速平滑升级。
通过不断的打磨和对业务场景不断的落地实践,星环科技关系型数据库 ArgoDB 和 KunDB 已经在金融、政务、能源、医疗、交通等多个行业应用,成功替代 Oracle、MySQL 等传统业务数据库。未来,星环科技将继续深耕数据库领域,通过不断的技术创新和应用创新,为用户提供更完备功能,更高性能、更稳定可靠的国产化数据库产品。
评论