欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

7:基于語句和行復(fù)制的優(yōu)缺點

每種二進制日志格式都有優(yōu)點和缺點。對于大多數(shù)用戶,混合復(fù)制格式提供了數(shù)據(jù)完整性和性能的最佳組合。但是,如果您希望在執(zhí)行某些任務(wù)時利用特定于基于語句或基于行的復(fù)制格式的功能優(yōu)勢,則可以使用本節(jié)中的信息,其中總結(jié)了它們的相對優(yōu)點和缺點,以確定哪一個最適合您的需求

創(chuàng)新互聯(lián)專注于中大型企業(yè)的網(wǎng)站制作、成都做網(wǎng)站和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計客戶千余家,服務(wù)滿意度達97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運用,我們將一直專注成都品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開發(fā),在前進的路上,與客戶一起成長!

  1. 基于語句的復(fù)制的優(yōu)點
    • 成熟的技術(shù)
    • 寫入日志文件的數(shù)據(jù)較少。當(dāng)更新或刪除影響許多行時,這會導(dǎo)致日志文件所需的存儲空間大大減少。這也意味著從備份中獲取和恢復(fù)可以更快地完成。
    • 日志文件包含進行任何更改的所有語句,因此可用于審核數(shù)據(jù)庫。
  2. 基于語句的復(fù)制的缺點
    • Statements that are unsafe for SBR.并非所有修改數(shù)據(jù)的語句(例如INSERT DELETE,UPDATE和REPLACE語句)都可以使用基于語句的復(fù)制進行復(fù)制。使用基于語句的復(fù)制時,任何非確定性行為都難以復(fù)制。此類數(shù)據(jù)修改語言(DML)語句的示例包括以下內(nèi)容:
      • 依賴于UDF或不確定的存儲程序的語句,因為這樣的UDF或存儲程序返回的值或取決于提供給它的參數(shù)以外的因素。(但是,基于行的復(fù)制只是復(fù)制UDF或存儲程序返回的值,因此它對表行和數(shù)據(jù)的影響在master和slave上都是相同的。)更多信息請看 Section 16.4.1.16, “Replication of Invoked Features”
      • 不帶ORDER BY的LIMIT子句的DELETE和UPDATE語句是不確定的。更多信息請看Section 16.4.1.17, “Replication and LIMIT”.
      • 必須在slaves上應(yīng)用確定性UDF
      • 使用基于語句的復(fù)制無法正確復(fù)制使用以下任何方法的語句:
        • LOAD_FILE()
        • UUID(), UUID_SHORT()
        • USER()
        • FOUND_ROWS()
        • SYSDATE() (unless both the master and the slave are started with the --sysdate-is-now option)
        • GET_LOCK()
        • IS_FREE_LOCK()
        • IS_USED_LOCK()
        • MASTER_POS_WAIT()
        • RAND()
        • RELEASE_LOCK()
        • SLEEP()
        • VERSION()
      • 但是,使用基于語句的復(fù)制(包括NOW()等)可以正確復(fù)制所有其他函數(shù)。更多信息請看Section 16.4.1.15, “Replication and System Functions”.
      • 使用基于語句的復(fù)制無法正確復(fù)制的語句將記錄如下所示的警告
      • [Warning] Statement is not safe to log in statement format.
      • 在這種情況下,也會向客戶端發(fā)出類似的警告。 客戶端可以使用SHOW WARNINGS顯示它
    • INSERT ... SELECT需要比基于行的復(fù)制更多的行級鎖
    • 需要進行表掃描的UPDATE語句(因為WHERE子句中沒有使用索引)必須鎖定比基于行的復(fù)制更多的行
    • 對于InnoDB:使用AUTO_INCREMENT的INSERT語句會阻止其他非沖突的INSERT語句
    • 對于復(fù)雜語句,必須在更新或插入行之前在slave上評估和執(zhí)行該語句。對于基于行的復(fù)制,slave只需修改受影響的行,而不是執(zhí)行完整語句。
    • 如果在對slave的評估中出現(xiàn)錯誤,特別是在執(zhí)行復(fù)雜語句時,基于語句的復(fù)制可能會隨著時間的推移逐漸增加受影響行的誤差范圍,更多信息請看Section 16.4.1.28, “Slave Errors During Replication
    • 存儲函數(shù)執(zhí)行時與調(diào)用語句的NOW()值相同。但是,存儲過程不是這樣的。
    • 表定義在master和slave上必須(幾乎)相同。更多信息請看Section 16.4.1.10, “Replication with Differing Table Definitions on Master and Slave”
  3. 基于行的復(fù)制的優(yōu)點
    • 可以復(fù)制所有更改。 這是最安全的復(fù)制形式。
      • 注意:
        • 更新MySQL數(shù)據(jù)庫中的信息的語句(如GRANT,REVOKE和觸發(fā)器操作,存儲的例程(包括存儲過程)和視圖)都使用基于語句的復(fù)制復(fù)制到slave上
        • 對于諸如CREATE TABLE ... SELECT之類的語句,將從表定義生成CREATE語句并使用基于語句的格式進行復(fù)制,而行插入使用基于行的格式進行復(fù)制。
        • 對于以下類型的語句,master上需要更少的行鎖,從而實現(xiàn)更高的并發(fā)性
    • 對于以下類型的語句,master上需要更少的行鎖,從而實現(xiàn)更高的并發(fā)性
      • INSERT ... SELECT
      • INSERT statements with AUTO_INCREMENT
      • UPDATE or DELETE statements with WHERE clauses that do not use keys or do not change most of the examined rows.
    • 對于任何INSERT,UPDATE或DELETE語句,slave需要更少的行鎖。
  4. 基于行的復(fù)制的缺點
    • RBR會生成更多必須記錄的數(shù)據(jù)。要復(fù)制DML語句(例如UPDATE或DELETE語句),基于語句的復(fù)制僅將語句寫入二進制日志。相比之下,基于行的復(fù)制將每個更改的行寫入二進制日志。如果語句更改了許多行,則基于行的復(fù)制可能會將更多數(shù)據(jù)寫入二進制日志; 即使對于回滾的語句也是如此。這也意味著制作和恢復(fù)備份可能需要更多時間。此外,二進制日志被鎖定較長時間來寫入數(shù)據(jù),這可能會導(dǎo)致并發(fā)問題。使用binlog_row_image = minimal來顯著減少缺點。
    • 與基于語句的復(fù)制相比,使用基于行的復(fù)制生成大型BLOB值的確定性UDF需要更長的時間來復(fù)制。這是因為記錄了BLOB列值,而不是生成數(shù)據(jù)的語句。
    • 您無法在slave上看到從master接收和執(zhí)行的語句。但是,您可以使用mysqlbinlog以及--base64-output = DECODE-ROWS和--verbose選項查看更改了哪些數(shù)據(jù)。 或者,使用binlog_rows_query_log_events變量,如果啟用,則在使用-vv選項時將該語句添加到mysqlbinlog輸出的Rows_query事件。
    • 對于使用MyISAM存儲引擎的表,當(dāng)將INSERT語句作為基于行的事件應(yīng)用于二進制日志而不是將它們作為語句應(yīng)用時,INSERT語句的slave需要更強的鎖。這意味著在使用基于行的復(fù)制時,不支持在MyISAM表上進行并發(fā)插入。

參考鏈接:https://dev.mysql.com/doc/refman/5.7/en/replication-sbr-rbr.html

PREV:6:多源復(fù)制的實現(xiàn) https://blog.51cto.com/itzhoujun/2353940

網(wǎng)頁標(biāo)題:7:基于語句和行復(fù)制的優(yōu)缺點
網(wǎng)站地址:http://chinadenli.net/article8/gsjcop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序品牌網(wǎng)站建設(shè)面包屑導(dǎo)航App開發(fā)網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作