(一)
前言
据统计,在信息化时代的今天,人们一天所接触到的信息量,是古人一辈子所能接收到的信息量的总和。当今社会中除了信息量“多”以外,人们对信息处理的“效率”和“速度”的要求也越来越高。譬如,对于很多企业决策者来说,在当前的经济形势下需要尽一切可能降本增效。过去每周看看经营报表的习惯,现在慢慢转变为利用实时可视化的方式来随时分析企业当前的经营状况。
数据库作为信息的核心载体,在过去的半个世纪中,基本设计理念一直是“请求发送+结果返回”的模式。这个机制直接被Apache Storm、Spark Streaming、Flink等流处理框架所借用。
但是,所有对实时数据处理的能力,都是建立在数据库引擎之外的。真正与数据贴合最为紧密的数据库产品,在过去的20年中并没有充分发挥自己的能力。它们还在使用最传统的方式对记录进行一条条预处理,需要经常从外部实时调取额外数据进行手工关联,对开发和运维的负担极大。
因此,数据库融入流式数据处理能力,通过SQL+触发器对实时数据的处理逻辑与拓扑进行定义,是这几年行业中提出的全新课题。
近几年,国外多家企业开始了这方面的尝试,力争大幅度降低未来实时应用的开发难度与运维复杂性。实际上,国内也已经有厂商基于自身技术积累,和对未来应用场景的准确把握,逐步将流式数据处理能力融入到数据库产品中。亚信科技AntDB数据库就是其中具有典型性的代表,也是国内为数不多的,率先研发并具备“超融合+流式实时数仓”能力的数据库。
(二)
超融合架构,打造分布式数据库新纪元
上一个十年,随着国内金融、互联网行业高速发展,谈国产数据库,必谈分布式与云计算能力。其带来的数据规模大,查询复杂度高、关联度高等业务需求,使分布式数据库逐渐发展成熟,并具有平滑扩展、高可靠、低成本等特性优点;而数据库等基础软件的服务方式向云化发展,有利于降低数据库运维成本,灵活调度资源。
在下一个十年,“数智化转型”是推动经济社会从“量增”到“质变”的快速路。用户对数据库的需求日益精细化,从技术底层支撑多业务的系统架构,将越来越受到企业侧的青睐。在此背景下,多引擎数据库的融合能力开始出现,HTAP、湖仓一体、流批一体等都是这个趋势的先行者,即超融合。
图:AntDB数据库超融合框架
亚信科技AntDB数据库提出了全新的“超融合”理念,即将多引擎、多能力融合在一起,满足企业越发复杂的混合负载场景与混合数据类型业务需求。AntDB的超融合框架,能够充分利用分布式数据库引擎的架构优势,在HTAP概念上进行进一步拓展,将时序存储、流处理执行以及向量化分析等多引擎进行统一架构封装。
在同一个数据库集群支持多种业务模型,支持多样化的数据需求,大大降低业务系统的复杂性,实现统一框架下的“一站式数据管理”。
(三)
流式处理引擎,颠覆50年未变的数据库内核
流式处理的概念
2001年9月11日,美国世贸大楼被袭击,美国国防部第一次将“主动预警”纳入国防的宏观战略规划。而IBM作为当时全球最大的IT公司,承担了大量基础支撑软件研发的任务。其中2009年正式发布的IBM InfoSphere Streams,就是全球最早真正意义上的商业化流数据处理引擎之一。
典型的流处理框架,如Apache Storm、Spark Streaming、Flink等也都是基于IBM的设计理念,采用“请求发送+结果返回”的模式进行了研发,并大量应用于实时互联网类型的业务中,对前方产生的海量事件进行实时预处理。
Gartner在《2022中国数据库管理系统市场指南》中,将流处理定义为:涉及对“事件”(event)的观察和触发,通常在“边缘”采集,包括将处理结果传输至其他业务阶段。并将在未来五年中,获得更多关注。
图:Gartner对于流/事件处理的定义
传统部署架构的痛点
但是,不论Apache Storm、Spark Streaming、还是Flink等流处理框架的设计,都是将目光集中在“处理”本身。由于其自身不具备数据库的能力,当需要与其他数据进行关联、临时存储等互动时,则需要进行复杂的数据抽取。这使得大量的开发人员,还需要编写复杂的Java/C++/Scala代码,用最传统的方式对记录进行一条条预处理,并且还需要经常从其他外部的缓存/数据库中实时调取额外数据进行手工关联,开发和运维的负担极大。
在亚信科技AntDB数据库发展的十几年中,我们看到大量运营商对核心数据处理加工的业务场景。这些需求中,有些能够很容易地使用传统技术满足,但还有一些一定需要采用流式计算等实时处理能力才能支持。
数据库与流式处理的有机融合
流数据处理模式与传统数据库的内核设计有着极大的区别。其核心本质在于,传统数据库架构设计中,应用与数据库之间是“请求-响应“的关系,即业务发起SQL请求,数据库随即执行请求并返回结果。
而流处理内核则是“订阅-推送“的模式。通过预先定义好的数据处理模型,对数据承载的业务“事件”进行处理,之后将处理后的结果推送给下游应用进行展现或入库。
图:AntDB数据库流式处理引擎的基础架构
因此在流式数据实时处理领域,亚信科技AntDB数据库做了大量从零开始的创新性探索与研究,于2022年底推出AntDB-S流处理数据库引擎,彻底将流式计算与传统交易、分析型数据存储进行了融合,让用户可以在数据库引擎内,通过标准SQL自由定义数据的结构以及实时处理逻辑。
同时数据在数据库内部的流对象、表对象之间自由流转的过程中,用户可以随时通过建立索引、流表关联、触发器、物化视图等方式对数据进行性能优化、数据加工、集群监控、以及业务逻辑定制。
功能优势
- 技术堆栈简化:在实时流事件的处理上,AntDB数据库流式处理一体引擎将大量的实时数据处理做到数仓内部,更进一步向通用事务靠拢。
- 标准SQL定义:传统流处理方式对于SQL 的处理很弱,还要写大量业务代码,而AntDB-S可以通过统一SQL语句进行处理,流的使用上更便捷。
- 统一数据接口:支持流批模式的转换,AntDB数据库统一超融架构,实现了对外的接口统一,数据的采集与处理无需分开,流批都用SQL 即可全部搞定。
- 支持完整事务处理:传统流处理过程中不支持数据的修改,AntDB-S支持流处理中对数据的修改和事务操作。
- 实时结果更准确:通过分布式事务的ACID特性,解决实时流数据处理中,数据容灾和一致性的问题,可以精确判断数据故障点,完成流事件的矫正计算和重统计。
(四)
实时数据平台,快速实现企业全链路实时化
引入数据仓库、数据挖掘、HTAP等先进理念,通过实时数据应用平台来装载庞大的信息量,进行实时分析处理,克服数据处理过程中的困难,是当下各企事业单位、互联网、金融,政务等行业核心系统建设的重点。
AntDB-S流式数据库可以被应用于实时数仓、实时报表、实时告警、异步交易等业务场景,用户可以通过直接使用简单SQL创建复杂的流式数据处理业务逻辑,轻松替代Apache Storm、Spark Streaming、Flink等传统流式处理引擎。
图:AntDB新一代流式处理引擎
譬如说,对于实时统计报表来说,所有的统计指标项都可以通过 SQL命令做到监测实时变化数据。而对于实时告警来说,所有的告警记录都能够被数据库在毫秒级推送给前端应用,而不需要应用定时从告警表中反复循环查询。
在对传统流式引擎替代的过程中,AntDB-S可以帮助用户节省大量的开发与测试资源,同时数据的安全性与ACID也完全依托于其底层的AntDB数据库,从根本上保证数据的一致性与安全可靠。除此以外,AntDB数据库所支持的全部高可用、容灾、多租户、鉴权授权、分布式、事务等能力将会完全被AntDB-S所继承,几十倍降低用户对流式业务的开发与维护成本。
典型业务场景
- 实时统计:从过去的“每天出报表”变为毫秒级推送,展示实时经营状态。
- 实时告警:从过去的“定时风险监控”变为“实时风险推送告警”。
- 降本增效:从过去的“java代码开发”变为零代码开发,降低应用开发成本。
- 异步交易:从过去的“端到端一致事务”增强了异步事务处理支持,增大并发提升性能。
图:AntDB典型业务场景
关于AntDB数据库
AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。