分布式数据库:未来已来,星辰大海的探索不止于替代

发表时间: 2021-03-19 10:50

记得两三年前,当人们在谈论起分布式数据库等技术时,还经常在用“未来”等词语描述这一新技术的应用前景。在刚刚过去的2020年,新一代数据库龙头Snowflake成功上市,成为历史上规模最大的软件企业IPO。我们回头一看才发现,原来未来已来!

然而,分布式数据库应该如何在企业中正确地落地,一直是业界讨论的焦点。在国内,大部分读者第一次了解到分布式数据库时,首要的问题就是:分布式数据库是否能替换Oracle?然而,从全球数据量发展的方向来看,其爆发性增长,主要集中在基于数字化创新的多样化业务场景。因此,单纯替代传统Oracle占据核心优势的固有领域,并非是数据库未来的增长方向。以Snowflake为例,其业务并没有替换Oracle核心应用领域,却以4亿美元营收换回700亿美元市值,正在撼动Oracle在数据市场的龙头地位,其背后的原因值得我们深思。


基于“替换”的思维永远无法“超越”


实际上,在替换Oracle的问题上,并没有“能”或“不能”这样一刀切的答案。分布式数据库的设计初衷是解决全新的实际业务问题,在Oracle所无法满足的场景中,与企业客户一同迎接数字化转型的机遇,而并不是为了单纯替换某个原有系统。

传统关系型数据库在核心交易等领域深耕了40多年,到目前为止,大部分纯交易场景不论从数据量还是商业模式都没有本质的变化,其业务的扩展空间也十分有限。而在企业数字化转型的过程中,数据量会随着业务发展快速膨胀,形成全新的业务需求及数据增量,为数据库带来全新的市场机遇。

相比传统关系型数据库,分布式数据库在提供ACID事务一致性的能力的同时,拥有更灵活的扩展能力,及多数据模型的处理能力。在面向海量数据弹性扩展的新兴业务需求时,做到“不使用Oracle而选择分布式数据库”,是我们在行业中应用分布式架构的最佳实践。也就是说,使用分布式数据库逐步迭代,伴随全新的数字化业务渐渐渗透到传统业务,成为新的数据核心场景,是分布式数据库技术在企业中最佳的落地方案。

因此,分布式数据库的星辰大海,绝不仅仅在于对传统关系型数据库的简单替换。如果只是为了使用及推广新技术,而进行固有架构的替换,将会面临极大的技术风险与挑战。只有站在企业客户的角度出发,与客户共同挖掘数字化转型中的全新数据价值,才能突破固有框架,建立全新的分布式技术赛道,超越传统的架构边界。


如何选择最佳落地场景


从业务场景的角度,自上世纪70年代末关系型数据库诞生,Oracle、DB2等数据库已经经历了40多年的发展历史,对于其固有的业务场景来说,基本已经做到了业界极致。而面向新的数据中台联机湖仓、微服务数据融合管理、海量数据实时访问、非结构化在线处理等方面,传统交易性数据库则明显力不从心。企业客户选择分布式数据库落地场景时,应该选择适当的应用场景,以真正发挥其优势能力,并持续打磨技术团队的运维能力,逐步推向核心。

1) 数据中台联机湖仓

在不少的企业IT架构规划中,数据中台已经成为整个IT战略的一部分,包含了历史数据平台甚至非结构化数据处理等多数据模型领域,几乎覆盖了企业中除了业务应用系统之外的全部数据处理及服务能力。

在此场景下Oracle无法满足扩展能力,而Hadoop又无法支持实时并发业务。国际上也没有直接与其对标的技术体系,最为贴近的则是Lakehouse(湖仓一体化)。Lakehouse的行业主要厂商包括像Snowflake及Databricks等分布式数据库厂商,其产品可以分为数据湖与计算引擎两大核心模块。2020年Gartner进一步引入了Augmented Transactions Processing处理场景,强调事务一致性,要求数据库在分析处理过程中同时保持低延迟,以提升实时联机处理能力。

