mysql rocksdb使用報告

作者:某網盤DBA
轉發已經過作者同意,如果有其他問題請及時聯系。
非經過允許請勿隨意轉發,尊重版權,感謝。

背景

rocksdb是facebook基于google的leveldb二次開發的key-value存儲引擎。目前,facebook已將rocksdb遷移至mysql,作為mysql的可選的存儲引擎。
此匯報用于記錄rocksdb各種場景下的性能表現,不定期更新。

oltp性能測試

Hardware
Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz(ht 32)
2.0TB memblaze pcie SSD
128GB RAM

OS Version
Ubuntu 14.04.3 LTS

Data Sample
40M rows*16 tables

MySQL Version
MariaDB 10.2.5

Workload
oltp-rw
oltp-ro
update-only(index)

Storeage Engine
innodb(without compression)
innodb-compression
rocksdb

大小對比

大小對比

6億4千萬數據導入mysql,innodb未經壓縮大小為160GB,innodb壓縮后86GB,rocksdb為62GB。
rocksdb只有innodb(壓縮后)的70%。


oltp-rw

70/30讀寫測試,48個并發線程以下,rocksdb ops要比innodb-compress好。
但超過48線程,rocksdb性能下降較明顯。同時,rocksdb的平均響應時間要比innodb高出不少。


oltp-ro

只讀測試,rocksdb只有innodb-compress性能的70%。不過在高并發下,rocksdb平均響應時間表現要比innodb-compress好。


update-only(index)

只寫測試,rocksdb性能表現優異,ops大概是innodb-compress的10倍。隨著并發線程的增加,響應時間幾乎不變,維持在50ms以下。


結論:

1. rocksdb壓縮率非常高,大約只有innodb的1/3,同時也要比壓縮后的innodb小。
2. rocksdb讀性能對比innodb還是差不少,但是跟壓縮后的innodb相比,某些場景下,還是有一定優勢。
3. 寫入性能非常優秀。
4. 非常適合寫多讀少,并且對容量比較敏感的業務場景。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容