Wordnik 的 MongoDB 使用經(jīng)歷
Wordnik 是一個在線辭典和語言庫,他提供Web頁面并開放有相應(yīng)的API接口,在他們的官方博客中,記錄了他們的一些技術(shù)實踐及相應(yīng)的效果,他們后端存儲經(jīng)歷了從 MySQL 到 MongoDB 的轉(zhuǎn)變,下面是相關(guān)的文章:
What has technology done for words lately? 最近的技術(shù)改進(jìn)
在某些方面僅保證最終一致性
使用文檔型存儲-這里指的是 MongoDB
12 Months with MongoDB 使用 MongoDB 12個月的經(jīng)歷
主要講述了 MongoDB 在Wordnik 系統(tǒng)中的高性能
選擇將存儲遷移到 MongoDB 的原因是性能,MySQL 的性能已經(jīng)不能滿足應(yīng)用需求。
MongoDB 平均每小時處理50w請求,高峰時期可能達(dá)到200w/h.
超過 120億的文檔存儲在MongoDB中,每個Mongo 結(jié)點存儲大約3TB的數(shù)據(jù)
MongoDB 可輕松應(yīng)對每秒 8k 條的靈氣插入,峰值可達(dá)5w 條/s
一個java客戶端對MongoDB進(jìn)行讀操作,可以在千兆網(wǎng)卡上達(dá)到10MB/s的吞吐,四個客戶端大概能達(dá)到40MB/s
相比MySQL 條種操作都有了很大的性能提高:
數(shù)據(jù)獲取操作的時間從400ms 降低到 60ms
dictionary entries 從 20ms 降低到 1ms
document metadata 從 30ms 降低到 0.1ms
拼寫的suggest提示響應(yīng)時間 從 10ms 降低到 1.2ms
MongoDB 內(nèi)部的 Cache 系統(tǒng)使我們不再使用memcached層,這導(dǎo)致響應(yīng)速度提高了大概1-2ms
下面是一個Wordnik的同學(xué)做的一個PPT,講述了Wordnik從MySQL 遷移到 MongoDB 的一些心得:
Migrating from MySQL to MongoDB at Wordnik |