Clickhouse源碼分析復制表數據的同步原理

      網友投稿 1164 2022-05-29

      代碼基于21.3.4.25-lts版本,本文以復制表insert的流程為例,講述在一個副本中插入數據,是怎么將數據同步到另外一個副本。

      # 復制表的創建,這里主要創建幾個重要的監控線程 StorageReplicatedMergeTree::StorageReplicatedMergeTree queue // 表的隊列,保存了需要處理的操作 restarting_thread // 重連zk的線程,保證能夠一直連接zk ReplicatedMergeTreeRestartingThread::run queue_updating_task // 隊列更新任務,監控zk上的log,將它們加載到queue中 mutations_updating_task // mutation更新任務,監控zk上的mutations節點 merge_selecting_task // 選擇part進行merge或者mutate的任務 background_executor // 后臺處理隊列的線程 # 數據的寫入 InterpreterFactory::get InterpreterInsertQuery::execute StorageReplicatedMergeTree::write ReplicatedMergeTreeBlockOutputStream ReplicatedMergeTreeBlockOutputStream::write writeTempPart // 數據寫入本地磁盤 commitPart // 向zk提交插入的part信息 renameTempPartAndAdd // 臨時目錄變為正式目錄 makeCreateRequest // 提交log_entry,zk上會創建log-xxx mergeSelectingTask // 主動觸發merge任務 # 隊列更新線程 queueUpdatingTask,也就是log entry的監控線程 ReplicatedMergeTreeQueue::pullLogsToQueue // 監控zk上是否有新的log產生 makeCreateRequest // 將log的內容放到zk上的/queue節點下 insertUnlocked // 在queue中新增當前entry # 隊列任務處理進程 scheduling_task StorageReplicatedMergeTree::getDataProcessingJob selectQueueEntry queue.selectEntryToProcess // 從queue中選擇可以執行的log entry processQueueEntry // 處理隊列中的任務 processEntry executeLogEntry // 如果當前entry指定的part在本節點上,則return,否則從副本fetch executeFetch // 找到一個有該part的副本就可以 fetchPart fetcher.fetchPart // 通過http獲取具體數據 removeProcessedEntry // 刪除zk上的隊列

      Clickhouse源碼分析:復制表數據的同步原理

      ClickHouse

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

      上一篇:PyAutoGUI——圖形用戶界面自動化(超級詳細)
      下一篇:ubntu使用命令行進行目錄操作
      相關文章
      亚洲最大的成网4438| 亚洲免费观看网站| 亚洲日本中文字幕| 中文字幕亚洲专区| 亚洲日韩VA无码中文字幕| 国产亚洲精品91| 亚洲成av人片不卡无码久久| 亚洲国产乱码最新视频| 亚洲综合丁香婷婷六月香| 亚洲视频在线观看网站| 亚洲精品福利网泷泽萝拉| 亚洲成a人片在线观| 激情五月亚洲色图| 亚洲日韩国产AV无码无码精品| 亚洲色无码专区一区| 亚洲精品久久无码| 国产亚洲蜜芽精品久久| 亚洲AⅤ永久无码精品AA| 中文字幕亚洲日本岛国片| 亚洲国产日韩在线视频| 亚洲AV日韩AV天堂久久| 亚洲视频小说图片| 亚洲免费网站在线观看| 亚洲熟妇自偷自拍另欧美| 亚洲欧美国产精品专区久久| 国产成人va亚洲电影| 亚洲色欲久久久久综合网| 亚洲色精品aⅴ一区区三区| 亚洲s色大片在线观看| 91亚洲自偷手机在线观看| 亚洲成人动漫在线观看| 亚洲综合一区无码精品| 另类小说亚洲色图| 亚洲一区二区女搞男| 亚洲国产成人久久综合碰碰动漫3d| 亚洲视频一区二区在线观看| 亚洲无mate20pro麻豆| 亚洲av无码成人精品国产 | 亚洲另类视频在线观看| 亚洲人成色99999在线观看| 亚洲?V无码成人精品区日韩|