新聞中心
先不管 Instagram 最近的負(fù)成長以及反駁,剛剛在 Instagram Engineering 上看到對 PostgreSQL 的稱贊:「Handling Growth with Postgres: 5 Tips From Instagram」

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出汝州免費(fèi)做網(wǎng)站回饋大家。
Facebook在MySQL的領(lǐng)域里的實(shí)力以及貢獻(xiàn)度可是數(shù)一數(shù)二,但 Instagram 在被 Facebook 買下後仍然繼續(xù)使用 PostgreSQL,總是有些原因存在… 雖然真正的原因不一定是技術(shù),但這篇試著用技術(shù)解釋的內(nèi)容還是可以看一看,了解 PostgreSQL 有哪些特點(diǎn)…
***個(gè)是講 partial indexes,這與 MySQL community 常講的 partial index 是不同的東西。
MySQL 的 partial index 是指只 index 某個(gè)欄位的一部分,像是 VARCHAR(255) 里面只 index 前面的 10 chars;而 PostgreSQL 的 partial indexes 則是指符合某個(gè)條件的 row 才 index。
第二個(gè)是 functional indexes,可以針對欄位計(jì)算後再 index。MySQL 的 partial index 在 PostgreSQL 里可以用 functional indexes + substr() 達(dá)到相同的效果,而且還有其他 function 可以用,花樣更多。
兩個(gè)都是 MySQL 做不到 (或是做不好),但 PostgreSQL 做的不錯(cuò)的。一般在 MySQL 要達(dá)到 PostgreSQL 的這兩個(gè)功能需要另外開一個(gè)欄位,在里面儲(chǔ)存去正規(guī)化后的值,再對這個(gè)欄位 index。
第三個(gè)是講 defrag 的事情,這部份 MySQL 也可以用第三方的工具 Percona Toolkit 搞定。第四個(gè)講 PostgreSQL 的 Write-Ahead Log,有點(diǎn)像是 MySQL 的 binlog。***一個(gè)講 Python上的psycopg2。
看來看去就是 index 那塊最明顯??梢灾苯訙p少去正規(guī)化的欄位…
當(dāng)前題目:Instagram說明用PostgreSQL的五個(gè)優(yōu)點(diǎn)
URL標(biāo)題:http://fisionsoft.com.cn/article/coghicg.html


咨詢
建站咨詢
