「文末有奖」挑战未来:下一代企业级应用数据库系统

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 摘要:随着数据量以及数据类型的不断增多,业务需求逐渐从“大数据”转向“快数据”。数据库系统领域充满机遇,也布满挑战,越来越多的企业开始思考下一代数据库技术。在2019年杭州云栖大会开发者峰会上,阿里巴巴副总裁、阿里云智能数据库产品事业部总经理、高级研究员李飞飞就为大家分享了阿里云对于下一代企业级应用数据库系统的实践。

数据库:云上应用关键一环

正如AWS总裁所说的“The real battle will be in databases”,数据库已经成为上云的关键一环,连接IaaS层与智能化应用最为关键的步骤就是数据库。
1.jpeg

数据库发展-业务视角

从业务视角来看,数据库的发展有这样几类,最传统的关系型事务处理数据库叫OLTP,对于事务型数据库而言,最关键的问题是保证结构化数据的读写一致性,主要挑战是高并发的问题,即在海量数据下如何正确处理海量事务等。另外还有分析型数据库,也就是所谓的传统数仓,它所解决的问题是面对大量数据如何进行实时的交互式分析。在2008年和2009年,谷歌的三驾马车——GFS、MapReduce和BigTable诞生之后,就衍生出了NoSQL数据库,因为传统关系型数据库由于具有强一致性,因此在大数据情况下对于扩展能力还存在很大的限制,NoSQL数据库则牺牲了一定的一致性,换取了扩展的能力。除此之外,数据库还包括数据管理、备份以及传输等相关生态工具。以上这些就形成了数据库四个不同的业务视角。

2.jpeg

阿里云数据库-中国云数据库领导者

阿里云在云原生数据库方面做了很多工作,其中最核心的产品当属POLARDB和AnalyticDB。目前,阿里云数据库在亚太市场排名第一、全球排名第三,并且用户和开发者的数目已经超过了10万。

3.jpeg

数据库系统演进

数据库系统的演进最早从结构化数据库开始,逐渐衍生出了关系型数据库,核心技术是SQL和OLTP。后来数据越来越多,由于读写冲突的原因,需要将数据从OLTP数据库里面转移到数据仓库里面。在建仓的过程中,可能还会把非结构化数据转化为结构化数据,并存储到数仓里,这样一来就可以在数仓对结构化数据和非结构化数据进行交互式分析,这部分的核心技术是ETL和OLAP。数据库技术发展到今天,数据类型越来越多,出现了更多新的数据类型,如图、时序以及文档等,也需要有新的数据库系统,因此现在除了RDS、NoSQL之外还有了NewSQL,将传统关系型数据库的能力和NoSQL的能力完美地结合起来,这就是所谓的NewSQL数据库。除此之外,数据库领域也非常关注Multi-Mode和HTAP。

4.jpeg

Multi-Model多模数据库系统

数据库可以分为北向和南向,南向是数据库的存储层,在南向,数据结构和类型可能是多种多样的,比如结构化数据、图数据、时序数据、向量数据以及文档数据等;而在北向,则希望能够在查询层提供一个标准的统一查询接口,比如SQL。南向存储形式多样,而北向查询接口统一就构成了标准的数据湖服务。除此之外,还可以在南向仅提供一种标准的数据存储形式,而北向则提供多种多样的查询接口,让用户可以按照图、文档等方式进行查询。

5.jpeg

数据库智能化+自动化管控平台

对于开发者而言,数据库系统变化的一个重要趋势是越来越智能化,包括Oracle在内的各大数据库厂商都在强调数据库智能化。数据库的智能化可以分为两个主要方面,一方面是内核的智能化,比如对于数据进行查询以及冷热分离,可以借助人工智能和机器学习的方法进行优化。另外一方面是数据库运维管控平台的智能化,使得数据库系统可以像自动驾驶汽车一样管理数据库实例。

6.jpeg

新硬件:软硬件一体化设计

数据库系统变化的另外一个重要趋势是RDMA、SSD、NVM、GPU/FPGA等新硬件带来的软硬件一体化的设计。无论是内核开发还是应用开发,新硬件的出现和使用都对开发者提出了更高的要求。

7.jpeg

下一代企业级数据库:云原生+分布式

今天的数据库领域存在三种主流架构,即单节点架构、存储和计算分离云原生架构以及经典的分布式架构。阿里云认为下一代的企业级数据库的架构一定需要结合云原生架构和分布式架构的优势。也就是说需要在上层实现Shared Nothing,使得应用可以水平拓展,能够应对双11这样的海量数据和高并发的场景。中间做分库分表,但是传统架构下的分库分表可能对业务有所改造和侵入,也会增加跨Shard以及跨库查询的概率,使得性能会大大下降。因此,阿里云希望在下面一层使用Shared Everything的云原生架构。这样就使得每个Shard的处理能力大大增加,使得跨库查询和Distributed Commit的概率大大降低,系统的复杂度也会大大的降低,同时开发对应用的侵入程度也会降低。

