从Uber切换Postgres说起

简介: 本文PPT来自云徙科技联合创始人及CTO李元佳于10月16日在2016年杭州云栖大会上发表的《从Uber切换Postgres说起》。

本文PPT来自云徙科技联合创始人及CTO李元佳于10月16日在2016年杭州云栖大会上发表的《从Uber切换Postgres说起》。

为什么Uber的工程师放弃使用Postgres,转而使用MySQL?这与下面的事件背景有关:Uber的工程师在使用Postgres时遇到了限制,具体是限制写入的低效率架构、低效的数据复制、潜在的表格损坏、不完善的MVCC支持、难以升级到新版本等,看来问题还不少呢!

尽管在Uber发展的早期Postgres能很好地胜任工作,但随着业务的扩展,Postgres开始逐渐显得力不从心了。现在,除开一些遗留的Postgres实例,Uber数据库的主体要么是基于MySQL,要么在某些特殊的情形下,使用了像Cassandra这样的NoSQL数据库。

具体而言,Postgres中记录的多版本机制在旧版本回收和管理问题问题比较大,记录写入路径比较长,中途需要度旧版本的话,代价比较大。在索引与数据的关系这个方面上,与MySQL使用Clustered Index不同,Postgres处理关系采用的是B-Tree + Heap 组合,这种索引结构差异导致一系列小问题,如记录物理位置变更会导致所有索引的变更,二级索引的检索需要进行两次索引检索,并且如果主索引的数据量大的话,比较消耗空间。其他的问题还包括Postgres表结构中存在的写放大问题(一次更新,四次写入),Postgres流复制问题.....针对这些问题,人们提出了逻辑复制解决方案、复制的业务问题解决方案,来解决这些问题。

所以难怪Uber会切换Postgres,这一切还得从Postgres自身说起呀!

831c0ad8c94c7bc8ae25a06d26bd9f9ad9a7555d

d0816f6f7886f34d533e6b62bf8e249edacf587c

523e92c2868615feb7e8c20128dce3ab8f90be16

03319211e1dbc3d8c69ce122014809ca52ba6fa9

515cc42034ee6f764d789b827f58fac7ba3e780e

ec8e2edf12ae83ad6e1f5234c536cc7640340cfd

c136685bcb83735ddc2188fb4ebcd2f7fb2d092e

cac9fc0f1a56dbf3b1c3909c3c3c024aaadbbfdc

7c2ab7ffee8fe74078cad7c01f30c98304cc1378

b9d63330022861ebd0987bdb4585750c60cb47d4

cedf19fb484fa1a82fb7a8aa69c794a6cf7b6a1f

69f432c9be26a45af31f414383a3f26452a136c2

c265e632ec6a32ac00f39c24811b489f7ef8efe5


相关文章
|
5月前
|
存储 关系型数据库 MySQL
太厉害了!华为大牛终于把MySQL讲的明明白白(基础+优化+架构)
爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试阿里,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。为面试做了很多准备,收集很多关于MySQL面试题
|
6月前
|
存储 关系型数据库 MySQL
58到家MySQL军规升级版
58到家MySQL军规升级版
|
SQL 存储 网络协议
【MySQL技术之旅】(4)这也许是你的知识盲区-[MySQL主从架构]之半同步机制
【MySQL技术之旅】(4)这也许是你的知识盲区-[MySQL主从架构]之半同步机制
104 0
【MySQL技术之旅】(4)这也许是你的知识盲区-[MySQL主从架构]之半同步机制
|
SQL 存储 JSON
【MySQL技术之旅】(5)该换换你的数据库版本了,让我们一同迎接8.0的到来哦!(初探篇)
【MySQL技术之旅】(5)该换换你的数据库版本了,让我们一同迎接8.0的到来哦!(初探篇)
97 0
【MySQL技术之旅】(5)该换换你的数据库版本了,让我们一同迎接8.0的到来哦!(初探篇)
|
SQL 关系型数据库 MySQL
《高性能MySQL 第四版》正式上市, 正确回复SQL抽取赠书
时隔十年,《高性能MySQL》再次出版,这是该系列的第四个版本。过去十年,《高性能MySQL 第三版》已经成为除了文档之外,MySQL相关开发者、DBA等从业者的必读书目,在豆瓣上也收到了9.3分的好评。
331 0
《高性能MySQL 第四版》正式上市, 正确回复SQL抽取赠书
|
存储 SQL 监控
老叶观点:MySQL开发规范之我见(更新版)
老叶观点:MySQL开发规范之我见(更新版)
136 0
|
SQL 存储 分布式计算
让拆库拆表见鬼去吧! MySQL 扩展新玩法
随着数据量的激增,单机数据库存不下了,怎么办?这几乎是所有互联网公司都会遇到的问题。在过去,一直没有一个优雅的解决方案从根本上解决传统关系型数据库扩展性问题,而通常的做法是业务层要把代码改个遍,如果业务上已经用了 MySQL ,没有办法,只能去拆库拆表,动中间件,而这个过程对 DBA 是痛苦的,就算不死也要脱层皮。 最近,一款国人主导开发的开源数据库项目在国内外混的风生水起,不仅在 GitHub 上被推到了 Go Trending 的头条,并且累积 Star 数已近 10000。而在国内,它在被技术爱好者模仿 DB-Engine 制作出的国产数据库排行榜中,位居第二,它就是开源分布式关系型数据
130 0
|
存储 固态存储 关系型数据库
【DB吐槽大会】第47期 - PG 崩溃恢复能快点吗
大家好,这里是DB吐槽大会,第47期 - PG 崩溃恢复能快点吗
|
SQL 分布式计算 大数据
分布式SQL引擎是如何炼成的 —— 运行时探秘(上)
##概述 生逢DT时代,为了能从价值密度低下的海量数据中淘出真金,人们开发了各种各样的计算数据的利器。自Google陆续发布后来被誉为“三架马车”的三篇著名的论文之后,大数据技术逐步进入了高速发展期。放眼业界,这些年计算技术层出不穷、百花齐放。计算引擎从Hadoop MapReduce、Apache Hive发展至如今如日中天的Apache Spark、Apache Flink。计算范式从批
2427 0