中文字幕av高清_国产视频一二区_男女羞羞羞视频午夜视频_成人精品一区_欧美色视_在线视频这里只有精品

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > ToplingDB的分布式Compact和RocksDB的RemoteCompaction有什么不同?

ToplingDB的分布式Compact和RocksDB的RemoteCompaction有什么不同?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 10:47:39 1697165259

一、ToplingDB的分布式Compact和RocksDB的RemoteCompaction不同之處

1、可靠性不同

RocksDB 的 RemoteCompaction:還處在 Experimental 狀態。ToplingDB 的分布式 Compact:已在托管 Todis 中使用多時,得到了充分的驗證。

2、可觀測性不同

RocksDB 的 RemoteCompaction:只能查看 LOG。ToplingDB:通過引擎內嵌 Web,支持分布式 Compact 在線觀測(長時間運行的演示實例)。

3、分布式 Compact 實現方式不同

ToplingDB 的分布式 Compact:是通過將整個數據集分為多個分片,每個節點上都進行 Partial Compaction 操作來實現的。Partial Compaction 僅對每個分片進行壓縮,壓縮完成后,將新的分片發送給其他節點進行合并,最終形成整體的壓縮結果。RocksDB 的 Remote Compaction:是將需要壓縮的 SST 文件從源節點傳輸到目標節點,并在目標節點上執行 Compaction 操作。這種方式允許在遠程節點上執行 Compaction 操作,在網絡傳輸和數據合并方面也更加有效率。

4、數據傳輸方式不同

ToplingDB 的分布式 Compact:采用點對點的方式進行數據傳輸,即將數據塊直接從一個節點傳輸到另一個節點進行合并。在大規模分布式集群中,數據傳輸復雜度較高,可能會影響整個系統的性能。RocksDB 的 Remote Compaction:通過使用基于 TCP 的流式傳輸協議來實現數據傳輸。該協議允許數據在網絡上傳輸時進行壓縮和流式處理,同時減少了數據復制和存儲所需的空間。

5、自適應壓縮策略不同

ToplingDB 的分布式 Compact:通過使用自適應壓縮策略來調整 Compaction 操作的執行時間和頻率。該策略根據定期測量的讀寫負載動態調整 Compaction 的執行時間和頻率,以最大化的優化數據庫的性能。RocksDB 的 Remote Compaction:則采用了類似的自適應壓縮策略,但該策略還考慮了目標節點的 CPU 和磁盤 I/O 負載等因素,以最小化對目標節點的負載影響。

二、RocksDB介紹

1、簡介

Rocksdb 是基于Google LevelDB研發的高性能kv持久化存儲引擎,以庫組件形式嵌入程序中,為大規模分布式應用在ssd上運行提供優化。RocksDB不提供高層級的操作,例如備份、負載均衡、快照等,而是選擇提供工具支持將實現交給上層應用。正是這種高度可定制化能力,允許RocksDB對廣泛的需求和工作負載場景進行定制。

2、架構

RocksDB 是一個基于鍵值對存儲接口的存儲引擎庫,其中鍵和值是任意字節流。RocksDB 將所有數據按排序順序組織起來,常用的操作有Get(key), NewIterator(), Put(key, val), Delete(key), 和SingleDelete(key)。

RocksDB 的三個基本結構是memtable、sstfile和logfile。memtable是一種內存數據結構 – 新的寫入被插入到memtable中,并且可以選擇寫入日志文件(又名。Write Ahead Log(WAL))。日志文件是存儲上按順序寫入的文件。當 memtable 填滿時,它會被刷新到存儲上的sstfile,并且可以安全地刪除相應的日志文件。對 sstfile 中的數據進行排序以方便查找鍵。

RocksDB使用布隆過濾器來判定鍵在哪個sst文件中。為了避免隨機寫,它將數據積累到內存中的memtable中,然后一次性刷寫到硬盤中。RocksDB的文件是不可變的,一旦生成就不會繼續寫該文件。記錄不會被更新或者刪除,會生成一個新文件。這會在硬盤生成一些多余的數據,會需要數據庫Compaction(壓縮),Compaction文件會移除冗余的鍵值對并騰出空間。