8.jpeg

阿里云数据库技术与产品是完整的生态体系

利用云原生+分布式的这种技术架构就能够支撑双11瞬间120倍的流量峰值增长。通过利用OLTP的POLARDB和OLAP的ADB就可以形成一个从数据产生、事务处理到实时消费、分析的完整闭环。

9.jpeg

阿里云RDS For MySQL/AliSQL

当开发者来到阿里云的数据库平台,所看到的RDS For MySQL其实并不是官方版本的MySQL,而是阿里巴巴自己维护的AliSQL分支。在AliSQL之上,阿里巴巴做了大量企业级应用,比如支持TDE、BYOK等,还实现了线程池,增加了企业级应用开发的功能,也大大简化了开发者使用MySQL生态进行应用开发的复杂度。此外,RDS还支持单节点、双节点以及三节点的部署方式。正因为做出了这些贡献,阿里巴巴获得了MySQL 2018年的社区贡献奖,也是亚太地区唯一获得这个奖项的公司。

10.jpeg

阿里云RDS AliSQL三节点金融级高可用集群

阿里云RDS AliSQL实现了三节点金融级高可用集群,其最大的优势就是高可用,因为它将CAP理论中的三点比较完美地结合起来。其核心思路是三节点中存在一个RDS的Leader以及两个Follower,通过Paxos形成三节点之间的Binlog同步,这样就可以保证数据和应用的高可用。

11.jpeg

阿里云PostgreSQL独有的增强功能

除了MySQL之外,阿里云的PostgreSQL在社区版本上做了大量优化,比如Ganon支持GPU时空遥感引擎,varbitx支持对用户画像数据进行处理,BYOK实现了存储层加密等。在POLARDB for PostgreSQL版本上可以做到16个计算节点的拓展,在AnalyticDB for PostgreSQL上引入了HyperLog预估分析,比传统使用直方图进行预估分析准确得多,并且成本也低很多。因此,对于中小型业务,可以使用标准的社区版的RDS for PostgreSQL;对于混合型复杂业务,可以使用POLARDB for PostgreSQL;对于海量分析型BI以及报表业务,可以使用AnalyticDB for PostgreSQL,这样就形成了PostgreSQL生态的完整闭环。

12.jpeg

POLARDB架构细节

接下来展开分享下一代企业级数据库架构,首先介绍大家比较熟悉的POLARDB。POLARDB的主要架构设计模式是计算与存储分离,使用RDMA做共享存储,在存储层通过Data Chunk和Parallel Raft协议保证数据高可用,这就实现了单一实例的多个主备架构。同时,前面增加一层PolarProxy实现多节点之间的读写分离和负载均衡。在下层实现了PolarFS文件系统,对接底层的PolarStore分布式共享存储。现在,POLARDB发布了MySQL 5.6版本以及MySQL 8.0版本,还有PostgreSQL的版本以及高度兼容Oracle的版本,各种各样的生态都能够在POLARDB数据库上得以完美的体现。

13.jpeg

此外,阿里云POLARDB还实现了并行查询优化,使得查询的平均性能提升了27倍。大家知道MySQL等数据库的查询优化器或者查询执行器在实际上并没有做并行查询优化。而阿里云POLARDB则实现了线程池,因此可以实现并行化查询。举个简单的例子,一个包含100个Group by的SQL语句,如果做并行查询Group by,执行时间可能是原本串行执行Group by的1%。

阿里云POLARDB分布式版本——POLARDB-X

阿里云POLARDB分布式版本POLARDB-X简单而言就是把DRDS和POLARDB进行集合,形成上层Shared Nothing,下层Shared Everything、共享存储的架构,这种架构在针对海量数据进行开发的场景下具有诸多优势。

智能化OLAP:AnalyticDB实时交互式数据仓库

在生态兼容方面,AnalyticDB MySQL版本兼容MySQL生态,AnalyticDB PostgreSQL版本兼容PostgreSQL生态。AnalyticDB使用行列混存引擎,因此支持高吞吐写入和高并发查询AnalyticDB也采用计算和存储分离的架构,它会把计算资源进行池化实现灵活调度,将计算节点分为写入节点和只读节点,并做智能化的调度,根据实际负载决定读写节点的分配情况。AnalyticDB具有向量化的执行引擎,支持对结构化数据和非结构化数据进行联合分析,对人工智能以及机器学习的很多应用非常有帮助。

14.jpeg

AI for DB-DBAdvisor:智能化数据库管控与内核

