页面升级中敬请期待
2023-11-06 16:56:00
以下文章来源于ITPUB ,作者任朝阳
ITPUB官方账户,分享社区技术干货内容,了解社区最新动态,参与社区精彩活动。
数据库竞争已进入下个阶段
技术细分与融合是一个不断变化的过程,会随着供给与需求的变化而动态调整。以HTAP数据库的发展为例:
关系型数据库的业务负载通常分为TP负载和AP负载,TP一般是做交易型的业务,数据量小,但要求低时延、高吞吐,对安全、高可用、稳定性有较高的要求。AP一般对历史数据进行分析,对系统资源开销大,主要面向数据量大、查询复杂以读为主的分析类业务。
早期数据量较小,数据库并不区分TP和AP,所有业务都放在一个数据库上,比如Oracle既能支持TP负载,也能支持AP负载。随着时间的推移,数据量逐渐增大,受限于当时的技术,一套架构很难满足不同的负载需求,TP和AP开始分开,交易型数据库处理TP负载,数据仓库处理AP负载,中间通过ETL工具将交易型数据库上的数据传输到数据仓库中,当时业务对时效性要求并不高,可以满足业务需求。
随着数字化深入,市场变化加快、竞争加剧,企业需要获得实时洞察指导经营决策。以前做分析需要将数据从OLTP库ETL到数仓再进行分析,实时能力弱,随着对更大规模、更复杂的数据集进行实时分析的需求不断上升,催生出了HTAP数据库。实际上,技术的变革是供给和需求双方共同推动的结果,在供给侧网络、硬件、软件等技术升级,在需求侧业务对实时性要求变高,企业追求降本增效,使得数据技术走向融合,TP和AP的融合是数据技术走向融合的一大方向。
从需求侧来看,实时分析需求的提升为HTAP数据库提供了丰富的应用场景。
比如银行欺诈检测场景,检测不适当的访问以及防止身份盗窃等,这需要数据尽可能是最新的并且检测可以实时进行才会有效,HTAP数据库可以支持银行欺诈检测这样的实时分析业务。
企业内部各类数据汇聚的数据中台场景,传统承载数据中台的解决方案都是基于 Hadoop 体系,但是 Hadoop 组件极为复杂,有较高的开发和运维门槛,对于很多企业来说成本太高。HTAP数据库可以替换Hadoop体系,简化架构复杂度,降低开发和运维等方面的成本。
近两年,国内外各方都在积极布局HTAP。比如:Snowflake发布新的行存储引擎UniStore,正式进军HTAP领域;谷歌云发布AlloyDB,具备HTAP能力;openGauss发布3.1版本,从原有的OLTP扩展到HTAP;中兴通讯旗下金篆信科发布面向混合交易负载场景的GoldenDB v7.0年度新版;亚马逊在re:Invent 2022大会上提出了“Zero-ETL”,将Aurora和Redshift融合打通形成HTAP解决方案;今年3月,阿里云在瑶池数据库峰会上宣布将PolarDB和AnalyticDB打通融合,形成“云原生一体化”的HTAP解决方案;日前,矩阵起源发布了云原生HTAP数据库MatrixOne1.0RC1版;腾讯云发布TDSQL融合版,强化HTAP能力……
初创厂商对市场的变化、新技术的发展和应用往往比较敏感,关于HTAP为什么会成为标配,数据库初创厂商矩阵起源Global CTO田丰给出了他们的观察和思考,现在企业都有降本增效的需求,随着应用上云之后业务变得多样化,如果数据库不能够支持HTAP,开发、运维的成本会非常高,HTAP数据库在同一份数据上同时支持AP和TP的工作。从数据的一致性、开发效率、运维效率来看,HTAP都是不可逆转的方向。
在需求较为明确时,各方都会争相布局,竞争也会变得激烈。创新的架构是避免同质化竞争,打造差异化优势的关键。 云无疑是IT技术的破坏性创新的代表,为数据库架构创新带来了新的机遇。
田丰介绍,当前众多的HTAP数据库,大概有以下几种技术路线。一是从TP走向AP,在TP基础上增加AP能力。二是从AP走向TP,在AP的基础上增加TP的能力。三是从一开始同时支持AP和TP。其中有的方案是将一套TP系统和一套AP系统粘合起来,表面上看一套HTAP系统,但是粘合的方案在数据新鲜度和延迟方面难以把控,能力相对会弱一些。而且在一套系统的基础上增加额外的能力,在资源隔离、资源优化方面也会遇到挑战。
以自调优为例,自调优的过程最重要的是对存储进行优化,而存储的优化AP、TP都不一样,传统的数据库很难做好,云为自调优带来了新的机会,可以根据不同的负载任意选用不同的机型优化,更加灵活,云原生为资源利用提供了很好的落地基础。
实际上,用户对数据库的需求并不是简单的TP和AP,用户真正的需求是让写得更好、更准,读得更多、更快,人为地做了很多应用之后就把TP和AP两个数据库分开。云使得资源颗粒度更细且能近似无限地扩展,这意味着对于用户需求的组合可以不像以前那样一定是TP和AP之分。 比如MatrixOne将存储、计算、事务三层解耦,通过完全容器化的设计来实现极致扩展,更细颗粒度地按照数据的操作混合,通过资源隔离优化,充分利用资源,这样的架构创新离不开云的支持。
什么是数据库产品制胜的关键?简单来讲是要回答如何打造一款好用有价值的数据库,对市场的动态足够敏感,充分考虑供需环境的变化进行架构创新,比如融合,利用云的优势等,这些都很重要。然而,架构创新并不是好数据库的保障,世上也没有完美的架构。架构的创新需要好的工程实现 。在快速变化的时代,基础软件的创新发展需要长期主义,小步迭代快跑,毕竟好的数据库是用出来的,更是在工程上不断迭代优化出来的。