3、RocskDB和LevelDB的區別

RocskDB結構和levelDB大同小異,只是多了一些改進:

增加了column family,有了列簇的概念,可把一些相關的key存儲在一起內存中有多個immute memtalbe,可防止Leveldb中的 write stall(寫停頓)可支持多線程同時compaction,理論上多線程同時compction會比一個線程compaction要快支持TTL過期淘汰機制flush與compation分開不同的線程池來調度,并具有不同的優先級,flush要優于compation,這樣可以加快flush,防止stall對SSD存儲做了優化,可以以in-memory方式運行增加了對 write ahead log(WAL)的管理機制,更方便管理WAL,WAL是binlog文件支持多種不同的compaction策略

三、ToplingDB介紹

1、簡介

ToplingDB 是 較好ling 開發的 KV 存儲引擎,fork 自 RocksDB,進行了很多改造,其中一個最重要的功能是分布式 Compact,將 Compact 從 DB 結點轉移到由多個 DB 共享的計算集群中執行,實現了降本增效的目的。

2、Compact 中反查 DB

在一些應用中(例如 pika、kvrocks 等等),CompactionFilter 需要反查 DB(使用 DB::Get) 獲取元數據,而在 Compact 服務中,只有 SST,沒有 DB 對象,這就使得 CompactionFilter 無法在 Compact 服務中工作。

在 Todis 中,我們通過事先把 CompactionFilter 反查會用到的元數據撈出來,然后在 Compact 服務中訪問,代替原本的 DB::Get,為此我們還對 Todis 的數據進行了針對性的編碼。

在 kvrocks 中,因為數據的組織方式,無法通過編碼在 Compact 服務中有效地代替原本的 DB::Get,所以,只有 metadata 才能支持分布式 Compact。kvrocks 中各種數據類型的 metadata 保存在一起,如果照搬 todis 的方案,事先撈數據,撈到的元數據很可能 99.9% 都是無用的元數據,例如 compact hash 數據時,事先撈出來的元數據可能大都是 string 數據。

延伸閱讀1:數據庫存儲引擎是什么

存儲引擎說白了就是如何存儲數據、如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方法。因為在關系數據庫中數據的存儲是以表的形式存儲的,所以存儲引擎也可以稱為表類型(即存儲和操作此表的類型)。在Oracle 和SQL Server等數據庫中只有一種存儲引擎,所有數據存儲管理機制都是一樣的。而MySql數據庫提供了多種存儲引擎。用戶可以根據不同的需求為數據表選擇不同的存儲引擎,用戶也可以根據自己的需要編寫自己的存儲引擎。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 麻豆专区一区二区三区四区五区 | 一级特黄色大片 | 久久精品国产一区二区电影 | 日本黄区免费视频观看 | 欧美日本亚洲 | 精品日韩在线 | 天天天色| eeuss影院一区二区三区 | 九九在线视频 | 欧美视频xxx | 久久久免费 | 午夜精品一区 | 国产高清一区 | 91伊人网| 99re视频在线观看 | 国产一区二区不卡 | 亚洲精品v | 国产精品毛片无码 | 亚洲精品美女 | 狠狠做深爱婷婷久久综合一区 | 亚洲国产一区二区三区 | 一级片大全 | 日本福利一区 | 少妇撒尿一区二区在线视频 | 伊人超碰 | 久久久久久久久久久久国产精品 | 91原创视频在线观看 | 综合视频一区二区三区 | 国产精品视频 | 欧美在线视频一区二区 | 精品国产一区二区三区av小说 | 亚洲午夜剧场 | 国产精品久久久久久久久久久久冷 | 成人网址在线观看 | 亚洲一二三区影视 | 色伊人| 日韩一区二区精品 | 成人免费在线电影 | 一区二区激情 | 国产乱码精品一区二区三区忘忧草 | 久久精品国产亚洲 |