Instagram 说明用 PostgreSQL 的五个优点

开发 前端 PostgreSQL
先不管 Instagram 最近的负成长以及反驳,刚刚在 Instagram Engineering 上看到对 PostgreSQL 的称赞:「Handling Growth with Postgres: 5 Tips From Instagram」

先不管 Instagram 最近的负成长以及反驳,刚刚在 Instagram Engineering 上看到对 PostgreSQL 的称赞:「Handling Growth with Postgres: 5 Tips From Instagram」

Facebook在MySQL的领域里的实力以及贡献度可是数一数二,但 Instagram 在被 Facebook 买下後仍然继续使用 PostgreSQL,总是有些原因存在… 虽然真正的原因不一定是技術,但這篇试着用技术解释的內容還是可以看一看,了解 PostgreSQL 有哪些特点…

***个是讲 partial indexes,這与 MySQL community 常讲的 partial index 是不同的东西。

MySQL 的 partial index 是指只 index 某个栏位的一部分,像是 VARCHAR(255) 里面只 index 前面的 10 chars;而 PostgreSQL 的 partial indexes 则是指符合某个条件的 row 才 index。

第二个是 functional indexes,可以針對栏位計算後再 index。MySQL 的 partial index 在 PostgreSQL 里可以用 functional indexes + substr() 达到相同的效果,而且還有其他 function 可以用,花樣更多。

兩个都是 MySQL 做不到 (或是做不好),但 PostgreSQL 做的不錯的。一般在 MySQL 要达到 PostgreSQL 的这兩个功能需要另外开一个栏位,在里面储存去正规化后的值,再对这个栏位 index。

第三个是讲 defrag 的事情,這部份 MySQL 也可以用第三方的工具 Percona Toolkit 搞定。第四个讲 PostgreSQL 的 Write-Ahead Log,有点像是 MySQL 的 binlog。***一个讲 Python上的psycopg2。

看來看去就是 index 那块最明显。可以直接減少去正規化的栏位…

原文链接:http://blog.gslin.org/archives/2013/01/19/3144/instagram-%E8%AA%AA%E6%98%8E%E7%94%A8-postgresql-%E7%9A%84%E4%BA%94%E5%80%8B%E5%84%AA%E9%BB%9E/

责任编辑:陈四芳 来源: Gea-Suan Lin's BLOG
相关推荐

2012-06-21 15:50:20

JavaScript

2012-12-21 14:54:13

Facebook

2013-10-29 10:17:39

微软数据视界大数据

2022-11-15 10:01:27

2010-01-14 13:39:45

Visual C++优

2022-04-04 21:26:05

物联网汽车

2022-04-21 15:35:24

工业物联网数据泄露能源

2019-09-29 09:00:00

PostgreSQLGUI工具数据库

2010-08-11 09:05:02

PostgreSQL

2012-05-11 14:10:21

Instagram技术

2020-09-29 11:01:08

漏洞

2021-10-08 13:56:19

物联网工业物联网IoT

2019-07-17 10:40:13

云存储数据存储

2023-02-08 10:28:55

物联网智慧农业

2022-08-01 11:50:47

PySpark流失预测模型

2013-09-23 10:26:29

iOS 7优点

2010-03-16 14:50:49

Python web框

2010-09-14 15:47:45

CSS导航菜单

2010-03-16 15:47:36

WaveLAN无线设备

2013-08-09 10:05:41

亚马逊团队
点赞
收藏

51CTO技术栈公众号