企业数据库现状
说起企业级数据库架构体系,在2010年阿里巴巴还没有一个完整的数据库架构体系且存在着很多问题,问题大致可以分为一下几点:
- 业务快速发展,如何才能做到弹性扩展、且性能满足要求:单体的IOE架构已经不能满足业务快速发展的需求,所以需要我们去做弹性的扩展,也就是既可以弹性扩容也可以弹性缩容的。
- 数据是最重要的资产,但数据孤岛却是现状:现如今应用都在做服务化,应用做服务话以后在每个地方都存在自己的数据,那么数据之间是如何流通的呢?以及怎样避免数据孤岛等问题值得思考。
- 稳定和高可用,已经成为企业数据库系统的最大挑战:对于企业级来说,这是一个普遍的问题,数据库的稳定性、高可用性是企业级数据库最基础的一个功能。
- 业务的多样化,单一的数据存储无法有效满足需求:我们发现业务正逐渐的多元化,单一的数据库已经不能很好的满足业务发展的需求,那么我们在统一化的支撑和个性化的支持下如何做权衡也是我们要考虑的问题。
- 研究人员众多,数据安全、效率、规范的挑战很大。
企业级架构的基本诉求
1)可扩展性:可扩展性与容量的扩展并不完全相同,更多指的是架构上的可扩展以及弹性的需求。
2)稳定可靠:系统的稳定性和高可用。
3)高效:可分为两层含义理解,首先企业级架构数据库之后,我们如何高效地、自动地去运维数据库;其次,研发的人员越来越多,如何利用自己的平台去提升研发效率是我们需要考虑的问题。
4)安全:数据安全是企业的生命线,安全问题绝不能够在出现问题之后再去考虑安全问题。
如何提升系统的扩展性
Scale Out解决方案
- 利用DRDS进行水平拆分,线性扩展:
- 弹性的扩容能力
- 超高性能,满足业务极致需求
Scale Out解决方案现在最成熟的技术就是分库分表的解决方案,当一张物理库或一张物理表已支撑不了业务写入的时候,我们就对它按照不同的维度去做水平的分库分表拆分。DRDS所做的事情就是在分库分表表的基础上,把它揉合成逻辑库和逻辑表的概念,其优势在于进行分库分表后,对于用户来说看到是还是一张逻辑库或逻辑表。
弹性扩展解决方案
- 利用云上计算资源,轻松应对业务高峰
- 按需使用云资源,高峰结束后快速释放
- 一站式服务,简单易用
SDM混合数据管控所做的事情就是实现一键的数据库弹到云上去,之后做一个云上与云下混合的数据库,通过统一的管控平台,对云上的和云下的数据库进行统一的管理。
如何保证系统的稳定可靠
让数据成为架构的动脉
兼顾数据安全和效率
在解决数据安全和效率的问题之后,我们还面临着另一个问题,即业务个性化的权衡问题,对于数据库的管理人员来说,更希望一个数据库能够支撑所有的业务,在统一化、规模化运维的时候是最方便的。但实际上业务需求是很多元化的,这时一种数据库就很可能无法包含整个业务。例如淘宝上有上千个应用,有些文档型的应用结构定义常常会发生变化,又比如有一些IOT的用户,在IOT场景下很多时候是偏向时序的分析,时序数据分析的时候或日记类的数据分析的时候我们把这些数据放到哪里呢?为了解决这些问题我们提供了多种数据库引擎,如下图显示。
虽然提供了很多数据库类引擎,但是在统一运维上面也并没有做太多的妥协,数据库引擎众多,但数据库中台是能够很好的包容这些产品的。