阿里云在智能与安全方面提供了DBAdvisor工具。DBAdvisor能够帮助开发者优化数据库管控策略,比如索引策略和分库分表策略等。DBAdvisor能够根据实际业务复杂推荐如何做Sharding。此外,SDDP,Self-Driving Database Platform是DBAdvisor最核心的组件,其能够帮助阿里经济体的数据库每天节省大约27TB的存储空间。

15.jpeg

云上数据安全

云上的数据库安全非常重要,目前阿里云已经拥有标准的数据库安全体系。而在未来,开发者也需要考虑更多的安全因素,比如日志是否不可篡改、数据库内核是否可以全程加密等。在云上数据库安全方面,阿里云在全球首先实现了全加密数据库PostgreSQL版本,能够做到在任何情况下数据都不会泄漏。

16.jpeg

数据传输云服务DTS

想要享受云数据库所带来的开发便利,那么数据从一端传输到另外一端的工具必不可少。阿里云提供了数据传输云服务DTS,它支持多种不同的数据源到异构数据库的实时同步,同时也可以支持一定程度的ETL,这样在数据传输的过程中,还可以到其他系统中进行消费。

17.jpeg

阿里云数据库:数据上云高速公路

综合上述内容,阿里云数据库形成了一个从关系型数据库到分析型数据库,再到NoSQL数据库和工具的完美生态。

18.jpeg

拥抱开放生态,携手客户与开发者共成长

阿里云希望并且欢迎和开发者共同成长,一起为社区做出贡献。AliSQL在开源领域获得了很多荣誉,阿里云DRDS也会在未来几个月内进行开源。阿里云希望和大家携手共建世界一流的分布式数据库系统。

19.jpeg

有奖问卷!

参与开发者小调查

我们将抽取五名同学送出限量礼品!!

奖品长图.JPG

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
6天前
|
缓存 关系型数据库 Java
不要将数据库中的“分库分表”理论盲目应用到 Elasticsearch
不要将数据库中的“分库分表”理论盲目应用到 Elasticsearch
13 0
|
4天前
|
存储 NoSQL 搜索推荐
探索新一代数据库技术:基于图数据库的应用与优势
传统关系型数据库在处理复杂的关系数据时存在着诸多限制,而基于图数据库的新一代数据库技术则提供了更为灵活和高效的解决方案。本文将深入探讨图数据库的核心概念、应用场景以及与传统数据库相比的优势,带领读者一窥未来数据库技术的发展趋势。
|
11天前
|
存储 运维 Kubernetes
多态关联在数据库设计中的应用和解决方案
多态关联在数据库设计中的应用和解决方案
17 0
|
13天前
|
存储 算法 数据库
矢量数据库在图像识别与检索中的应用实践
【4月更文挑战第30天】本文探讨了矢量数据库在图像识别与检索中的应用,通过特征提取(如SIFT、SURF)、编码和相似度度量实现快速识别。在图像检索流程中,经过预处理、特征提取和编码后,矢量数据库用于查询相似特征,排序后展示给用户。实际案例显示,矢量数据库能提升电商平台的商品图像搜索效率和用户体验。随着技术发展,这一领域应用前景广阔。
|
13天前
|
机器学习/深度学习 搜索推荐 数据库
矢量数据库的未来发展趋势:新技术与应用展望
【4月更文挑战第30天】随着AI和机器学习的发展,矢量数据库在处理非结构化数据方面的重要性日益增强。预测到2028年,全球矢量数据库市场将从2023年的15亿美元增长至43亿美元。未来趋势包括:并行计算与分布式架构提升处理能力,硬件加速技术(如TPU和昇腾芯片)提高性能,自适应索引机制优化查询效率。应用领域将拓展至NLP、图像视频分析和推荐系统,为各行业带来更多创新和价值。
|
13天前
|
机器学习/深度学习 存储 人工智能
矢量数据库在机器学习领域的应用与前景
【4月更文挑战第30天】本文探讨了矢量数据库在机器学习领域的应用,包括特征存储、相似性搜索、模型训练与调优及实时分析。随着AI技术发展,矢量数据库将深度融合,提升扩展性和可伸缩性,增强智能化功能,并加强安全性与隐私保护。未来,矢量数据库将在机器学习领域扮演关键角色。
|
13天前
|
存储 数据可视化 关系型数据库
矢量数据库在地理空间数据处理中的应用
【4月更文挑战第30天】矢量数据库在地理空间数据处理中展现优势,高效存储管理高维向量数据,支持快速查询、空间分析与可视化。分布式处理能力适应大数据量需求,提供高效、灵活、可扩展及可视化支持,是处理地理空间数据的理想选择。随着技术进步,其应用将更加广泛。
|
14天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
989 0
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
|
20天前
|
存储 数据库 云计算
云计算数据库应用
云计算数据库应用
26 0
|
20天前
|
存储 SQL 关系型数据库
MySQL数据库:深入解析与应用实例
MySQL数据库:深入解析与应用实例
39 0