购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 云数据库与容器化技术

2.3.1 云数据库

大型企业如金融企业和银行等,在下一代微服务架构转型的要求下,要求基础软件和数据平台实现原生的云化。微服务是一种面向服务的、有特定边界的松散耦合的架构,它的特点是,每一个微服务就是一个独立的自治系统,可以不依赖外部组件独立运行;对应用只暴露接口,用户可以灵活地调整每个微服务的使用;业务粒度足够小。

在企业架构“云化”的过程中,数据库的云化是最为重要的一个部分。数据库云平台(dbPaaS)是一类支持弹性扩张、多租户、自我管理,并能够运行在云服务提供商的基础设施(IaaS)之上的数据库管理系统或存储管理系统。

根据Gartner报告的预测,数据库云平台市场份额将在5年之后翻倍,而70%的用户将开始使用数据库云平台。因此,为了满足各类应用程序对数据库云平台的需求,同时为了降低私有云部署中大量不同类型数据存储产品的运维复杂性,数据库的架构演进将是未来十年数据库转型的主要方向之一。

1.云数据库的技术需求

在业务和应用进行“云化”的过程中,云数据库因为在整体架构中的重要地位,在云化改造中的重要性不言而喻。云数据库的核心需求有以下几点。

(1)弹性扩张能力:数据库容量需要根据业务弹性扩展,以满足不同业务的容量需求。

(2)弹性部署与随需应变能力:除了数据库的存储,其他数据库功能也需要根据应用的需求进行弹性的部署调整。

(3)数据可靠性与服务持续能力:数据的可靠安全、全时在线是所有业务必需的要求。

(4)计算存储分离:将计算和存储资源灵活配置,既可以选择多种计算方式,也可以同时对应多种存储方式,从而满足更多业务需求。

(5)多模式存储能力:结构化、非结构化、半结构化和图等多种类型数据的存储。

(6)自我管理能力:提供零停机维护、持续集成,以及滚动升级能力,提升开发人员效率。

(7)自我监控以及问题修复能力:故障监控和问题修复,降低运维成本。

(8)是否满足特定应用场景:针对特定场景的可插拔组件或工具。

(9)监管与安全:满足监管的要求,保证数据的安全。

云数据库要满足这些技术要求,除了在功能上的具体提升之外,在整体架构上更需要进行升级和“进化”。

2.云数据库架构方向

云数据库架构是其能否承载应用架构“云化”的关键点,随着技术和业务的发展,云数据库架构出现了几个主要的发展方向。

(1)在dbPaaS中,计算-存储层分离将成为主流技术方向。通过将协议解析、计算等模块与底层存储解耦,将存储层进行分片以实现存储的弹性水平扩张,同时通过计算层的无状态设计,允许计算层通过增加节点数量线性提升计算能力,以达到整个数据库云平台的弹性水平扩张。

(2)多模架构成为主流趋势,多模架构在一个数据库平台中就可以支持多种存储方式,大大降低了运维和开发的成本。传统数据库中提供了关系型、OO甚至XML等存储引擎,而新一代数据库则提供了NewSQL、JSON、图、对象存储等多种类型数据的存储引擎。

(3)云数据库平台应提供多种混合模式的数据服务:关系型与非关系型。该模式使用户能够在同一个平台中结合不同数据存储类型的特点,为新一代IT应用系统提供混合数据存储解决方案。

(4)更符合微服务业务架构的要求,微服务要求各个服务模块之间尽量松耦合和可独立扩展,因此数据库也同样会针对不同的业务进行不同侧重的配置,无论是传统的“读写分离”还是现在流行的HTAP都是围绕这个要求展开的。

2.3.2 容器化技术

容器化技术的出现大大简化了应用开发人员构建底层基础设施的工作。随着业务负载的不断加重,容器化、虚拟化也成为各类在线应用必须具备的能力 [7] 。对于分布式数据库,容器化也是提升快速部署、提高运维效率的一个很好的途径。SequoiaDB(巨杉)数据库3.2.1版本正式推出了Docker容器化部署方案,本节将会基于SequoiaDB数据库与Node.js的Docker镜像搭建一个简易的Web服务器。 4nG6aqu8ctYy+JminmuT8NT3+y5RB6oexo/ndkb5epDGbPbl2IT2mKtTDonp/ZaT

点击中间区域
呼出菜单
上一章
目录
下一章
×