《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL开源路线图(2)

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL开源路线图(2)

《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL开源路线图(1) https://developer.aliyun.com/article/1232547?spm=a2c6h.13148508.setting.14.5e4f4f0ecmbIFO


(四)业务痛点分析


下面我们来分析一下当前看到的传统数据库或者集中数据库的业务痛点。


image.png


虽然有这些痛点,这些数据库仍然能够服务用户的很多需求。但是随着互联网移动IoT还有人机交互方式的不断演进,数据量和并发量不断地增加,逐渐超过了单机数据库或集中式数据库的吞吐,比如超高并发,每秒上千上万的病房,对于大部分单机数据库来说是很难处理的,要么就牺牲性能,延时极大,并且伴随着大量的超时查询,要么系统可能就会被击垮。


集中式通过读写分离和存储计算分布式,有限地提升了应对这种并发的能力,但是仍然存在单点处理能力不足的瓶颈。同样的,业务通过ETL产生的数据,对存储容量的需求逐渐超越单机或集中式能够提供的限制,这些其实都可以通过分布式化的Shared Nothing的产品架构来应对。比如将查询事务分摊到多个计算节点,来成倍地提升吞吐,加入更多节点来实现存储容量的水平扩展等。


不仅如此,通过复杂大数据查询的分布化,在各个计算节点上并行运行,可以大大提升单机或集中式对这些查询的处理效率。另外一方面,对于MySQL这样的IoT表来说,单表太大,也将影响查询性能。水平分区有效减少单个数据库内的表的大小,避免查询性能受到比如说像缓存命中下降;Scan效率降低的影响。这些业务痛点其实都是提出了对分布式和水平扩展的需求,也是考虑我们技术路线图的一个因素。


(五)技术趋势:云化,分布式,资源共享


背景方面,我们最后主要讨论一下数据库的技术趋势背景,但数据库技术很多,我们不可能每一个点都覆盖,因此主要从云化的角度去理解,因为毕竟数据库产品现在的主要方向是云化


image.png


从云化角度来看,首先数据库需要云化的技术是什么呢?


我们得看云化的核心是什么,云化的核心就是要极大地减少用户使用数据库的代价,或者叫TCO(Total Cost of Ownership)。这个代价主要包括管理、运维、软件、硬件代价。基于这个核心,目前公有云数据库服务首要提供的就是管控功能,帮助用户减少和避免管理和运维的投入。同时,云化服务支持按需的软硬件配置,发挥软硬件的最大效率,并保留实时的弹性,保证用户能够最有效的支持负载水平所需的资源。云化技术目标可以总结为简单易用,性价比最高。


其次数据库还需要分布式技术,不管是存储的分布式还是计算层,还是事务一致性层,甚至是故障恢复和数据冗余方面,都需要分布式的技术。


业务层面上,现在的数据库系统需要支撑海量的数据业务所带来的高并发负载和混合负载。从云化角度,分布式能力是实时弹性所需要的核心能力,所以也是云化的必要条件。


最后的技术趋势是资源要共享,资源要隔离,实现按资源或按系统分层的独立扩展。比如计算和存储的分离,就可以实现数据库计算按需扩展,相应的如果存储容量需要增加,则只需要增加存储层的资源和节点、这种隔离和独立扩展能力可以扩展到内存,扩展到计算、存储网络,甚至数据数据库的一些核心处理能力,比如事务处理和复杂查询处理等等。


在上述的趋势下,我们来看云化数据库需要发展的一些核心技术和特性。


首先数据库的高可用将成为重点发力的地方,因为这关系到云数据库的核心能力,即简化用户运维和管理的代价。如果一款数据库产品在任何故障下,用户都不掉线,查询都不受影响,那将极大提升用户对产品的信心,简化背后管理的复杂度。同时如果数据库任何运维操作,比如备份恢复、增删节点、Scale up节点等等都不会中断负载,不仅用户在使用体验上更上一层楼,也为数据库调优、提供更加自由和更多维度的方便。比如Scale up操作,就可以更加动态地进行,使得硬件能力更加贴近负载。