可以预见,支持Augmented Transactions Processing能力的联机湖仓,将为数据中台提升实时联机处理能力,数据实现一次存储多业务多数据模型同时使用,加速数据的处理效率,减少数据冗余,提供更绿色环保的数据基础设施。

2) 微服务数据融合管理

微服务应用开发架构逐渐成为主流的今天,传统一个应用对接一个数据库的架构被拆散成几十上百个微服务,每个微服务都可能需要使用独立的数据库实例,因此在企业内部数据库实例数量近年来呈井喷态势发展。

分布式数据库的出现可以很好地解决数据库实例批量管理中,扩展困难以及维护困难的问题。同时,基于引擎级多模技术,分布式数据库可以基于同一份数据,支撑多种数据库引擎的联机交易,通过跨引擎事务一致性能力,为客户打通微服务架构下异构数据源的ACID一致性。因此,分布式数据库技术相比传统Oracle等数据库更有利于微服务化,为企业打通底层数据,降低数据的存储及管理成本。助力研发团队进行DevOps持续交付,提升产品研发效率。

3) 海量数据实时访问

海量数据的存储和计算通常由数仓(MPP数据库)或大数据平台(Hadoop)完成,数据量往往达到千亿(甚至万亿)级别。传统应用中,由于数仓中需要预先完成数据清洗入库,数仓及大数据平台无法支持实时并发数据访问,限于现有平台的处理模型,因此难以进行联机业务的创新。然而,数据化转型过程中,对客联机交易、历史数据服务平台或IoT物联网系统中,会产生要求联机实时处理海量数据的解决方案。

分布式数据库可以在这一场景中,协助企业客户获得更佳的使用体验。首先,分布式数据库与Hadoop及数据仓库一样具有很好的弹性扩展能力。其次,分布式数据库可以提供与传统关系型数据库同等的ACID支持,以保障其关键业务的事务一致性。最重要的是,分布式数据库可以更好地支持高并发的业务访问,可以像使用单机数据库一样,在包含几千亿甚至万亿级记录的表中实现毫秒级数据检索。

4) 非结构化数据治理

非结构化数据包括图片、文档、音视频等对象文件,以往只是单纯存放于存储系统中,提供单一的保存及调取功能。因此,除了直接操作这些文件的业务系统外,非结构化数据对于企业中的其他系统就是一个黑匣子,无法发挥数据的潜在价值。

如今的业务系统往往开始大规模联机使用这类非结构化数据。例如,在业务中各类文件采集,交易过程头像、指纹、声纹监管要求的原档留存,各类业务的360客户画像系统,处理过程需要与非结构化数据进行高频比对,并发处理及采样修正,这些场景都需要非结构化数据的联机实时管理。单纯采用NAS或网盘存储海量非结构化数据,早已经无法满足这类实时联机处理能力的需求。

同时,数字化转型中非结构化数据不再是静态的文件。通过AI机器学习及比对分析,非结构化数据将包含更多元化的业务属性,为各类业务系统提供信息输入。因此,需要对其进行有效的分类治理,盘活非结构化数据资产的潜在价值。

分布式数据库可以有效提升非结构化数据的实时处理能力,结合引擎级多模能力统一存储结构化及对象数据,可以有效地实现基于标签特征数据的分类治理,成为企业「非结构化数据治理」建立坚实的底座。


分布式技术演进趋势


从技术角度,在各行业对海量数据、互联网类应用快速发展的需求中,弹性扩张、多模式等功能是传统Oracle数据库所难以满足的,也是分布式数据库存在的最大价值与目的。在这类技术背景下,做到“不使用Oracle而选择分布式数据库”是最正确的答案。分布式数据库的最佳落地与使用方式,正是从海量数据业务到核心的逐步迭代过程。先从存在海量数据弹性扩展的新兴业务需求入手,随着业务革新不断的深入,逐渐渗透进传统业务及应用中。

1) 弹性:存算分离实现灵活扩展

