星环科技自成立以来,一直致力于国产化数据库的自主研发,打造了自主可控的高性能分布式分析型数据库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等传统业务数据库。未来,星环科技将继续深耕数据库领域,通过不断的技术创新和应用创新,为用户提供更完备功能,更高性能、更稳定可靠的国产化数据库产品。