伴随着云时代的发展,数据库的故事仍然在继续。无论是商业版 Oracle 还是开源社区版 MySQL,数据库技术从烟囱式发展到联邦式,再演进到分布式,上云方式也从 DIY(Do It Yourself)上云、服务化上云到云原生设计。他们越来越被广泛关注,并以燎原之势影响着现代企业的方方面面。
那么,数据库到底有哪些技术原理及内幕呢?
众所周知,在云计算的背景下,企业 IT 业务正走向跨地区、全球化部署,IT 应用软件逐渐云化、分布式化。数据库作为承载企业业务和应用的关键,其基于云场景架构设计,具备跨地区分布式部署的能力要求也日益凸显。
如前文所述,数据库技术的演进,是从烟囱式、到联邦式、再到分布式的一个过程。
烟囱式数据库
烟囱式数据库普遍采取主备从多副本部署架构,通过 Proxy 统一响应 APP 的读写请求,主要适用于访问流量较稳定,压力不大的单数据库系统,支撑单业务系统。
它的主要挑战在于可用性和扩展性方面。可用性取决于具体方案,一般不具备 Region 容灾能力,扩展性受限于从库扩展节点数和最大实例性能。
联邦式数据库
联邦式数据库将数据分片部署到各个数据节点上,通过数据库中间件统一响应 APP 的读写请求,主要适用于松耦合、异构的多数据库系统,用于集成垂直构建的多个业务系统场景。
其主要挑战是可用性、扩展性和功能方面。可用性受限于数据分片也就是 Sharding 方案,扩展性需要人工操作分库扩容,风险大、需停机,功能方面无跨库事务和联结,不支持复杂 SQL 查询。
分布式数据库
分布式数据库的 SQL 层、执行层、存储层分层解耦、独立扩展,主要适用于面向云分布式场景,要求极致扩展性、高可用性的数据库系统,支撑跨地区的大规模业务系统。
由于部署方面需要有足够的跨地区数据中心机房和计算、存储、网络等资源,管理方面需要有跨地区数据中心的数据库系统的管控能力,所以主要挑战在于部署和管理方面。
值得一提的是,数据库技术的演进,与新时代下的企业应用场景变化有很大关系。当前,全球企业应用上云比例在 50%左右,而两年后将提升到 60%左右。企业应用的加速上云,推动了数据库加速向云迁移。传统数据库管理系统 DBMS 快速向云迁移,转化成为数据库云服务 DBaaS 的形式继续支持企业应用。
企业上云的演变过程
早前:企业上云的模式主要是 DIY,即用户需要自行购买云服务器,自行安装、部署、维护和升级数据库。
优点:部分利用了云化基础设施服务的便利性和可靠性;
缺点:运维开销跟传统云下方式不变,使用商业数据库依然要支付昂贵的 license 授权费用,数据库规格变更和升级困难,备份和容灾恢复复杂,很难实施。
后来:演变为服务化模式,用户只需购买数据库云服务,直接使用,无需购买云服务器,无需安装、部署、维护和升级数据库。
优点:应用无需修改,数据库即开即用,按需付费,弹性扩容,按需升级,具有跨 AZ 和跨 Region 的可靠性保障;
缺点:用户使用习惯需要稍微改变下。
云原生设计模式时代:用户将选择全新的基于云架构设计的分布式数据库服务。
优点:数据库即开即用,按需付费,可以超大规模部署,超强的弹性扩容,按需升级,具有跨 AZ 和跨 Region 的可靠性保障;
缺点:是应用有跨地区重构的代价和学习成本,需要用户有一定的软件设计和实现能力。
不难看出,企业想不通过外力实现数据库上云,有很长的路要走。然而在市场千变万化、机遇稍纵即逝的今天,留给企业的时间又有多少呢?
时值第九届中国数据库技术大会开启在即,华为云数据库首席架构师将出席本次大会,并带来《华为 Cloud Native 分布式数据库技术》和《 MySQL 云数据库的性能优化和发展趋势》两场主题演讲。
在这次讲座中,将介绍华为 Cloud Native 分布式数据库高可靠、高性能、易扩展等金融级的关键特性,并重点剖析其技术原理,深入揭开其背后的技术内幕。此外还将带领大家回顾 MySQL 关键性能特征,介绍 MySQL 云服务的现状,以及华为云为提高云上 MySQL 的性能所做的工作,讨论进一步改进 MySQL 在云上性能的挑战和机遇。
本文转载自华为云产品与解决方案公众号。
原文链接:https://mp.weixin.qq.com/s/nEn3arHL7KvBVFjd7DteRg
评论