亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

它是如何工作的? cdc是什么意思?( 三 )


DBA和數(shù)據(jù)工程師應(yīng)當(dāng)持續(xù)關(guān)注并測試 , 那些被添加到生產(chǎn)環(huán)境中的各種觸發(fā)器的性能 , 進(jìn)而決定是否可以容忍此類額外產(chǎn)生的開銷 。
事務(wù)日志CDC

它是如何工作的? cdc是什么意思?

文章插圖


眾所周知 , 數(shù)據(jù)庫雖然主要會(huì)將事務(wù)日志用于備份和恢復(fù)目的 , 但它們也可被用于將變更復(fù)制到目標(biāo)數(shù)據(jù)庫或數(shù)據(jù)湖中 。而在基于事務(wù)日志的CDC系統(tǒng)中 , 數(shù)據(jù)流不會(huì)被持久性存儲(chǔ) 。它們會(huì)使用Kafka去捕獲變更 , 并將變更推送到目標(biāo)數(shù)據(jù)庫中 。
可見 , 基于事務(wù)日志的CDC和基于觸發(fā)器的CDC之間的主要區(qū)別在于 , 每個(gè)變更都將進(jìn)入由數(shù)據(jù)庫引擎所生成的事務(wù)日志中 。也就是說 , 數(shù)據(jù)庫引擎會(huì)使用本機(jī)事務(wù)日志(也稱為重做日志) , 來存儲(chǔ)所有數(shù)據(jù)庫的事件 , 以便在發(fā)生故障時(shí) , 可以恢復(fù)數(shù)據(jù)庫 。它們無需執(zhí)行任何應(yīng)用程序級別的變更 , 或掃描影子表 。因此 , 與基于觸發(fā)器的CDC相比 , 從事務(wù)日志中恢復(fù)數(shù)據(jù)雖然更為復(fù)雜 , 但是會(huì)更加可行 。
優(yōu)點(diǎn):
  • 由于每個(gè)事務(wù)都不需要額外的查詢 , 因此它對生產(chǎn)環(huán)境中的數(shù)據(jù)庫系統(tǒng)的影響最小 。
  • 無需變更生產(chǎn)環(huán)境中數(shù)據(jù)庫系統(tǒng)的架構(gòu) , 或添加額外的數(shù)據(jù)表 。
缺點(diǎn):
  • 由于大多數(shù)數(shù)據(jù)庫并不記錄它們的事務(wù)日志格式 , 也不會(huì)在新的版本中公布對其實(shí)施的變更 , 因此DBA解析數(shù)據(jù)庫的內(nèi)部日志格式會(huì)較為困難 。DBA有時(shí)需要在數(shù)據(jù)庫的每個(gè)新版本中 , 去解析變更數(shù)據(jù)庫的日志邏輯 。
  • 由于日志文件通常會(huì)被數(shù)據(jù)庫引擎予以歸檔 , 因此CDC軟件必須在此之前讀取日志 , 或者能夠讀取已歸檔的日志 。
  • 創(chuàng)建可掃描的事務(wù)日志所需要的額外日志級別 , 可能會(huì)增加少量的性能開銷 。
  • 當(dāng)CDC應(yīng)用程序發(fā)送數(shù)據(jù)時(shí) , 目標(biāo)數(shù)據(jù)庫可能會(huì)意外地變得不可訪問 。它們必須緩沖未發(fā)送的數(shù)據(jù) , 直到目標(biāo)數(shù)據(jù)庫重新聯(lián)機(jī)上線 。當(dāng)然 , 如果未能完成該步驟 , 則可能導(dǎo)致數(shù)據(jù)的丟失或重復(fù) 。
  • 同樣 , 如果源與目標(biāo)之間的傳輸連接出現(xiàn)中斷 , 系統(tǒng)也可能會(huì)發(fā)生故障 , 進(jìn)而導(dǎo)致數(shù)據(jù)的丟失、記錄的重復(fù)、以及需要從初始數(shù)據(jù)處重新啟動(dòng)加載 。
基于觸發(fā)器與事務(wù)日志的比較 總的說來 , 基于觸發(fā)器的CDC和事務(wù)日志CDC , 都是可用于構(gòu)建反應(yīng)式分布式系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)模型 。其中 , 基于觸發(fā)器的CDC使用自己的事件日志 , 作為真實(shí)的數(shù)據(jù)來源 , 而事務(wù)日志CDC則依賴底層數(shù)據(jù)庫的事務(wù)日志作為真實(shí)來源 。
觸發(fā)器可作為每個(gè)數(shù)據(jù)庫事務(wù)的一部分 , 以捕獲實(shí)時(shí)發(fā)生的事件 。對于每次插入、更新或刪除 , 都會(huì)由某個(gè)觸發(fā)器去觸發(fā)記錄的變更 。另一方面 , 事務(wù)日志CDC則可以獨(dú)立于事務(wù)運(yùn)行 。它使用重做日志文件來記錄的變更 。由于CDC操作在發(fā)生時(shí)不會(huì)直接與數(shù)據(jù)庫中的每個(gè)事務(wù)相關(guān)聯(lián) , 因此其性能會(huì)有所提升 。
在實(shí)際應(yīng)用中 , 各種常見的DBSync產(chǎn)品和DBConvert Studio都會(huì)使用基于觸發(fā)器的數(shù)據(jù)庫同步CDC方法 。不過 , 對于集群數(shù)據(jù)庫而言 , 基于觸發(fā)器的方法可能會(huì)比使用MySQL的二進(jìn)制日志、或PostgreSQL的事務(wù)日志 , 要相差許多 。畢竟 , MySQL在其官網(wǎng)上已聲稱:“在啟用二進(jìn)制日志的情況下 , 服務(wù)器的運(yùn)行性能可能會(huì)被略微拖慢 。但是 , 二進(jìn)制日志在方便復(fù)制與恢復(fù)操作等方面的好處 , 通常超過性能上的微降 。”(


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時(shí)就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: