文档章节

万字长文剖析AliSQL X-Cluster|基于X-Paxos的高性能强一致MySQL数据库

小虾米DYX
 小虾米DYX
发布于 2017/08/10 14:03
字数 877
阅读 8
收藏 0

点击查看全文

 

MySQL数据库从诞生以来就以其简单、易用、开源为其主打特点,成为不少开发者首选的数据库系统。阿里在2008年开始提出"去IOE"的口号,其中,使用大量的MySQL,配合业务的改造替代原有的商业版Oracle系统。自此集团迈入了MySQL数据库的时代。根据阿里交易型应用的特点,以及双十一这样业界罕有的需求推动下,我们在官方的MySQL基础上增加了非常多实用的功能、性能补丁,打造了AliSQL这个业界响当当的MySQL分支品牌。

时间很快走到2014年,随着业务高速的增长,同城主备AliSQL部署的方式已经无法满足阿里对可扩展的部署、国际化、以及容灾方面的需求。“异地多活”成为了公司应用的新标准。“异地多活”也给底层的数据库提出了新的容灾要求。传统的Master-Slave架构下,主备如果不使用强同步模式就会存在数据丢失的可能,然而强同步下一旦有节点异常则整体不可服务。而且这套架构下需要HA工具来进行选主的仲裁和控制。

过去阿里巴巴的DBA们开发了高效可靠的HA以及一整套工具和流程来做主备切换后数据和日志的校验和订正。然而我们相信技术的发展能带来更大的运维便利性以及更好的用户体验。以Google Spanner以及Amazon Aruora 为代表的NewSQL系统为数据库的数据一致性给出了与以往不同的思路:基于一致性协议搭建分布式的多副本数据库。

本文字数近万字,建议对数据库感兴趣的童鞋收藏细看。

AliSQLX-Cluster 介绍

AliSQL X-Cluster(本文中简称X-Cluster)是阿里巴巴数据库团队推出的兼容MySQL 5.7,提供数据强一致功能,支持全球部署的分布式数据库集群产品。

说到AliSQL X-Cluster就不能不提其分布式核心,一致性协议。

X-Paxos是阿里巴巴自主研发的一致性协议库,目标是填补市面上高性能、易接入的一致性协议库的空白。而市面上已开源的一致性协议实现,包括etcd以及其他厂商等都存在或性能不够,或功能上无法满足复杂的现实应用场景需求的问题。

有了X-Paxos,可基于它打造一套强一致的分布式系统,X-Cluster是第一个接入X-Paxos生态的重要产品,利用了X-Paxos实现了自动选主,日志同步,集群内数据强一致,在线集群配置变更等功能。同时X-Cluster基于MySQL生态,兼容最新版本的MySQL 5.7,集成了AliSQL过去的各种功能增强。 MySQL的用户可以零成本迁移到X-Cluster上。

 

点击查看全文

本文转载自:http://click.aliyun.com/m/28051/

共有 人打赏支持
小虾米DYX
粉丝 0
博文 113
码字总数 0
作品 0
海淀
2017杭州云栖大会100位大咖视频+讲义全分享 大数据

摘要: “如果我看得更远一点的话,是因为我站在巨人的肩膀上。”2017杭州云栖大会资料全部整理完毕,首批100位大咖视频+讲义分享给大家。 杭州云栖大会是阿里集团一年一度的全生态科技盛会。...

qq_40954115
2017/11/06
0
0
强一致、高可用、自动容灾能力背后,阿里X-Paxos的应用实践

axos(分布式一致性算法)作为分布式系统的基石,一直都是计算机系统工程领域的热门话题。Paxos 号称是最难理解的算法,其实当真这么困难么? X-Paxos 是阿里巴巴数据库团队面向高性能、全球部署...

雪夜凋零
2017/08/08
0
0
2017双11技术揭秘—X-DB支撑双11进入分布式数据库时代

作者:章颖强(江疑)、胡炜 X-DB 1.0(X-Cluster)是阿里自主研发的,100%兼容MySQL生态的,全球级分布式强一致的关系型数据库系统。今年双11是X-DB的第一次大考,本次双11X-DB服务于天猫/淘宝...

中间件小哥
2017/12/26
0
0
AliSQL X-Cluster基于X-Paxos的高性能强一致MySQL数据库

  【IT168 技术】MySQL数据库从诞生以来就以其简单、易用、开源为其主打特点,成为不少开发者首选的数据库系统。集团在2008年开始提出"去IOE"的口号,其中,使用大量的MySQL,配合业务的改...

it168网站
2017/08/03
0
0
阿里10年分布式数据库技术沉淀,AliSQL X-Cluster的应用实战

MySQL 数据库从诞生以来就以简单、易用、开源为主打特点,成为不少开发者首选的数据库系统。阿里集团在 2008 年开始提出"去 IOE"的口号,迈入了 MySQL 数据库的时代。系统使用大量的 MySQL,...

雪夜凋零
2017/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

GO冒泡,二分查找

package mainimport("fmt")func main() {var arr [5]int = [5]int{11,13,9,2,25}maopao(&arr)fmt.Println("arr = ", arr) //[2 9 11 13 25]findIndex := binaryFind(&arr, 0......

汤汤圆圆
28分钟前
1
0
工作2年半跳槽面试阿里,成功拿到offer,凭什么?

2015年刚毕业的我,进入了一家小小的公司实习工作,在学校学了三年软件开发的我,还是想去寻找一份互联网行业的工作,这样更能学以致用发挥自己的特长。一直到18年三月份,我辞掉已有的工作,...

java知识分子
32分钟前
1
0
讲述下:Linux的10个最危险的命令

导读 Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章将会向你介绍十条命令,但你最好不要尝试着去使用。 当然,以下命令通常都...

问题终结者
37分钟前
1
0
分库分表后如何部署上线?

引言 我们先来讲一个段子 面试官:“有并发的经验没?” 应聘者:“有一点。” 面试官:“那你们为了处理并发,做了哪些优化?” 应聘者:“前后端分离啊,限流啊,分库分表啊。。” 面试官:...

Java烂猪皮
42分钟前
1
0
Redis源码阅读笔记-快速列表

快速列表 快速列表(quicklist)是由压缩列表(ziplist)组成的一个双向链表,链表中,每一个节点都是以压缩列表(ziplist)的结构保存。 在 Redis3.2 后加入的新数据结构,在列表键中取代了双向链...

Jian_Ming
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部