云数据库PolarDB(一)
一、出现的背景及PolarDB简介
阿里云,中国第一家拥有完整云计算能力的企业。
2015年,在计算界的奥运会Sort Benchmark中,阿里云计算100TB数据排序只用了不到7分钟,把ApacheSpark之前创造的23分钟世界纪录一下子缩短了一多半。这说明,中国人研发的云计算系统不仅成功了, 而且不比世界上任何现存的云计算系统差。
成功登顶的“云梯2”,后来更名为ODPS,“加冕”成为了阿里巴巴各项业务通用的大数据计算平台。ODPS验证成功之后,阿里立刻启动“登月计划”,把所有数据和计算都迁移到飞天为基础的系统上,全盘替代IOE和云梯1。2013年5月,阿里巴巴最后一台小型机下线。7月,淘宝最后一个Oracle数据库下线。阿里巴巴这台战车,用了五年时间,在超高速行驶中,没有踩一脚刹车,成功更换了发动机。因为突破了技术瓶颈,在5K之后,ODPS只用了几个月就冲上了单机群10K,进而实现了无限制扩展。到2018年,已经更名为MaxCompute的ODPS达到了数万台的规模。

在芯片领域,我们面对美国垄断只得眼睁睁地静默。
在操作系统领域,我们面对美国的背影只能艰难追赶。
但是在云计算这片土地上,从王坚带着一群理想主义者横空出世,到胡晓明把商业战场拉至和亚马逊的AWS同一级别。中国人用了十年时间造出的全球第三、亚洲第一的阿里云,不说和美国战位和棋,至少在世界的版图上夺下了堪为广袤的一片疆土。
2018年,当年为阿里云对接淘宝立下汗马功劳的小邪正式加入阿里云,掌管“飞天八部”,阿里云所有的现役主力和技术,都归至他麾下。此时小邪nian中的弹药充足:2017年发布的神龙云服务器,是对下一代云计算主机的探索。同年发布的PolarDB,剑指商业数据库Oracle和它的继任者MySQL,也称得上是阿里云未来之星。2018年初,飞天的分布式存储系统“盘古”升级到了2.0,成为了阿里巴巴统一存储平台。2018年秋天的云栖大会上,唐洪、小邪、何导等阿里云大咖系数登场,发布了飞天2.0。敢称2.0,是因为他们把野心放到了“万互联”的下一个20年。如此尝试和未来对话的技术还有很多。
其中,PolarDB是阿里云自研的下一代关系型云数据库,100%兼容MySQL,存储容量最高可达100TB,性能最高提升至MySQL的6倍,单库最多可扩展到16个节点,使用与企业多样化的数据库应用场景。PolarDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务。PolarDB既融合了商业数据库稳定可靠、高性能、可扩展的特性,又具有开源云数据库简单开放、自我迭代的优势,而成本只有商用数据库的1/10。

二、PolarDB优势分析
1.简单易用:100%兼容MySQL。在已有的使用MySQL数据库的应用程序代码、驱动无需更改,即可运行于PolarDB。
2.极致性能,降低成本:(1)针对数据库内核进行深度优化,同时采用物理复制、RDMA高速网络和分布式共享存储,读性能最高能达到MySQL的6倍;(2)集群包含一个主节点和最多15个只读节点,满足高并发场景对性能的要去,尤其适用于读多写少的场景。
3.超大容量,支持上百TB级别数据:采用分布式块存储设计和文件系统,使得存储容量不限制于单节点的规格,能够轻松扩展,应对上百TB级别的数据规模。
4.快速弹性,应对不确定的业务增长:(1)Serverless存储,存储空间无需手动配置,根据数据量自动伸缩,用户只需为实际使用的数据库容量付费;(2)配置降级,3分钟生效,采用容器虚拟化技术和共享的分布式块存储技术,使得数据库服务器的CPU、内存能够快速扩容;(3)增减节点,3分钟生效,通过动态增减节点提升性能或节省成本。通过使用集群连接地址,可屏蔽底层的变化,应用对于增减节点无感知。
5.下一代数据库引擎内核:(1)基于共享存储的一写多读集群,数据只需要一次修改,所有节点立即生效。例如,大表加索引可能需要30分钟,那么在MySQL中,主备库共需要1个小时,且备库会延迟至少30分钟。而在POLARDB中,主库加索引后,备库立即生效,总耗时30分钟,延迟不超过1分钟;(2)采用物理日志代替逻辑日志,通过共享存储和物理日志,使得主备库延迟控制在毫秒级以内,且可根据实际情况修改为主备库强同步(会牺牲一定的写入性能);(3)无锁备份,利用底层分布式存储的快照技术,只需分钟级别即可完成对上1TB的数据库进行备份,且整个备份过程不需要对MySQL加锁,效率更高,影响更小;(4)并行查询引擎(SQL加速),通过并行计算提升复杂大SQL的查询性能,尤其适用于大表关联查询、对无索引列的点查询、多字段分组查询等场景,根据实际情况性能可提升8~30倍。
6.高可用和高可靠保障:(1)共享分布式存储的设计,彻底解决了MySQL Master-Slave异步复制所带来的备库数据非强一致的缺陷,使得整个数据库集群在应对任何单点故障时,可以保证数据0丢失;(2)采用Active-Active的高可用集群架构,可读写的主节点和只读节点之间进行Failover切换,与传统的Active-Standby相比,用同样成本带来了更好的系统访问性能。
7.数据安全可靠:采用白名单、VPC网络、SSL加密、数据多副本存储等全方位的手段,对数据库数据访问、存储、管理等各个环节提供安全保障。
三、PolarDB架构特点
1.一写多读
2.计算与存储分离
3.读写分离
4.高速链路互联
5.共享分布式存储
6.数据多副本、Parallel-Raft协议
云数据库PolarDB基于Cloud Native设计理念,其架构示意图及特点如下:

四、PolarDB的应用场景
1.高并发读写OLTP

2.高可用、弹性扩展

3.迁移上云

云数据库PolarDB(一)的更多相关文章
- 云数据库POLARDB产品解读之二:如何做到高性价比
现在做任何事情都要看投入产出比,对应到数据库上其实就是性价比.POLARDB作为一款阿里自研数据库,经常被问的问题是:性能怎么样?能不能支撑我的业务?价格贵不贵?很显然,在早期调研阶段,对稳定性.可靠 ...
- 深入解读阿里云数据库POLARDB核心功能会话读一致性
POLARDB架构 我们知道,POLARDB是一个由多个节点构成的数据库集群,一个主节点,多个读节点.对外默认提供两个地址,一个是集群地址,一个是主地址,推荐使用集群地址,因为它具备读写分离功能可以把 ...
- 阿里云云服务器 ECS和云数据库 PolarDB的简单使用
阿里云云服务器 ECS和云数据库 PolarDB的简单使用 仅作为记录自己的操作使用,主要是怕自己太久不用都忘了 登录阿里云以后点击控制台 然后找到云服务器ECS,点击进入 在左侧找到实例,点击进入 ...
- 深入解读阿里云数据库POLARDB核心功能物理复制技术
日志是数据库的重要组成部份,按顺序以增量的方式记录了数据库上所有的操作,日志模块的设计对于数据库的可靠性.稳定性和性能都非常重要. 可靠性方面,在有一个数据文件的基础全量备份后,对运行中的数据库来说, ...
- 云数据库POLARDB优势解读之①——10分钟了解
什么是POLARDB POLARDB 是阿里云自研的下一代关系型分布式数据库,100%兼容MySQL,之前使用MySQL的应用程序不需要修改一行代码,即可使用POLARDB. POLARDB在运行形态 ...
- 什么是云数据库POLARDB
POLARDB是阿里巴巴自主研发的下一代关系型分布式云原生数据库,目前兼容三种数据库引擎:MySQL.Oracle.PostgreSQL.计算能力最高可扩展至1000核以上,存储容量最高可达 100T ...
- 你有什么理由还不选择阿里云服务器呢--从阿里云发布自研商用关系型数据库POLARDB想到的
最近几天,阿里云发布自研商用关系型数据库POLARDB的消息可谓是重磅炸弹啊.借用官方宣传的话就是:6倍性能于MySQL并100%兼容/100TB存储容量/2分钟创建只读副本/3分钟创建容灾实例,第三 ...
- 比MySQL快6倍 深度解析国内首个云原生数据库POLARDB的“王者荣耀”
随着移动互联网.电子商务的高速发展,被使用最多的企业级开源数据系统MySQL面临着巨大挑战——为迎接“双11"的高并发要提前做好分库分表;用户不断激增要将读写分离才能应对每天上亿次的访问,但 ...
- 重新定义数据库的时刻,阿里云数据库专家带你了解POLARDB
摘要:POLARDB是阿里云ApsaraDB数据库团队研发的基于云计算架构的下一代关系型数据库,其最大的特色是计算节点与存储节点分离,借助优秀的RDMA网络以及最新的块存储技术.POLARDB不但满足 ...
随机推荐
- SqlServer突破亿级数据操作瓶颈(出处:转载)
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- java基础(四)-----抽象类与接口
抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们 ...
- SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档
Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...
- -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流
File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...
- 第42章 发现(discovery) - Identity Server 4 中文文档(v1.0.0)
可以在*https://baseaddress/.well-known/openid-configuration*找到发现文档.它包含有关IdentityServer的端点,密钥材料和功能的信息. 默 ...
- WPF xaml中列表依赖属性的定义
列表内容属性 如上图,是一个列表标题排序控件,我们需要定义一个标题列表,从而让调用方可以自由的设置标题信息. 在自定义控件时,会遇到列表依赖属性,那么该如何定义呢? 下面是错误的定义方式: /// & ...
- JavaScript_02_JavaScript对象
ECMAScript标准中基本对象:Array,Boolean,Date,Math,Number,String,RegExp,Global Boolean,Date,Math,Number,Strin ...
- 【Spring】6、注解大全
一.@interface Java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类. 二.@Override,@Deprecated,@S ...
- es6 Moduel 默认名与非默认名
export default default 本质是将后面变量(值)赋给 default,然后以default名称输出. import 在获取default变量时,写在大括号的外面 ,可自定义名称. ...
- Dvna for Owasp top 10 2017
简介: DVNA(Damn Vulnerable Node Application),它是一款由Node.js打造的知名WEB漏洞测试平台,或许有些朋友已经使用过.它是用来给使用Node的WEB开发人 ...