Mongodb引擎RocksDB系列----初識RocksDB

      網友投稿 1069 2022-05-30

      MongoDB引擎RocksDB系列----初識RocksDB

      RocksDB簡介

      RocksDB由facebook開創和維護(項目git址:https://github.com/facebook/rocksdb), 該項目旨在開發一個與快速存儲器(尤其是閃存)存儲數據性能相當的數據庫軟件,以應對高負載服務。RocksDB官網(https://rocksdb.org)首頁頭條注明了其項目的宗旨:RocksDB是一個可嵌入的,持久型的key-value存儲,為了更快速的存儲環境而生。RocksDB起源Leavel DB,在Level DB的基礎上優化而成,其在寫性能上有了很大的提升。

      Mongodb和RocksDB的關系

      mongodb從3.2版本開始支持多數據存儲引擎(WiredTiger,MMAPv1, In-Memory),其中WiredTiger為MongDB默認的存儲引擎。所謂的多數據儲存引擎形象的說就是拔插式引擎,你想使用哪個引擎就插入這個引擎并拔掉前面的引擎就可以使用了,簡單方便快捷。Mongodb提供整個數據庫集群的管理工作,而真正將數據持久化的則是數據存儲引擎。

      Mongodb和存儲引擎之間的關系

      Mongodb 集成RocksDB

      要將RocksDB集成到Mongodb中,首先需要RocksDB實現Mongodb 的Engine API,這樣mongodb通過操作Engine API 來存儲數據而不用關注真正的數據存儲引擎是什么。RocksDB由于是一款獨立的數據存儲引擎,facebook并沒有實現mongodb Engine API, 因此需要使用第三方提供的開源軟件Mongo-rocks(git :https://github.com/mongodb-partners/mongo-rocks).

      安裝和編譯RocksDB:

      RocksDB依賴一些開源第三方軟件,需要先安裝這些軟件:

      gflags:

      unzip gflags-2.0.zip

      cd gflags

      ./configure && make && sudo make install

      Snappy:

      tar -xzvf snappy-1.1.4.tar.gz

      cd snappy-1.1.4

      ./configure && make && sudo make install

      zlib, zlib-devel, bzip2, bzip2-devel:

      sudo yum install zlib

      sudo yum install zlib-devel

      sudo yum install bzip2

      sudo yum install bzip2-devel

      zstd:

      tar zxvf zstd-1.1.3.tar.gz

      Mongodb引擎RocksDB系列----初識RocksDB

      cd zstd-1.1.3

      make && sudo make install

      編譯 rocksdb:

      注意:rocksdb版本向后兼容的,因此最新的版本都是可以集成的,本文檔以5.4.10版本為例。其中rocksdb-rocksdb-5.4.10為編譯的rockdb源碼目錄.

      cd rocksdb-rocksdb-5.4.10; USE_RTTI=1 CFLAGS=-fPIC make shared_lib;sudo INSTALL_PATH=/usr make install

      編譯mongo-rock ,mongod:

      注意:其中mongo-r3.2.18為mongodb源碼目錄,mongo-rocks-r3.2.18為mongo-rocks的源碼目錄.

      mkdir -p /data/mongodb/shm/mongo-r3.2.18/src/mongo/db/modules/;

      ln -sf /data/mongodb/shm/mongo-rocks-r3.2.18 /data/mongodb/shm/mongo-r3.2.18/src/mongo/db/modules/rock;

      cd /data/mongodb/shm/mongo-r3.2.18; scons MONGO_VERSION=3.2.18 all --ssl? -j 16? --opt=off;

      啟動mongod:

      執行完上述的編譯步驟后,編譯出來的mongod的存儲引擎就是RocksDB了,啟mongod的時候帶參數--storageEngine=rocksdb 即可(詳盡的參數可以參考文章https://www.percona.com/doc/percona-server-for-mongodb/3.4/mongorocks.html).

      MongoDB

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:脫離虛擬機,windows系統連接開發板
      下一篇:《Office 2019高效辦公三合一從入門到精通 : 視頻自學版》 —2.1.4輸入帶圈文本
      相關文章
      在线观看国产一区亚洲bd| 亚洲人成影院77777| 狠狠综合亚洲综合亚洲色| 亚洲一级毛片免费看| 久久亚洲国产精品五月天| 亚洲精品GV天堂无码男同| 亚洲国产成人手机在线电影bd | 亚洲成色在线影院| 亚洲色偷拍区另类无码专区| 亚洲欧洲自拍拍偷精品 美利坚| 亚洲а∨天堂久久精品| 国产亚洲午夜精品| 亚洲精品成人久久久| 亚洲另类少妇17p| 国产亚洲精品免费视频播放| 亚洲色偷偷综合亚洲AVYP| 久久亚洲AV永久无码精品| 亚洲免费观看视频| 亚洲AV永久纯肉无码精品动漫| 久久久久久a亚洲欧洲AV| 亚洲av无码国产精品夜色午夜| 亚洲精品无码不卡| 亚洲精品无码久久久久久久 | 亚洲第一二三四区| 亚洲一区电影在线观看| 亚洲色欲色欲www在线播放| 亚洲精品国产第一综合99久久| 亚洲AV无码一区二区三区鸳鸯影院| 亚洲AV无码乱码在线观看| 中文字幕亚洲乱码熟女一区二区 | 亚洲国产精品一区二区第一页| 久久久久亚洲AV成人无码网站| 久久精品国产亚洲av麻豆色欲| 亚洲国产成人超福利久久精品| 亚洲成人激情小说| 妇女自拍偷自拍亚洲精品| 国产亚洲精品精品国产亚洲综合| 亚洲av无码乱码国产精品fc2 | 亚洲精品无码99在线观看| 亚洲精品乱码久久久久久中文字幕| 久久亚洲国产伦理|