其次另外一个技术趋势就是扩展性,包含各种能力的扩展,存储/计算事务和复杂查询。比如事务存储是否可以按需扩展,比如并发数是否可以扩展,比如复杂查询能否根据数据量扩展分布式计算能力,从而减少查询延时。另外一方面,这种扩展是否有瓶颈?比如为提升事务吞吐,我们一般会采用MVCC机制,也就是所谓的多版本并发控制。在分布式下,MVCC需要全局时钟或者全局排序的数列,产生全局数列将对扩展规模形成约束,因为产生全局序列的服务可能就成为扩展的瓶颈。Google Spanner的Truetime就是为解决这个瓶颈而设计的,我们也设计了自己的时钟机制来应对这样的约束。


在具备了极高的高可用和多层次的扩展性以后,弹性地引入将会为产品带来云化所必须的按资源使用的特性。以什么样的弹性颗粒度来进行弹性操作,以多快的速度提供资源的扩缩,用户负载和性能是否受到影响等等,都是弹性技术所需要面对的。


另外一个层面的弹性叫Serverless,大家可能都听说过,或者看过别的产品在实现这方面的技术。所谓的Serverless实际上就是一个自动化的弹性,按需使用,不用时自动回收,这需要上述这些技术的综合,并且能够提供自动化的资源管理能力。


最后回到对用户应用性上的支持,用户经常已经有很多应用跑在传统数据库或者跑在开源数据库产品上,但是它没有云化的基础,没有云化的这些技术的支持,比如应用和高效的管控,极致的高可用,分布式扩展以及Serverless弹性等。如何让用户的这些应用可以顺利简单地以较低的代价迁移到云化产品上,将是产品应用性的首要考虑。这其中维持SQL和生态的兼容性至关重要,比如用户应用的SQL程序都不需要改动,可以直接切换到云化的数据库,是否可以减少大量的用户投入,来改造应用。比如用户的应用仍然可以使用相同生态类的工具,那么用户就不需要购买新的工具,省去为适配这些工具而需要的开发工作。


往往这些方面的一些应用性的缺失,是造成用户迁移的主要阻力。那么兼容性和易迁移性也将是我们考虑的重点。


所以概括起来,我们对云化数据库技术趋势就是4个方面,高可用、扩展性、弹性和兼容性。

(六)背景小结


基于以上背景,最后我们总结出开源Polar DB应该走哪些路线,然后实现哪些目标,如上图所示。


image.png


在架构上我们要支持分布式,技术上我们要云化,同时解决客户的业务痛点,在生态上拥抱开源。


《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL开源路线图(3) https://developer.aliyun.com/article/1232545?spm=a2c6h.13148508.setting.16.5e4f4f0ecmbIFO


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
5月前
|
人工智能 关系型数据库 MySQL
基于阿里云的PolarDB MySQL版实现AI增强数据管理
本文将介绍如何利用阿里云的PolarDB MySQL版结合AI技术,实现数据管理的自动化和智能化。
332 0
|
26天前
|
数据库
|
3月前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
4月前
|
SQL 关系型数据库 MySQL
linux 上源码编译安装 PolarDB-X
linux 上源码编译安装 PolarDB-X
188 6
linux 上源码编译安装 PolarDB-X
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之保证与MySQL的兼容性如何解决
PolarDB 并行查询问题之保证与MySQL的兼容性如何解决
44 1
|
5月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之如何进行PostgreSQL(简称PG)的全量和增量备份管理
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之使用polardb for mysql数据库的外网地址在程序中连接经常超时,如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之PolarDB MySQL版和PolarDB-X的区别是什么
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
人工智能 关系型数据库 MySQL
探索和体验云原生数据库PolarDB MySQL版在AI场景中的应用
探索和体验云原生数据库PolarDB MySQL版在AI场景中的应用
183 0
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL场景评测:阿里云数据库服务的新高度
随着企业数字化转型的加速,对数据库的稳定性和性能提出了更高要求。阿里云的PolarDB MySQL应运而生,作为一款高度兼容MySQL协议的云原生数据库,它在性能、扩展性和安全性方面展现出了卓越的能力。本文将基于阿里云PolarDB MySQL的官方评测,深入探讨其在实际应用场景中的表现,以及为用户带来的价值。
163 0

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB