99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

MySQL到BigQuery數(shù)據(jù)同步:CDC如何彌補周期同步的漏失

MySQL到BigQuery數(shù)據(jù)同步:CDC如何彌補周期同步的漏失 MySQL 到 BigQuery 的數(shù)據(jù)同步最容易被低估的問題就是時間窗口。無論是定時導(dǎo)出還是按updated_at增量拉取本質(zhì)上都屬于 periodic syncs。它們的共同點是數(shù)據(jù)庫里的變化并不會等待調(diào)度任務(wù)開始也不會按周期整齊地落入邊界。一次刪除、一條字段被改回舊值、一張表在夜間被大批量 UPDATE 后又改回來這些事件都可能發(fā)生在兩批同步任務(wù)的間隙最終 BigQuery 里的數(shù)據(jù)既不是源表的真實狀態(tài)也不是任何歷史時刻的真實狀態(tài)。CDCChange Data Capture通過讀取 MySQL binlog把每一條數(shù)據(jù)變更作為事件流送到 BigQuery正好從機(jī)制上補上了這個缺口。這篇文章圍繞周期同步會漏什么、binlog 為什么能避免漏、落地時要注意什么展開適合正在設(shè)計數(shù)據(jù)管道、給數(shù)倉接增量數(shù)據(jù)或者被批量任務(wù)數(shù)據(jù)不一致問題困擾的開發(fā)者與數(shù)據(jù)工程師。1. 周期同步在 MySQL 到 BigQuery 場景下到底漏了什么1.1 常見的三種周期同步寫法先看最常用的三種同步方式它們并不只是實現(xiàn)細(xì)節(jié)不同能捕獲的數(shù)據(jù)變化粒度也完全不同。第一種是全量導(dǎo)出覆蓋。直接把 MySQL 表導(dǎo)出成文件或通過 SQL 拉取寫入 BigQuery 臨時表再覆蓋目標(biāo)表。這種方式能保證目標(biāo)表最終狀態(tài)一致但同步窗口很長且 BigQuery 做覆蓋時下游可能讀到一半數(shù)據(jù)。數(shù)據(jù)量一旦上億這個方案基本不可持續(xù)。第二種是按自增 ID 增量拉取。記錄max(id)每次只拉大于該 ID 的行像這樣SELECT * FROM orders WHERE id :last_max_id ORDER BY id;這個方案只能捕獲新增數(shù)據(jù)。業(yè)務(wù)表一旦發(fā)生 UPDATE主鍵 ID 不變增量 SQL 永遠(yuǎn)拉不到這一行。DELETE 更不會出現(xiàn)在結(jié)果里。第三種是按更新時間戳增量拉取SELECT * FROM orders WHERE updated_at :last_sync_ts;這是目前最常見的周期同步方案前提是業(yè)務(wù)表有updated_at字段并且所有寫入路徑都正確更新這個字段。實際項目里這個前提經(jīng)常被破壞某些批量導(dǎo)入腳本沒有更新updated_at某些框架寫入時沒有映射該字段于是出現(xiàn)數(shù)據(jù)明明變了增量 SQL 卻查不到的問題。1.2 周期同步一定會錯過的幾類變更物理刪除是最典型的一類。DELETE 之后這條記錄不再存在于表中任何基于當(dāng)前表狀態(tài)的 SELECT 都無法發(fā)現(xiàn)它曾經(jīng)存在過。全量對拍能發(fā)現(xiàn)問題但只能事后補救而且對拍本身在大表上成本極高。沒有更新時間字段或者更新時沒有寫入時間戳也是一類。訂單表如果通過第三方系統(tǒng)直接改庫或者 DBA 手工執(zhí)行 UPDATE 時沒有維護(hù)updated_at那么增量邊界從一開始就是錯的。同周期內(nèi)狀態(tài)回跳同樣會被掩蓋。假設(shè)訂單在 00:00:10 從pending改為paid00:00:20 又改回pending。周期任務(wù)在 01:00 運行拉到的最終狀態(tài)還是pending。從業(yè)務(wù)角度看中間那次paid狀態(tài)也曾經(jīng)是真實數(shù)據(jù)但周期同步完全感知不到。高頻更新更不用說。一張促銷表每秒更新幾千行周期任務(wù)每隔 5 分鐘拉一次單行在周期內(nèi)被反復(fù)更新后最終拉到的只是最后一次值中間所有取值全部丟失。1.3 為什么不是多跑幾次就能解決周期同步的失敗模式是邏輯性漏數(shù)據(jù)不是漏跑任務(wù)。把調(diào)度頻率從小時改成分鐘只是縮小時間窗口并沒有改變讀取當(dāng)前表狀態(tài)的本質(zhì)。一張表在周期內(nèi)發(fā)生了 100 次更新周期同步只能看到最后一行binlog 能看到 100 個事件并且每個事件都保留前鏡像和后鏡像。這就是原理層面的差異。周期同步試圖通過查詢結(jié)果反推變化而 binlog 是 MySQL 自己記錄的寫操作流水賬。流水賬不會因為業(yè)務(wù)表沒有updated_at就缺頁也不會因為 DELETE 后記錄消失就抹去歷史。1.4 三種方案的能力對比維度全量快照增量字段輪詢binlog CDC刪除事件全量對拍后才發(fā)現(xiàn)通常無法發(fā)現(xiàn)每條 DELETE 都有對應(yīng)事件更新歷史只有最后狀態(tài)只有最后一次變更每次 UPDATE 都有前鏡像和后鏡像對業(yè)務(wù)表要求無必須有updated_at等字段無binlog 與業(yè)務(wù)表結(jié)構(gòu)獨立實時性取決于調(diào)度周期取決于調(diào)度周期秒級到分鐘級可配置對源庫壓力大全表掃描代價高中等取決于索引較小讀取日志而不是反復(fù)掃描表從這張表能看出周期同步不是慢而是漏。CDC 的價值不是讓同步更快而是讓變化過程本身可見。2. binlog 為什么能捕捉每一次變化CDC 的原理2.1 binlog 是什么binlog 是 MySQL 的二進(jìn)制日志記錄所有改變數(shù)據(jù)庫內(nèi)容的操作包括 INSERT、UPDATE、DELETE以及部分 DDL。MySQL 主從復(fù)制、崩潰恢復(fù)、數(shù)據(jù)恢復(fù)都依賴它??梢岳斫鉃?MySQL 把每一次寫操作按順序?qū)懙揭槐玖魉~上。binlog 并不是默認(rèn)可用的。MySQL 5.7 中l(wèi)og_bin默認(rèn)關(guān)閉8.0 默認(rèn)開啟但不同發(fā)行版和云廠商的默認(rèn)值可能不同落地前必須先確認(rèn)。如果 binlog 沒有開啟后續(xù)所有 CDC 方案都無從談起。2.2 ROW 格式給 CDC 提供了什么binlog 有三種格式STATEMENT、ROW、MIXED。STATEMENT 格式記錄的是 SQL 語句本身例如UPDATE orders SET statuspaid WHERE id1001;。這種格式日志量小但無法可靠還原每一行在語句執(zhí)行前后的具體值。MIXED 格式是兩者的混合MySQL 會根據(jù)語句類型自動選擇但對于 CDC 場景依然不夠穩(wěn)定。CDC 要求使用 ROW 格式。ROW 格式下binlog 直接記錄行的變化包括字段級的前鏡像和后鏡像。具體來說INSERT 事件包含插入后的完整行數(shù)據(jù)。UPDATE 事件包含變更前的整行數(shù)據(jù)和變更后的整行數(shù)據(jù)。DELETE 事件包含刪除前的整行數(shù)據(jù)。這意味著 CDC 消費者不僅能知道某張表發(fā)生了變化還能拿到 哪一行的哪個字段從什么值變成什么值。2.3 CDC 連接器如何消費 binlogDebezium、Flink CDC 這類工具在原理上會偽裝成 MySQL 從庫。它們通過 MySQL 的復(fù)制協(xié)議從主庫拉取 binlog并把 binlog 里的二進(jìn)制事件解析成結(jié)構(gòu)化的 JSON 變更事件。連接器需要記錄自己的消費位點。傳統(tǒng)方式是記錄 binlog 文件名加偏移量例如mysql-bin.000023的position 45123。更可靠的方式是使用 GTID即全局事務(wù)標(biāo)識符。GTID 能唯一標(biāo)識每個事務(wù)即使 binlog 文件被清理只要 MySQL 實例保留了完整的事務(wù)歷史連接器也能定位到正確的起點。CDC 連接器通常具備先快照再增量的能力。首次啟動時它會先讀取一次源表全量數(shù)據(jù)記錄當(dāng)時的 binlog 位點之后繼續(xù)從該位點消費增量從而保證從啟動那一刻起不遺漏后續(xù)變更。2.4 從 binlog 到 BigQuery 的完整鏈路一個常見的生產(chǎn)架構(gòu)是MySQL master - binlog - CDC Connector (Debezium / Flink CDC) - Kafka Topic - 流處理或?qū)懭氤绦?- BigQuery Storage Write API / Load Job - BigQuery Table也可以簡化為MySQL master - Flink CDC - BigQuery 目標(biāo)表無論采用哪種架構(gòu)核心都是從日志讀取變化而不是定時查詢表。這也決定了后面的環(huán)境準(zhǔn)備、配置、驗證和排錯方式。3. 前期準(zhǔn)備MySQL、BigQuery 和權(quán)限一項都不能省3.1 版本與前置條件在配置 CDC 之前先確認(rèn)環(huán)境是否滿足基本條件組件要求說明MySQL5.7 或 8.0開啟 binlog5.7 建議顯式開啟8.0 確認(rèn)默認(rèn)配置BigQuery數(shù)據(jù)集、目標(biāo)表、服務(wù)賬號建議單獨建服務(wù)賬號避免共用管理員賬號CDC 工具Debezium 或 Flink CDC版本需要與 MySQL 和 Kafka 版本匹配網(wǎng)絡(luò)源庫與數(shù)倉側(cè)連通私網(wǎng)優(yōu)先公網(wǎng)場景需要做好傳輸加密如果源 MySQL 是云數(shù)據(jù)庫還需要查看云廠商是否允許開啟 binlog 保留策略、是否開放復(fù)制賬號權(quán)限。有些托管數(shù)據(jù)庫默認(rèn)不開放REPLICATION SLAVE這是接入 CDC 前最容易發(fā)現(xiàn)的阻塞點。注意開啟 binlog 并切換為 ROW 格式后binlog 日志量通常會變大磁盤占用和復(fù)制延遲都會上升。生產(chǎn)環(huán)境切換前需要評估磁盤余量。3.2 修改 MySQL 配置下面是一份最小可用的 MySQL CDC 配置示例[mysqld] server_id 1001 log_bin /var/log/mysql/mysql-bin.log binlog_format ROW binlog_row_image FULL expire_logs_days 7 # MySQL 8.0 可用以下參數(shù)控制 binlog 保留時長 # binlog_expire_logs_seconds 604800每個參數(shù)的作用server_idMySQL 實例在復(fù)制拓?fù)渲械奈ㄒ粯?biāo)識。CDC 客戶端也會占用一個 server-id不能與主從庫中其他節(jié)點重復(fù)。log_bin開啟 binlog并指定日志文件路徑。binlog_formatROW讓 binlog 記錄行級變更。CDC 必須使用 ROW 格式。binlog_row_imageFULL讓 UPDATE 事件包含整行前鏡像和后鏡像。如果設(shè)置為 MINIMALbinlog 只包含被修改的字段和主鍵CDC 拿不到完整舊行和新行。expire_logs_days控制 binlog 文件保留天數(shù)。保留太短CDC 位點落后時可能追不上保留太長磁盤占用過大。常見建議是 3 到 7 天具體要結(jié)合源庫寫入量和磁盤容量調(diào)整。修改配置后需要重啟 MySQL。重啟前確認(rèn)max_allowed_packet等參數(shù)不會限制大事務(wù)的 binlog 傳輸。3.3 創(chuàng)建 MySQL CDC 賬號建議為 CDC 單獨創(chuàng)建一個賬號避免使用 rootCREATE USER cdc_user% IDENTIFIED BY strong_password; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO cdc_user%; FLUSH PRIVILEGES;三個權(quán)限的含義SELECT用于 CDC 工具首次啟動時的全量快照以及讀取表結(jié)構(gòu)信息。REPLICATION SLAVE允許該賬號通過復(fù)制協(xié)議讀取 binlog這是 CDC 的核心權(quán)限。REPLICATION CLIENT允許執(zhí)行SHOW MASTER STATUS、SHOW BINARY LOG STATUS等命令用于確認(rèn)位點信息。不要把ALL PRIVILEGES都授出去。CDC 賬號只需要讀取能力不需要寫源庫。3.4 BigQuery 側(cè)準(zhǔn)備BigQuery 側(cè)需要準(zhǔn)備數(shù)據(jù)集、目標(biāo)表和服務(wù)賬號。在 Google Cloud Console 中先創(chuàng)建數(shù)據(jù)集例如analytics。目標(biāo)表建議在接入 CDC 之前就定義好字段類型盡量與 MySQL 類型對應(yīng)。如果后續(xù)依賴 BigQuery 自動加列容易遇到 schema 不一致導(dǎo)致寫入失敗。服務(wù)賬號需要授予 BigQuery Data Editor 或更細(xì)粒度的角色。把服務(wù)賬號的 JSON 密鑰下載到寫入服務(wù)所在機(jī)器并通過環(huán)境變量GOOGLE_APPLICATION_CREDENTIALS指向密鑰文件。BigQuery 是列式存儲目標(biāo)表 schema 在寫入前就要對齊。CDC 事件字段如果比目標(biāo)表多需要做過濾如果少目標(biāo)表多出的列會使用默認(rèn)值或 NULL。4. 最小落地鏈路Debezium 捕獲 binlog程序?qū)懭?BigQuery4.1 兩種常用的技術(shù)選型常見方案有兩種方案鏈路適合場景Debezium KafkaMySQL - Debezium - Kafka - 寫入程序 - BigQuery已有 Kafka 基礎(chǔ)設(shè)施需要多消費方Flink CDCMySQL - Flink CDC - BigQuery Sink團(tuán)隊熟悉 Flink希望用 SQL 處理流下面以 Debezium Kafka Python 消費者為例把鏈路拆開看。這樣更容易理解每個環(huán)節(jié)的職責(zé)。Flink CDC 只是把 Debezium 和流處理合并到一個框架里原理一致。4.2 Debezium connector 的配置Debezium 通過 Kafka Connect 運行一個典型配置如下{ name: mysql-orders-connector, config: { connector.class: io.debezium.connector.mysql.MySqlConnector, database.hostname: 10.0.0.10, database.port: 3306, database.user: cdc_user, database.password: xxxx, database.server.id: 5400, database.include.list: ecommerce, table.include.list: ecommerce.orders, database.history.kafka.bootstrap.servers: kafka:9092, database.history.kafka.topic: schema-changes.ecommerce, topic.prefix: mysql, include.schema.changes: true } }關(guān)鍵參數(shù)database.server.idDebezium 會占用一個 server-id。它必須與 MySQL 現(xiàn)有主從庫、其他 CDC 實例的 server-id 不沖突否則連接會被 MySQL 拒絕。database.include.list/table.include.list限定監(jiān)聽的庫表。只同步需要的表能顯著減少 binlog 解析壓力。database.history.kafka.topicDebezium 用這個 topic 記錄表結(jié)構(gòu)歷史。binlog 里的舊事件在解析時可能依賴歷史 schema因此這個 topic 不能隨意刪除。topic.prefix生成 Kafka topic 名稱的前綴。最終 topic 名稱一般是{topic.prefix}.{database}.{table}。4.3 變更事件長什么樣Debezium 輸出的變更事件是一段 JSON核心結(jié)構(gòu)如下{ before: { id: 1001, status: pending }, after: { id: 1001, status: paid }, source: { db: ecommerce, table: orders, server_id: 1001, ts_ms: 1719900000123 }, op: u }op字段表示操作類型op 值含義事件內(nèi)容cINSERT只有afteruUPDATE有before和afterdDELETE只有beforer快照讀取類似 INSERTafter為快照行注意DELETE 事件沒有after。寫入 BigQuery 時如果目標(biāo)表要反映刪除必須自己定義刪除策略比如寫入一條帶刪除標(biāo)記的記錄或者通過主鍵 MERGE 刪除目標(biāo)行。4.4 寫入 BigQuery 的示例程序下面是一個最小 Python 消費者示例從 Kafka 讀取 MySQL 變更事件批量寫入 BigQueryimport json from google.cloud import bigquery from kafka import KafkaConsumer PROJECT my-project DATASET analytics TABLE orders client bigquery.Client(projectPROJECT) table_ref client.get_table(f{PROJECT}.{DATASET}.{TABLE}) def process_event(msg): payload json.loads(msg.value()) op payload.get(op) if op in (c, r): return payload[after] if op u: return payload[after] if op d: before payload[before] before[_is_deleted] True return before return None consumer KafkaConsumer( mysql.ecommerce.orders, bootstrap_serverskafka:9092, group_idbigquery-sync, auto_offset_resetlatest, enable_auto_commitFalse, ) rows [] batch_size 500 for message in consumer: row process_event(message) if row is not None: rows.append(row) if len(rows) batch_size: errors client.insert_rows_json(table_ref, rows) if not errors: consumer.commit() rows [] else: print(errors)這個示例說明的是思路不是完整生產(chǎn)代碼。insert_rows_json適合小規(guī)模驗證生產(chǎn)環(huán)境更推薦使用 BigQuery Storage Write API并配合監(jiān)控、重試和死信隊列。enable_auto_commitFalse是為了避免消息未成功寫入就提交位點減少丟失風(fēng)險但代價是重復(fù)消費因此目標(biāo)表必須容忍重復(fù)。4.5 如果團(tuán)隊已經(jīng)用 Flink可以考慮 Flink CDCFlink CDC 可以把上面的鏈路壓縮成一個 SQL 和一套連接器。用 Flink SQL 創(chuàng)建 MySQL CDC 源表CREATE TABLE mysql_orders ( id INT, user_id INT, amount DECIMAL(10, 2), status STRING, updated_at TIMESTAMP(3), PRIMARY KEY (id) NOT ENFORCED ) WITH ( connector mysql-cdc, hostname 10.0.0.10, port 3306, username cdc_user, password xxxx, database-name ecommerce, table-name orders, server-id 5400-5406, scan.incremental.snapshot.enabled true );scan.incremental.snapshot.enabled在較新版本默認(rèn)開啟。它讓 Flink CDC 以分片方式并行快照大表不需要像舊版本那樣先對全表加鎖再讀取對大表更友好。源表創(chuàng)建后可以再創(chuàng)建 BigQuery Sink 表通過INSERT INTO完成同步。具體 Sink 類名和參數(shù)取決于連接器版本落地前要以當(dāng)前使用的 Flink 和連接器文檔為準(zhǔn)。5. 怎么驗證 binlog 同步?jīng)]有漏數(shù)據(jù)5.1 先確認(rèn) binlog 真的開了進(jìn)入 MySQL 命令行執(zhí)行SHOW VARIABLES LIKE log_bin; SHOW VARIABLES LIKE binlog_format; SHOW VARIABLES LIKE binlog_row_image;預(yù)期結(jié)果中l(wèi)og_bin為ONbinlog_format為ROWbinlog_row_image為FULL。還可以執(zhí)行SHOW BINARY LOG STATUS;如果輸出包含當(dāng)前 binlog 文件名和 position說明 binlog 文件正在正常寫入。5.2 驗證 Kafka 收到了哪些變更先用 Kafka 自帶的控制臺消費命令觀察 MySQL 變更是否進(jìn)入 topickafka-console-consumer.sh \ --bootstrap-server kafka:9092 \ --topic mysql.ecommerce.orders \ --from-beginning然后在 MySQL 中分別執(zhí)行一次 UPDATE 和一次 DELETEUPDATE orders SET status paid WHERE id 1001; DELETE FROM orders WHERE id 1002;正常情況下消費端會看到op為u和d的兩條事件。這一步直接驗證了周期同步最難做到的能力刪除和更新都能被捕獲。5.3 驗證 BigQuery 目標(biāo)表觀察 BigQuery 目標(biāo)表是否有新數(shù)據(jù)寫入。可以通過控制臺查詢也可以執(zhí)行SELECT COUNT(*) FROM my-project.analytics.orders; SELECT MAX(updated_at) FROM my-project.analytics.orders;必須注意一個容易誤判的地方BigQuery 目標(biāo)表不會因為收到了 DELETE 事件就自動刪除對應(yīng)行。如果寫入程序只是把after或before以追加方式寫入刪除事件只會變成一行帶標(biāo)記的數(shù)據(jù)。要真實反映刪除目標(biāo)表需要按主鍵做 MERGE或者通過分區(qū)覆蓋實現(xiàn)。驗證時先明確自己的目標(biāo)表語義是追加明細(xì)還是鏡像源表。5.4 延遲監(jiān)控指標(biāo)從 binlog 到 BigQuery 的同步不是一次性的必須持續(xù)監(jiān)控。常見指標(biāo)包括指標(biāo)含義告警建議Kafka consumer lag消費程序落后的消息數(shù)持續(xù)增長則告警Debezium 位點與當(dāng)前 binlog 的文件間隔連接器是否在追趕超過 binlog 保留期則高風(fēng)險端到端延遲事件寫入 MySQL 到進(jìn)入 BigQuery 的時間差根據(jù)業(yè)務(wù)要求設(shè)置閾值BigQuery 寫入錯誤率schema 不匹配等寫入失敗立即告警把位點落后和consumer lag 持續(xù)增長作為關(guān)鍵告警能提前發(fā)現(xiàn)大事務(wù)、網(wǎng)絡(luò)抖動或消費程序故障。6. 數(shù)據(jù)到達(dá) BigQuery 后模式映射、DDL 和冪等才是真正的坑6.1 MySQL 與 BigQuery 類型映射字段類型映射是 CDC 鏈路里最容易踩坑的部分。下面是常見映射關(guān)系MySQL 類型BigQuery 類型注意事項INT / INTEGERINT64無符號 INT 可能超過 INT64 有符號范圍BIGINTINT64超過 2^63-1 的數(shù)據(jù)要改用 NUMERIC 或 STRINGDECIMAL(p, s)NUMERIC / BIGNUMERIC金額字段不要用 FLOAT精度會丟失DATETIMEDATETIME無時區(qū)語義按原值寫入TIMESTAMPTIMESTAMP建議統(tǒng)一按 UTC 存儲VARCHAR / TEXTSTRING長度和編碼要注意JSONJSONBigQuery 需要字段模式為 JSON 或先轉(zhuǎn)成 STRINGTINYINTINT64 / BOOL看業(yè)務(wù)語義確定最容易出問題的是 DECIMAL。MySQL 中的DECIMAL(10, 2)如果映射成 BigQuery 的 FLOAT640.1 這樣的值可能出現(xiàn)精度誤差。正確做法是映射為 NUMERIC。TIMESTAMP 也容易出問題。MySQL 的TIMESTAMP有會話時區(qū)概念CDC 事件里的ts_ms可能是 UTC 時間而業(yè)務(wù)字段本身可能是本地時間。建議在寫入端統(tǒng)一規(guī)范避免目標(biāo)表同一列混入不同時區(qū)的數(shù)據(jù)。6.2 DDL 變更會打斷 CDC當(dāng) MySQL 表結(jié)構(gòu)變化時CDC 鏈路會面臨兩個層面的問題。第一Debezium 需要依賴database.history.kafka.topic中的 schema 歷史來解析 binlog 里的舊事件。如果這個 topic 被刪除或清理連接器可能無法反序列化舊的 binlog 事件。第二BigQuery 目標(biāo)表的 schema 不會自動跟隨 MySQL DDL 變化。MySQL 加了一列CDC 事件里出現(xiàn)了新字段但 BigQuery 目標(biāo)表沒有這一列寫入就會報錯。處理建議是把 DDL 納入變更流程先審查 MySQL DDL 對同步鏈路的影響。先在 BigQuery 目標(biāo)表補充或調(diào)整 schema。再在 MySQL 執(zhí)行 ALTER TABLE。同步完成后核對事件是否正常。對于大表的 ALTER TABLE還可能導(dǎo)致源庫鎖表和復(fù)制延遲。生產(chǎn)環(huán)境做主從切換時要評估 DDL 對 binlog 位點的影響。注意不要依賴 BigQuery 自動加列來處理所有 DDL 變更。自動加列在不同版本和連接器里行為不一致且不能處理列重命名、刪除、類型變更等復(fù)雜操作。6.3 至少一次語義下重復(fù)是正常的binlog CDC 鏈路通常提供 at-least-once 語義。網(wǎng)絡(luò)閃斷、消費程序重啟、位點提交失敗都可能導(dǎo)致同一事件被重復(fù)消費。因此目標(biāo)表必須能接受重復(fù)。常見做法按主鍵去重寫入前先判斷目標(biāo)表是否已有該主鍵。使用 BigQuery MERGE按主鍵更新目標(biāo)行。在記錄中增加事件版本字段如event_ts_ms或 GTID寫入時取較新的事件。下面是 BigQuery MERGE 的簡化思路MERGE my-project.analytics.orders AS t USING changes AS s ON t.id s.id WHEN MATCHED THEN UPDATE SET status s.status, amount s.amount WHEN NOT MATCHED THEN INSERT (id, user_id, amount, status, updated_at) VALUES (s.id, s.user_id, s.amount, s.status, s.updated_at);MERGE 在處理刪除事件時還可以加一個WHEN MATCHED AND s._is_deleted TRUE THEN DELETE分支。但 MERGE 的成本比流式追加高適合對一致性要求高、更新頻率可控的場景。如果表更新量極大需要考慮分區(qū)覆蓋、冷熱分離等方案。6.4 亂序事件怎么處理同一個主鍵的多條變更在 Kafka 中如果分布到不同分區(qū)消費程序收到的順序可能和源庫事務(wù)提交順序不一致。比如先提交了statuspaid后提交了statuscancelled亂序可能導(dǎo)致目標(biāo)表最終停在paid。處理方式Kafka Topic 按主鍵 hash 分區(qū)保證同一主鍵路由到同一分區(qū)。寫入端使用 binlog 里的ts_ms或 GTID 做排序只接受更新的事件。如果業(yè)務(wù)允許短暫延遲可以在寫入端做窗口緩沖按主鍵排序后批量提交。如果源表存在刪主鍵后重新插入同一主鍵的場景還需要區(qū)分刪除后插入和舊 UPDATE 后到否則可能出現(xiàn)舊數(shù)據(jù)覆蓋新數(shù)據(jù)的現(xiàn)象。這種情況下GTID 或事務(wù) ID 是更可靠的順序依據(jù)。7. 常見問題排查從現(xiàn)象倒推 binlog 鏈路故障7.1 現(xiàn)象連接器啟動時報權(quán)限不足或無法讀取 binlog可能原因MySQL 賬號缺少REPLICATION SLAVE權(quán)限。連接器配置的 server-id 與現(xiàn)有從庫沖突。binlog 未開啟或者binlog_format不是 ROW。排查命令SHOW VARIABLES LIKE binlog_format; SHOW GRANTS FOR cdc_user%; SHOW PROCESSLIST;處理方式核對 MySQL 配置和賬號權(quán)限修改后重啟連接器。server-id 沖突通常會在 MySQL 錯誤日志里看到A slave with the same server_uuid/server_id as this slave has connected to the master之類的信息。7.2 現(xiàn)象任務(wù)運行一段時間后Kafka 里有歷史事件但新事件遲遲不來可能原因Kafka Connect 或連接器進(jìn)程掛掉后位點沒有正確恢復(fù)。MySQL 實例重啟導(dǎo)致 binlog 文件名變化連接器找不到舊位點對應(yīng)的文件。table.include.list配置了大小寫敏感的表名實際表名大小寫不一致。排查方式kafka-consumer-groups.sh --bootstrap-server kafka:9092 --describe --group bigquery-sync重點看CURRENT-OFFSET、LOG-END-OFFSET和LAG。如果 consumer lag 為 0 但新數(shù)據(jù)沒進(jìn)來檢查連接器日志里 binlog offset 是否還在推進(jìn)。必要時做一次 重新快照 增量 的初始化。7.3 現(xiàn)象BigQuery 寫入報錯字段不存在或類型不匹配可能原因MySQL DDL 新增了列BigQuery schema 沒有同步。DECIMAL 字段映射成了 FLOAT64導(dǎo)致精度丟失或?qū)懭胧?。MySQL JSON 字段映射到了 BigQuery STRING但事件里是 JSON 對象。排查方式SELECT column_name, data_type FROM my-project.analytics.INFORMATION_SCHEMA.COLUMNS WHERE table_name orders;處理方式定位是哪一列不匹配先同步 schema再重放失敗事件。不要直接丟棄報錯事件否則會在對賬時發(fā)現(xiàn)數(shù)據(jù)缺口。7.4 現(xiàn)象同步延遲持續(xù)增長可能原因源庫執(zhí)行了大事務(wù)例如一次 UPDATE 超過十萬行binlog 事件量巨大。消費程序單線程寫入 BigQuery寫入速度跟不上源庫變更速度。網(wǎng)絡(luò)帶寬不足或者 BigQuery 寫入配額受限。處理方式在源庫側(cè)避免一次性更新超大范圍拆成小事務(wù)。寫入端改用批量并行寫并啟用 Storage Write API。增加監(jiān)控觀察 binlog 保留時間是否充足。如果消費端位點落后太遠(yuǎn)而 binlog 文件已經(jīng)過期可能需要重新快照。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰永久在线| 色色色色色网| 操操自拍| 五月天大香焦| 粉嫩AV久久一区二区三区| 99av视频| 色婷婷五月天成人网| 99热在线精品播放| 99热很操老逼| 激情婷婷五月在线合集| 另类少妇人与禽zOZZ0性伦| 五月播播| 五月色俺婷婷| 色 丁香婷婷| 1024成人在线观看| 99色.com| 五月丁香狠狠爱婷婷综合| 九九黄色网| 五月天激情www| 激情综合网络插| 亚洲色婷婷五月天| 91久久综合亚洲噜噜成人在线 | 91色色色| 婷婷丁香色五月| 激情5月婷婷| 激情婷婷综合| 再綫Av免费視品| 久久久婷婷五月亚洲97号色| 久操人| 五月丁香花成人社区| 色色色色色色网| 亚洲六月色婷婷| 色色色色网| 激情都市五月天| 五月丁香色色综合| 色欲丁香久久| 久久久久人妻精选| 79精品视频在线观看,| 日本成人噜噜| 丁香五月天激情视频| 99精品爱| 另类激情网| 九九久久综合网站| 色婷婷狠狠18| 亚欧州精品视频| 97色操| 色欲一二三| 婷婷五月天干干| 久久有码| 丁香五月成人网| 色色色9| 久久开心五月天激情| 精品成人无码A片观看香草视频| 五月天开心成人网| 天天干天天叉| 97热在线精品| 久久99网站| 婷婷丁香18| 伊人五月天在线| 日日夜夜狠狠| 女同在线9| 婷婷碰碰| 欧美日韩国产一区| 26uuu.| 能看的av片| 亚洲AAA| 激情五月网站| 五月婷丁香| 亚洲无码11| 久九色| 五月天激情综合| 人人操AV| 色婷婷综合电影| 手机在线日韩视频中文字幕| 成人片久久网站| 五月婷婷丁香大陆免费| 激情综合网五月天| 久久激情视频| 激情国产五月| 五月丁香婷婷综合| 色五月综合激情| 国产精品VA在线| 婷婷五月丁香欧洲| 日韩艹比| 激情五月天丁香| 千人斩操逼| 99免费视频在线观看爱| 色人久久| 久久婷婷五月综合色和| 天天综合情| 综合热无码| 婷婷五月丁香香蕉| 婷婷九月| 人妻AV在线观看| 五月网激情| 日本激情五月| 99热这里只| 中文字幕 中文字幕明步| 超碰2021| 亚洲五月天第一综合干| 91婷婷五月天嫩女| 极品人妻VIDEOSSS人妻| 99免费热视频在线| 久久久久久丁香五月| 97色啪| 欧美搡BBBBB摔BBBBB| 人妻免费网站| 色婷婷综合五月| 99热欧美精品| 热99精品视频| 操一区| 五月丁香婷婷狠狠操| 香蕉婷婷| 丁香五月天资源网| 九热网站| 丁香综合伊人AV| 五月天操逼网| 丁香五月天亚洲综合| 成人五月丁香社区| 丁香婷婷六月| 亚洲欧洲一二| 五月久久丁香| 婷婷综合婷婷| 99视频精品8| 天天天天天日| 99热免费精品| 国产精品国产| 九九性爱网| 深爱五月天婷综合| 婷婷久久大香蕉| 婷婷色色欧美| 欧美五月丁香| 五月天激情黄色网址| 99在线观看视频蜜臀| 超碰免费大香蕉| 丁香五月婷婷色综合| 武则天精品久久| 久久婷婷六月综合综合色| 久久AV无码精品人妻系列试探| 91久久| 《蜘蛛女》梁铮1995| 五月天开心网| 婷五月天在线草| 欧美影院婷婷| 国产成人AV在线| 天天草天天摸| 亚洲五月天色色| 伊人六月无码视频| 亚洲黄网AV| 久久激情综合| 激情六月天| 99热最新地址在线| 99久久久久| 久色网| ww久久| 日韩成人综合| 亚洲乱码w在线观看| 日本情色一区二区| 女人被男人吃奶到高潮| 久久精品91视频| 欧美Va日本Va| 91视频精品99| 五月天婷婷基地| 丁香婷婷色色| 久久久com| 亚洲成人无码网站| 激情五月婷婷| 先锋资源996| 久99热| 大香蕉久久伊人婷婷五月丁香| 伊人激情啪啪| 麻豆科斗777| 婷婷99狠狠躁天天躁| 99啪啪视频| 97碰免费视频在线| 激情婷婷内射| 日韩乱轮AV| 狠狠色狠狠色综合日日91| 国产精品a无线| 久久亚洲网| 婷婷五月色| 熟女重口味αV| 六月丁香啪啪啪| www.夜夜操.con| 狠狠精品干练久久久无码中文字幕 | 丁香花五月天社区| 99在线播放视频| 超碰色综合| 99啪啪视频| 色五月激情婷婷| 精品国产va久久久久| 噼里啪啦完整版中文在线观看| 电影蜘蛛女| 成熟妇人A片免费看网站| 天天操,天天插| 伊人大香蕉毛片| 人人爱人人添| 久久草大香蕉| 久99婷婷色综合| 五月天综合激情网| 777色婷婷爱五月| 五月天婷婷基地| 国精产品一区二区三区| 色婷婷激情| 五月婷婷性爱| www色五月天| 99热久97| 疯狂做受XXXX高潮A片动画| 日韩精品无码99| 五月婷婷黄| 日本啪啪天堂| 丁香六月亚洲综合| 99色综合| 激情超碰网| 91成人电影| 九九sese| 九九综合色综合| 99热8| 婷婷丁香五月,狠狠综合| 色婷婷影视99| 天天爽天天干| 丁香五月综合激情性爱| 色色婷婷综合网| 在线99色| 色婷婷狠狠久久综合五月| 99热碰碰热| 丁香伊人综合| 大香蕉久| 蜜臀99久久精品久久久久| 九九热这里| 天天操狠狠操| 日本天天综合| 婷婷色五月丁香六月欧美啪| 色播色丁香五月| 成人一级片| 天天干天天干天天干天天干天天干天天| 久婷婷五月天影院| 丁香六月婷婷色XXXX| 婷婷综合亚洲| 99精品福利视频| 激情婷婷| 猫咪伊人久久| 久九九热| 91九九精品| 色婷婷丁香五月天| 一起草性爱不卡视频| 亚洲欧美999| 五月丁香六月在线欧美| 99热99极品观看| 日本欧美成人片AAAA| 久久99大全| 天天干天天爽天天操| 91操熟女| 久99久在线| 色欧美日| 久久香蕉婷婷| 婷婷五月在线| 中文字幕av网站| 亚洲字幕AV一区二区三区四区| 婷婷五月天丁香社区| 色偷偷狠狠| 欧美色色色色色色色色色色影视| 婷婷色激情网| 九九成人精品免费视频| 日韩影院三级| www色色com| 日本久久精品18| 99热99日天天干| 成 人片 黄 色 大 片| 日日噜噜夜夜狠狠久久丁香六月| 激情丁香九九五月综合网| 天天干com| 无码G高清天| 欧美日综合| 久久久久久99精品无码| 人人干99| 婷婷精品在线| 午夜色婷婷| 99热在线资源| XX久久| www.99热在线| 97人人看| 丁香五月香蕉在线| 99re在线观看视频| 综合狠狠干| 婷婷爱综合| 精品色情一区二区三区四区| 免费的日逼视频| 亚洲VA欧美VA| 日日夜夜青青草| 亚洲欧洲色色| 五月天久久www| 色插综合网| 久婷婷久草| 婷婷丁香五月激情中文字幕版| 五月情丁香色| 天天成人综合视频| 欧美日韩AAAA| 欧美三日本三级少妇三99| 久色大| 1024操逼视频| 九九亚洲| 伊人在线另类| 丁香久久五月婷综合| 91网站黄| 精品五月丁香| 亚洲无码九九| 另类激情五月| 色婷五月天| 免看黄大片AA | 影音先锋男人女人| 99天堂网最新| 久久久久妻| 丁香五月天激情婷婷丁香六月| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 久九色| 亚洲综合99| 婷婷丁香成人| 欧美日韩婷婷五月天| 99re资源在线视频导航| 丁香婷婷超碰| 涩涩涩,com| 五月丁香花伦理电影| dingxiangtingtingliuyue| 97色色色色色| 深爱五月激情| 99九九精品视频推荐| 香蕉乱插| 激情精品久久| 丁香婷婷色五月激情综合| 成人综合AV| 五月天成人免费视频| www.色五月| 色五月自偷自拍婷婷婷婷| 另类综合激情| 色婷婷五月天在线| 国产成人99久久亚洲综合精品| 噼里啪啦在线观看免费完整版视频| 亚洲AV影片在线观看| 久久久五月天婷婷成人网| 伊人网大香| 欧洲精品欧洲情| av操一操| 丁香婷婷大香蕉| 91日在线视频| 色九月| 免费试看小视频 99| 第五色婷婷| 亚洲午夜AV| 99热99日天天干| 色五月天.con| 色播播五月| 亚洲综合五月天婷婷丁香| 天堂在线伊久| 五月丁香手机在线| 五月丁香激情婷婷| 婷婷激情五月天桃花网| 涩涩五月天综合| 色婷婷六月丁香综合欲精品| 99噜噜噜在线播放| 激情性爱五月天| 色婷婷狠狠久久综合五月| 色九亚洲| 五月天丁香综合在线| 婷婷欧美色| 色色综合激情| 99玖玖视频| 色情五月丁香婷婷网| www,色色色网站| 99这里只有精品| 青青草色在线视频观看| 久久99精品久久只有精品| 国产成人+综合亚洲+天堂| 一区二区三区XXXXXX| 国产精品在线视频| 色色色综合网| www激情| 欧美色色网| 人人干AV| 人人干人人看| 玖玖爱伊人| 亚洲激情婷婷| 91久久九| 99热久久这里只有精品2010| 91碰免费视频| 热这里| 午夜不卡久久精品无码免费| 久久曰曰| 婷婷五月天色| 综合婷婷久久| 五月天综合在线| 视频一二区| www色婷婷com| 亚洲激情Av| 五月天四色房丁香| 伊人久久婷婷五月综合97色| 色婷婷六月综合| 色狠狠色| 欧美综合激情五月丁香| 久久久天堂国产精品女人| 五月丁香婷婷综合久久| 人妻综合网| 丁香五月婷婷Av| 丁香五月婷婷激情蜜桃| 色婷婷AⅤ| 丁香六月在线| 婷婷色在线播放| 久久这里有精品视频| 婷婷中文字幕网站| 婷婷五月深爱五月| 九月av在线| 午夜做爱影院| 六月婷婷九月丁香| 狠狠色五月激情| 色五月综合在线| 日本欧美国产| 狠狠干夜夜干| 情婷婷五月天在线| ..真实国产乱子伦毛片| 婷婷五月情天| 中文字幕精品在线观看| 99色婷婷视频| 精品婷婷五月天| 粉嫩AV久久一区二区三区| 电影爱拉战争免费观看| 日韩国产在线精品| 五月婷婷六月综合| 五月丁香婷婷成人版| 伊人网碰碰| 玖玖爱资源站| 丁香六月天| 五月丁香花伦理电影| 亚洲六月综合激情久久下卡| 久久a热| 91免费看片| 五月婷婷欧美| 南京搡BBBB搡BBBB| 色拍九九九| 婷婷社区五月天| 五月天婷婷网站888| 色五月综合在线| 婷激情五月天视频导航| 99视频热99| 国产日韩欧美性爱| 色欲Av五月天| 久久3级片| 五月丁香偷拍| 色五月婷婷激情综合网| 97碰 在线视频观看| 丁香六月婷婷| 99热无码精品| 九九热99久久99| 久久久久9999| 伊人五月成人| 99热老网站| 99国产精品久久久久久久久久久| 99精品在线观看视频| 激情综合婷婷| 老师高潮流白浆喷水的A片| 五月婷婷丁香五月婷婷丁香| 久久这里只有精品07 | 久久婷网| 精品一二三区久久AAA片| 色色色9| 色婷婷综合久久久久| 国产又黄又爽又色的免费| 思思久久精品| hd五月婷婷在线| 久久9RE热视频精品98| av色色国产| 夜夜骑福利资源| 色综合久久88色综合天天99| 爱穴久久| 99在线观看| 五月色色激情网| 丁香六月婷婷一区| 天堂五月婷婷| OYIWbGcPu8H| 综合大香蕉| wwwC0maV五月花| 99热老司机| 97爱艹婷婷开心丁香激情综合| www999日韩精品| 六月婷婷国产| 色五月丁香五月五月婷婷| 97偷拍在线视频| 色偷偷五月天| 欧美日韩成人在线网站| 天天射色五月天| 激情无码五月天| 国产精品成人网站| 日曰躁夜夜躁2026| 久色激情| www.日日夜夜.com| 激情婷婷丁香| 97丁香五月| 好好日激情五月天| 久久久人妻不卡| 五月丁香婷婷啪啪综合| 激情五月黄色| 少妇出轨做爰高潮A片| 99亚洲天堂| 久久人妻人人| 亚洲aV写真天天综合网久久| 美女主播野战视步页| 五月天丁香六月综合| 激情婷婷五月少妇| 99久久.www| 亚洲综合视频八| 久久久久人妻| 日韩无码成人电影| 欧美精品999| 99黄色性生活| 丁香五月婷久久| 综合激情五月婷婷| 丁香五月成人婷婷| 永久精品| 夜夜躁爽日日| 99精品视频网| 天天综合五月天| 色五月六月| 婷婷五月天成人综合网| 婷婷丁香基地在线| 久热a| 激情丰满熟妇五月| 婷婷色色播五月天| 思思热再线视频| 激情亚洲色图片丁香综合| 婷婷六月丁香久| 亚洲激情99| 九九家庭影院| 天天日夜夜草进麻麻的子宫| 婷婷五月天激情亚洲小说| 欧美天天综合网站上去吧| 秋霞午夜理论 | 玖玖爱导航| 日本毛片内射| 91干在线| 五月婷丁香花| 影音先锋激情网| 久久99热这里只有精品23| 九九家庭影院| A A色色| 丁香婷婷十月| 五月在线| 婷婷激情综合网| 另类图片天天影视在线观看| 综合网激情| 狠狠色综合网| 色插人人| 欧美精品A片一区在线观看| 五月丁香网站| 这里只有精品视频视频在线观看| 99精品视频在线6| 日韩av干| 天天干天天干天天操| 丁香婷婷色情| 久久久久婷婷| 超碰妻人人| 色噜久| 色情五月综合婷婷| 啪啪啪啪五月天| 丁香六月婷婷激情| 大香蕉啪啪| 天天干天天插| 欧美色色色色色色色色| 五月丁香成人| 激情综合网激情五月网| 九九爱这里只有精品| 激情久久久久久久久久久| 超碰人人操在线| 色五月婷婷天天干| 91人人爽久久涩噜噜噜| www.婷婷五月| 中文字幕乱码亚洲精品一区| 亚洲成片在线观看| 五月丁香久人妻中文| 亚洲男人的天堂婷婷色五月| 99∨VTV| 伊人五月天| 六月婷婷毛片| 婷婷综合色| 久久五月丁香激情综合| 97色色色| 无码人妻丰满熟妇奶水区码| 国产无人区大片| 五月丁香网av| 欧美色色色色色| 亚洲综合激情五月久久| 99ri国产精品| 丁香五月婷婷少妇| 五月丁香激情综合网| 激情婷婷五月| www.com任你艹| 狠狠干天天内射| 亚洲天堂色色| 欧美大片免费观看| 国产激情久久久| 性生活久久人妻| 婷婷久久五月天| 丁香五月婷婷高清| 色色婷五月天| www,久久久| 31色区视频免费看| 99re久热只有精品6在线直播| 99热手机在线精品| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 久久久97| 可以看的AV| 五月激情综合网| 97色色婷婷五月天| 狠狠五月激情丁香六月| 久久免费精彩视频| 99九九精品| 久久婷婷综合五月趴| 日本色婷婷| 久久婷婷综合国产| 天天综合在线网| 亚洲欧美在线观看| 女性自慰系列第五页| 99热免费观看| 日韩精品VIP| 丁香婷婷六月天| 五月丁香婷婷综合网| 久久精品婷婷五月丁香| 99热最新| 久久丁香综合香蕉| 天天综合干| 亚洲日日日| 99视频九九热| 久久天天| 色色综合院| 999热成人在线综合网| 黑人糟蹋人妻HD中文字幕| 另类在线| wwwss在线观看| 色婷婷综合亚洲| 月婷婷婷婷五月| 91精品久| 夜夜夜夜撸夜夜操| 五月婷婷9| 丁香婷婷六月在线资源观看| se色婷婷视频| 婷婷九月丁香久久| 激情都市另类| 久热视频这里只有精品68| 天天干天天干天天干| 蜜臀丁香黄色婷婷五月天| 狠狠色五月| 99操免费视频| 亚洲婷婷91丁香| 久久性刺激| 婷婷五月天小说| 99噜噜噜| 久久婷婷色综合| 婷婷射图| 久久久性爱视频| 99精品在线观看| 色色射| 91丨九色丨43老版熟女| 1024日韩| 国内裸舞二区| http:色情日本com| 天天天天做夜夜夜夜做| 91美女艹逼网站| 操骚货在线| 激情av在线| 激情婷婷色色| 激情网五夜婷婷| 色欲一区二区三区精品A片| 婷婷五月激情片| 九月丁香八月婷婷加勒比| 久久人妻人人槡| 免费超碰在线| 丁香五月在线自慰| 天天日日人| 国外亚洲成AV人片在线观看| 99久久久| 五月丁香成人| 99热只有| 无码 色| 99熟女啪啪视频| 99热在这里只有精品| 日日操夜夜爽天天天| 久久五月天影院| 婷婷 丁香 精品| 91久热| 欧美三级巜人妻互换| xxx.色婷婷| 丁香六月色婷婷| 五月天激情小说| 99re视频精品| 99操逼| 成人无码精品1区2区3区免费看| 中文字幕乱轮| 丁香啪啪| 婷婷综合九色伊人| 91婷色| 亚洲爱爱无码婷婷色五月| 九九久久污| 99免费在线| 五月激情综合深爱| 97中文在线| 婷婷五月综合国产精品| 天天综合五月| 79成人网| 九艹在线| 综合久久激情久久| 在线婷婷| SESE无码AV| 色色丁香婷婷| 丁香五月婷婷综合激情啪啪啪| 九九综合九九| 色五狠狠| 九九国产精视频| 亚洲AVwwwwwww| 五月丁香激情综合| 五月天综合色| 天天操九九插| 久久狼人天堂| 日本一区二区三区精品视频| 丁香婷婷五月| 精品色| 婷婷五月丁香综合激情小说| 成人中文字幕在线| 色五月综合激情网| 丁香五月电影| 99综合| 激情五月亚洲综合网| 大香蕉婷婷丁香视频在线| 久久久久久久91| 九九aV| 成人版视频在线观看| 色宗合久久五月婷婷| 九九综合精品| 久热亚洲| 丁香六月天婷婷| 99热久久这里只有精品| 婷婷色五月丁香六月欧美啪| 五月婷婷色五月| 5月婷婷六月丁香| 狠狠色婷婷| 日韩AV在线免费观看| 亚洲av电影网站| 另类小说五月天| www.99视频| 激情五月天综合网| 91精品综合久久久久久五月丁香| 精品九九在线观看| 天天色综合天天| 综合久久高清| aaa9区免费在线观看| 伊人在线另类| 亚洲黄网AV| 一本大道嫩草AV无码专区| 深爱激情综合网| 中文字幕AV在线播放| 综合XX网| 俺去也综合| 国产婷婷色综合AV蜜臀AV| 色五月视频无码播放| 婷婷欧美色| 99热综合在线| 99久久久国产大片| 九九这里只有精品在线视频| 五月天色色色| 五月天亚洲图片婷婷| 另类综合激情| 午夜免费试看| 大香蕉精品视频| 亚洲区视频| 亚洲天堂热| 性爱网五月天| 九九AV在线| 97视频久久| 激情久久五月天| 成片免费观看视频大全| 色九九综合| 丁香五月婷婷六月婷婷| 婷婷五月天AV网| 五月丁香啪啪| 丁香激情五月综合网| 久久这里只有精品07 | 婷婷深爱五月| 2025天天日爽| 久艹大香蕉| 天天综合网91| 丁香六月婷婷色XXXXX| 久久九九99| 五月丁香婷婷综合| 9精品久久999| 啪啪九九色| 丁香五月九九| 性生活视频98791| 日本久久精品| 26uuu国自产精品| 五月www| 丁香激情婷婷网| 日本熟女二区| 色婷婷伊人| 精品人妻一区| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 99这里只有免费的精品| 亚洲五月综合色播| 天天爽免费视频| 婷婷娌伦网| 在线观看中文字幕| 国产黄大片在线观看画质优化| 婷婷在线中文字幕| 一本色道久久综合狠狠躁小说| 99玖玖免费视频| 再綫Av免费視品| 操一操插一插| 99ri精品在线| 9久久精品| 超碰69天堂| 99久精品视频| 第四色色六月色综合| 亚洲色色精品| 激情婷婷五月天| 思思热这里只有精品| 综合aV在线| 99精品国产在热久久婷婷| 丁香六月婷婷| 人人爽亚洲| 色婷婷AAA| 日本精品人妻无码77777| 91亚洲免费片| 激情五月天婷婷久久久久久久久久久 | 99区视频| 99re8在这里只有精品| 九九综合久久| 超碰妻人人| 久久9视频| 婷婷丁香基地在线| 亚洲成人av在线| 熟妇内谢69XXXXXA片| 操人精品| 五月天婷婷色播| 久久丝袜婷婷| 99热网精品| 久99久在线| 99热这里只有精品一区| 婷婷亚洲综合| 视频一区二区在线| 深爱激情中文五月天av| 可以观看的AV| 99久久99九九99九九九| 婷婷久久18| 五月激情另类| 9月色婷婷| 五月综合激情久久| 91久操| 狠狠搞狠狠操| 亚洲精品无AMM毛片| 国产精品成人AV在线| 亚洲性色XXXXX| 中文字幕永久在线| 欧美日本高清视频99| 五月天免费色| 九月婷婷久久久| 婷婷碰碰| 婷婷五月丁香综合激情小说| 亭亭色网| 96色婷婷| 狠狠狠狠狠草| 99精品在线播放| 内射综合网| 亚洲色情网站| 色135综合网| 天天爽天天爽天天爽天天爽天天爽| 99热8| 热日韩欧美| 五月天无码视屏播放| 欧美日朝成人| 久久激情五月网| 成人九九视频| 丁香五月五月婷婷欧美大香蕉| 久久曰曰| 婷婷激情九月| 免费亚洲成人电影AV| 激情五月www| 亚洲成av人影院| 久久亚洲A| 99久久综合网| 999精品乱码77777| 人妻少妇色综合| 日韩AV免费| 五月婷六月丁香| 乱岳熟女50岁| xxxx五月激情| 91日本在线观看| 久久三级视频| 成人亚洲精品| 婷色五月天| www.日韩国产| 日韩超碰在线| 九九精品综合| 色五月激情| 亚洲操精品| 五月天色色婷婷| 91成人看片| 九月婷婷色色| www.色综合.com| 激情视频91| 97色欧美| 五月色网| 天天做夜夜爽| 人妻久久久久久久久妻久久久久久久久 | 六月激情婷婷色| 99热最新| 婷丁香五月天| 青青久在线视频免费观看| 亚洲婷婷丁香五月亚洲| 久久小说| 26UUU精品一区二区c〇m| 97超碰免费超级在线观看| 99re热久久| 99cao婷婷| 色婷婷婷婷五月天| 丁香五月性爱爱五月| 久久精品系列| 丁香六月激情四射| 婷婷金品综合视频| 99热免费精品热久久66| 丁香五月社区| 三十路磁力链接| 亚洲成人日韩无码精品| av操一操| 丁香婷婷色色| 深爱综合网| 色五月 激情婷婷 综合五月天| 国产精品久久久久9999小说| 一本综合丁香日日狠狠色| 九九Y精品热播| 九九视频在线| 在线播放成人网站| 精品国产乱码久久久久夜深人妻| 俺去也在线官网| 激情五月天情色| 久久婷丁香五月| 99色综合网| av中文字幕免费观看| 岛国AV网站| 91人妻人人操人人爽| 色色a| 亚洲激情五月丁香久久久久| 久久九九99.www| 99在线精品视频| 五月天婷婷六月激情网| 婷婷丁香日韩五月| 播五月,色五月,开心五月播放器| 色狠狠色| av操逼网| 色综合九九| 第四色激情网| 啪啪啪五月天| 97五月婷婷| 丁香五月天视频| 婷婷色5月激情网| 另类激情综合| 色色三级视频| 婷婷激情视频| 色插综合网| 97操碰在线视频| 久久婷五月天| 色婷婷www| 黄色99视频| wwww.9免费视频| 久久激情视频| 激情五月亚洲| 色啪网| 中文婷婷狠狠| 丁香五月色| 天天夜夜爽| 五月婷婷免费在线| 大香蕉太香蕉视频97| 79精品视频在线观看,| 婷婷五月骚厕所| 色婷婷操逼| 久热re视频在线观看网站| 99久久婷婷国产综合| 麻豆五月丁香婷婷| 丁香六月综合激情| 超碰免费电影| 国产精品美女久久久久AV超清| 国产激情综合五月久久| 色五月婷婷丁香国产在线| 精品综合爱| AA片在线观看视频在线播放| 男人天堂99| 丁香五月婷婷在线视频| 九九热只有这里精品| 亚洲另类毛片| 色伊人91在线视频| 丁香五月婷婷啪啪| www天天色天天射| 国产26uuu视频| 五月婷婷啪啪| 丁香五月大香蕉AV| 婷婷五月天国产传媒| 天天干夜夜想| 六月婷婷视频| 久久这里只有精品视频1| 丁香色五月婷婷17C| 婷婷欧美激情| 123日本不卡在线| 丁香五月婷婷色| 色老久久| 深爱激情综合网| 日日懆天天懆| 日韩成人五月天| 久久久18| 9久热在线视频精品| 91九九九九九九| 成人午夜视频精品一区| 天天婷婷综合亚洲亚洲| 99热久草| 天天色噜| 五月丁香六月婷婷久久| 色色日韩无码| 婷婷五月天无码熟女| 日本一道久久| 婷婷五月丁香超碰| 精品操逼一区二区| 丁香五月亚洲综合丝袜| 麻豆AV一区二区三区| 久热99| 色综合激情| 色婷婷a v| 狠狠干,狠狠操| 久久人妻伦理| 久久机热思思热| 大伊久久| 色播丁香五月婷婷操:屄| 久久视屏这里只有久久| 91碰碰| 六月丁香婷婷视频综合在线观看| 久久网日本| 婷婷五月丁香综合激情| 超碰国产av| 亚洲色综久久五月| yiqicaoav| 性爱网六月丁香| 伊人综合婷婷| 日本3级片一区2区| 色五月婷婷激情基地| 丁香五月97视频| 综合久久综合五月天婷婷| 超91热| 99精品九九| 肏日网在线看| 伊人三级激情| 五月天综合久久丁香91| 日本99在线视频| 亚洲精品国产setv| 综合激情婷婷| 色频玖玖五月天| 麻豆科斗777| 久久婷五月综合色| 婷婷日日天天| 婷婷五点亚洲| AV性爱网| 大香蕉婷婷五月| 97碰在线视频| 亚洲色婷婷| 超碰v| 亚洲无码 图片区| 丁香六月欧美| 热久国产| 婷婷五月黄色激情在线| 婷婷五月天激情在线观看| 噜噜噜色噜噜| 色色色色色网站| 色五月婷婷基地| www.99久| 久色网| 久久se 综合网| 婷婷五月天性爱视频| www,com,五月色色| 日韩啪啪视频| 色婷婷五月基地在线| 日本五月视频| 国产激情在线| 久久激情综合| 伊人婷婷99热精品| 五月天婷婷亚洲| 超碰国产在线| 伊人综合网4| 99热精品在线免费观看| 九九色人| 爱久久小说下载网| www.色情五月天.com| 亚洲欧美婷婷五月色综合| 五月色导航| 丁香久久| 色99网| 香蕉网婷婷| 97九色视频| 天天开心婷婷丁香五月| 人妻久久久久久久久久| 久久精品4| 久久人妻熟女一区二区| 亚洲欧洲一二| 久久er免费视频| 伊人网色婷婷五月天| 波多野结衣AV无码Porn| 久久xxxx| 9久热在线精品| 精品乱码视频| 亚洲婷婷成人五月天| 色欲久久久久久综合网综合网| 久热大香蕉| 婷婷五月娱乐在线| 全亚洲最大的婷婷五月天网站COM| 69激情小说| 26UUU欧美激情一区二区| 国产精品VIDEOSSEX久久发布| 九九热内射| 色色色色欧洲| 激情五月天电影| 中文字幕在线日亚州9| 亚洲情欲久久| 久月丁香爱婷婷综合| 五月激情站| 国产欧美日韩综合精品一区二区| 停停六月 综合| 电影《战争与艾拉》免费观看| 激情六月天婷婷| 中文字幕欧美日韩VA免费视频| 六月丁香婷婷色狠狠久久| 就爱操www com| 色婷婷婷婷| 欧美日本国产| 玖玖伦理电影| 69久久99精品久久久久婷婷| 亚洲偷| 亚洲色精彩| 亚洲午夜一区二区| 天堂久久久久天堂网| 五月天激情综合在线| 五月婷婷视频在线观看| 黄急一级视频| 色五月天影视| 五月婷视频| 激情五月天婷婷播播久久综合91| 久热这里只精品| 丁香婷婷色情| 免费日本aⅴ中文字幕 | 一本色道久久综合狠狠躁小说| 一区二区传媒视频| 五月婷婷深爱六月| 99热精品在线播放| 996热re视频精品视频| 五月天天天色| 综合久久激情久久| 99爱免费在线观看| 91久久久久久久| 91九色欧美| 五月天激情亚洲| 婷婷色五月大香蕉在线| 九九热10| 天天舔天天爽| 67194成I人在线观看线路1| 97色色综合| 操97在线观看| 国产精品国产VA片国产| 激情综合网激情五月天| 丁香五月性| 九九99免费理论| 碰97久久| 久久人妻精品| 亚洲无码九九九| 天天干com| 六月五月天婷婷涩播在线| 人妻操逼| 99热在线播放| 婷婷基地成人五月天| 五月天综合婷婷| 亚洲综合婷婷| 久久性爱视频| 伊人久久大香网| 97精品欧美91久久久久久久| 非洲一级AV| 婷婷五月丁香超碰| 97在线日本| 天天影院色| 五月婷婷精品| 五月婷婷视频| 久久人人九| 99玖玖免费视频| 色99在线视频| 无码激情| 级情九色| 五月天婷婷小说| 婷婷五月天美女| 9+1视频网址| 国产六月婷婷| 婷婷五月丁香第四色超碰在线| 中文不卡一二三区| av中文网| 无月播播激情在线观看视频| 丁香五月天堂亚洲社区| 五月婷婷天| 99人妻碰碰碰久久久久视| 在线观看亚洲AV| 国产成人av在线播放| 五月丁香人妻| 国产激情久久| 久久婷婷免费| 五月天婷婷丁香社区| 久久久免费图片视频| 丁香五月天激情免费在线观看AV777| 色爱综合五月| 大香蕉99| 99色综合网| AA片在线观看视频在线播放| 激情都市五月天| 九九成年视频| 激情爱爱网站| 色六月丁香婷婷啪啪啪| 另类少妇人与禽zOZZ0性伦| 色五月开心开心五月激情五月| 91碰免费视频| 丁香五月天社区| 丁香五月婷婷基地| 91狠狠综合久久| 丁香五月丁香伊人| 亚洲成人AV电影网| 婷婷少妇激情| 久久99热这里只有| 人妻无码视频网| 婷婷久久色| 超碰av在线| 日韩AV免费电影在线播放| 婷婷成年人免费视频| 五月久久婷婷| 免费视频WWW在线观看网站| 国产色五月| 九九狠狠干| 六月丁香五月婷婷| 夜丁香五月婷婷| 五月丁香六月综合基地| 噼里啪啦在线观看免费完整版视频| 激情五月天色婷婷综合| www.婷婷,com| 色九区| 久久A V无码视频| 精品人人操| 95精品区一区二| 婷婷成人五月天| 开心五月激情| 91丨人妻丨国产丨丝袜| 五月激情影视| 五月婷婷开心综合| 99热偷拍| 婷婷丁香18| 99热在线中文字幕| 五月综合婷婷网| 91打屁股视频网站| 人人摸人人干| www.夜夜操.com| 综合激情五月丁香9999久久精| 欧美日本高清视频99| 色激情五月天| 五月丁香六月婷婷久久肏|