作为分布式数据库,弹性扩展能力是其存在的核心意义与价值。相比起传统MPP数据仓库,新型分布式数据库可以基于存算分离的部署模型,实现存储与计算资源独立扩展的能力,实现对应用层面无感知的按需弹性扩展。

2) 事务:原生分布式强一致性

在分布式技术逐步贴近业务核心的过程中,客户对于ACID事务一致性的要求也持续提升。例如,在联机交易业务中,往往要求“RR级别事务隔离”能力。在这类需求中,基于分库分表技术的解决方案,由于数据库本身无法提供此支持,(部分产品甚至不提供事务支持或通过1PC提交进行弱化)。导致需要借助大量外围应用程序逻辑配合,才能达到最终一致性的效果,大量消耗开发人员的设计精力。而原生分布式数据库,得益于源自内核的分布式设计,客户可以放心地将事务一致性逻辑交由数据库层进行处理,让开发人员回归到纯粹的业务设计,为业务提供直接有效的研发产出,提升企业研发效率。

3) 融合:引擎级多模,打开湖仓一体新赛道

关系型数据库经过了40多年的发展,早已经从最开始的纯结构化模型衍生出了支持XML、JSON、地理信息、图等不同的能力。传统数据库由于在同一个物理设备上使用同构引擎,多模式能力很难真正发挥到极致。而在分布式数据库架构中,用户完全可以使用不同的物理设备及底层数据结构,承载不同数据模型的计算及存储引擎,真正做到原生的引擎级多模技术。从而提供跨不同数据模型乃至不同数据库语言及引擎之间的数据共享,避免不同模型间进行联机处理时,由于频繁数据拷贝,导致传输延迟及存储空间浪费。基于多模能力构建同时满足结构化、半结构化、非结构化数据的数据湖,同时赋予跨引擎数据一致性能力,及实时数据分析能力,真正意义上让全局数据实时可见。开发者因此可以跨越不同数据引擎间的开发鸿沟,提升开发效率及系统性能,打开分布式技术的全新赛道。


总结


传统关系型数据库历经了40多年的发展,在其主打的核心交易领域几乎走到了极致。单独以核心交易场景对标新型分布式数据库,就好似用传统的马车标准来衡量新生的汽车技术,无法对新技术做到合理的评估。

分布式数据库的诞生首先是为了解决传统数据库不擅长的场景,在关系型数据库做到极致的领域同样需要很长的时间才能完善。得益于高弹性、强事务一致、多模融合等特点,近年来不少企业已经在:数据中台联机湖仓、微服务数据融合管理、海量数据实时访问、非结构化在线处理等领域,实现原生分布式数据库规模化的生产落地。我们欣喜地看到,分布式数据库的应用领域几乎每年都会有大幅度扩展,成为支撑企业数字化改革升级中不可或缺的弹性数据基础设施。

巨杉数据库早在2014年起就发布基于多模引擎的支持,为客户提供可同时管理多种数据结构的分布式数据基础设施。已经协助超过100家金融银行客户和超过1000家企业用户,提供分布式数据库技术。借助自主专利的STP分布式序列时钟协议,实现RR级事务隔离及跨引擎事务一致性能力,为数据中台提供联机湖仓生产落地的最佳实践,已成功协助客户在高达1.2万亿数据量生产环境下,提供安全稳定、可灵活扩展、高性能、高并发的数据底座。

回顾过去的10年,分布式数据库经历了从行业质疑、小规模试水、到如今在部分行业的规模化应用。我们坚信,在新的一年中我国的分布式数据库产业一定会更加蓬勃发展,未来的三到五年分布式数据库的应用规模有望超越Oracle成为核心交易业务的重要组成部分。

未来,借助100%自主研发的原生分布式数据库引擎,及引擎级多模特性,巨杉数据库将秉持以客户为中心的价值观,与客户及上下游合作伙伴一同,为金融、能源、运营商及政企客户提供优质的产品、技术服务及生态支持,推动全球数字化进程。

分布式数据库:未来已来。