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在线观看| 激情丁香久久| 97九色视频| 色欲午夜无码久久久久久张津瑜 | 99天堂网| 成人网在线视频| 青草青草久9视频在线视频| 婷婷丁香综合成人| www91久久| 色综合天天综合成人网| 色色色在线| 九九这里是免费的视频5| Www99热| WWW.桔色成人.COM| 开心婷婷中文字慕| 免费无码毛片一区二区A片| 欧美色六月婷婷| 婷婷丁香五月天综合激情| 天天情色五月天| 丁香五月婷婷老师网站| 九九色色网| 久久久97| 婷婷五月天VI| 色播五月综合网| 亚洲另类婷婷综合| 五月丁香婷婷综合网| ,99视频久久| 亚洲精品久久久无码| 亚洲99在线| 超级碰碰99| 天天综合精品| 亭亭玉立国色天香| 殴美97色| 精品久久久人妻| 激情五月天综合网站网站网站| 国产乱子轮XXX农村| 激情五月婷婷中文字幕| 久久电影4399| 婷婷色色网| 久草婷婷在线| 九九色色网| 九九热在线观看6| 青青草免费公开视频| 激情都市五月天| 激情五月天情色| 色婷婷免费视频| 五月婷婷啪啪啪| 久久99热这里只频精品6学生| 色综合网上班开心婷婷久久| 精品热九九| 天天做夜夜爽| 婷婷五月天综合蜜桃| 久综合4| 色婷婷狠狠| 九九久久五月天| 青草视频在线观看视频| 久久与婷婷| 99爱在线| 99热国内精品| 日本97人人| 天天操无码| 精品99爱免费视频在线观看| 在线五月婷婷小电影| 久久91久久精品久久| 欧美激情综合色丁香婷婷五月天| 久久黄A片| 一级AV片| 丁香六月婷婷久久综合| 99精品国产在热久久婷婷| 超碰在线9| 深爱激情久久| 日本片日本片祼观看网站在线看中文版网页在线看 | 疯狂做受XXXX高潮A片| 久久99热这里只有精品| 很操日本7| 久热 91| 久久大香蕉丁香| 亚洲综合色色| 国内外色色色色色成人视频| 婷婷丁香五月噜噜噜| 97在线/亚洲| 久久人妻少妇嫩草AV| 综合久久高清| 色播五月婷婷| 热成人网| 色小说五月婷婷| 亚洲综合99| 丁香9月婷婷| 91狠狠综合久久| 天天爽天天日| 人人摸人人摸| 精品A√| 婷婷丁香五月久久| 青青草a在线| 吊色AV男人的天堂| www久久久久| 成人无码精品1区2区3区免费看| 丁香婷婷九月| www.91在线观看| 日本五月丁香| 激情图片婷婷| 婷婷丁香六月影视| 天天爽天天弄| 色愛综合网| 亚洲av无码精品色午夜| 无码九九九九| 99精品偷拍视频| 91男同视频| 淫视馆aV二区一区| 狠狠狠狠狠狠狠狠| 26UUU欧美激情一区二区| 99日韩网站| 天天爽人人综合免费7799| 五月丁香婷婷婷激情爱爱| 欧美五月停| 亚洲色综合| 欧美色五月| 人人草人人爱| 婷婷色在线视频| 色国产五月| 无人区码一码二码三码医生系列| 99久久a线观| 日本欧美国产| 欧美日综合| 噜噜噜久久亚洲精品国产品91 | 五月婷婷激情久久| 99色在线观看视频| 久久五月婷天天干| 99热国产在线| 人人爱人人草| 丁香九月婷婷综合| 婷婷久久五月天| 五月丁香偷拍| 操久久网| 丁香五月偷拍| 丁香五月欧美婷婷综合| 色婷婷亚洲综合天堂| 狠狠婷婷色| 亚洲av| 四川BBB搡BBB爽爽视频| 五月做爱| 99久久玖玖| 婷婷激情人妻| 五月丁香六月婷婷综合在线| 996热| 天天综合91入口| 色啪久 | 六月丁香婷婷亚洲中文玖玖| 色五月婷婷激情五月| 蜜桃婷婷丁香五月天狠狠久久综合| 99re66热这里只有精品| 六月婷婷狠狠| 五月天久草| 99草在线免费观看视频| 超碰高清在线| 亚洲天堂啪啪| 亚洲美女婷婷五月天| 综合99在线| 综合五月天天天天天五月| 俺去也在线官网| 五月天色婷婷网| 色婷婷五月在线| 狠狠草综合网| 久re热视频| 亚洲激情四射| 狠狠婷婷色综合| 99热九九九九| 国产日比| 天天草婷婷五月| 色色成人網| 五月的丁香六月的婷婷| 丁香五月中文字幕久色| 九热...av| 五月丁香久久| 久久久五月天婷婷成人网| 成人在线日韩欧美| 久久久人妻久久久| 丁香花五月天| 五月天婷综合| 午夜不卡久久精品无码免费| 六月丁香停| 丁香五月天AV在线| 色综合日日| 思思精品视频| 色九网| 这里只有精品久久| 色六月视频| 亚洲欧洲中文日韩久久AV乱码| 任你爽精品免费视频6| www.99在线| 五月丁香六月片| 九月婷婷综合网| 成久综合视频| 少妇达人正片在线播放_ikun_福利吧| 激情www| 亚洲无码 图片区| 婷婷五月天天激情| 欧美成人无码高清一区二区三区| 色婷婷五月在线| 婷婷五月天激情四射| 日日干四虎| 殴美日韩成人| 5月婷婷性视频| 囯产精品久久欠久久久久久九大| AA片在线观看视频在线播放| 婷婷伊人综合中文字幕| 天天色综合图片| 五月丁香 啪啪| 国产精品久久久久9999小说| 国产免费AV在线| 亚洲综合婷婷五月| 中文字幕 中文字幕明步| 极品人妻VIDEOSSS人妻| 色热久| 五月天成人网婷婷| 五月丁香六月婷婷网| 亚洲黄色操逼| 五月婷婷丁香五月亚洲色| 五月婷在线观看| 久草热久草在线视频| 欧美性爱中文字幕| 青青五月天婷婷| 免费黄色AV| 91av传媒高清在线视频网| 伊人婷婷综合| 五月天六月色| 九九热最新| 亚洲色婷婷| 性爱激情五月| 色婷婷欧美在线| 99热这里只有精品免费观看| 韩日另类| 色播五月天天| 99激情| 爆乳熟女一区二区三区爆乳| 五月婷婷第四色| www.狠狠| 五月丁色AV| 2017狠狠干| 九九中文色色| 五月开心啪啪| 99国产在线精品视频| jiqingtaose五月天| 五月婷婷五月天亚洲无码| 婷婷网五月天| 丁香五月激情婷婷视频| 中文字幕av在线播放| 狠狠色噜噜狠狠狠777奇米| 久热这里只有国产| 色婷婷小说| 国产AV不卡福利| 婷婷综合色播网| 五月丁香六月| pom538精品视频| 九九这里都是精品| www.cao.com久久| 色情五月天首页| 久热免费| 99这里只有精品视频在线| 99热天堂| 97影院一级片| 成人片在线播放| 热五月婷婷| 色五月中文网| 婷婷五月天丁香社区| 色婷五月天综合网| 亚洲成人中文字幕| 可以免费观看的AV| 精品久久9| 五月丁香综合中文| 玖玖爱伊人| 丁香五月色五月| 亚洲另类av| 亚洲成人婷婷| 色五月欧美| 热99在线精品| 影音先锋天天日| 色久99| 色播五月| 九九热自拍| 99色精品| 免费97碰碰| 9久久婷婷国产综合精品性色| 站长推荐无码播放| 激情五月婷| 秋霞黄色一级久久| 99燥99日| 久久九九免费视频| 狼人婷婷综合| 99热这里只有精品99| 丁香色五月婷婷17C| 亚洲99综合| 久操人妻| 精品欧美一区二区三区久久久| 五月亭亭六月激情| 婷婷丁香18| 色综合色综合色综合| 激情骚五月| 色欲久久久久久综合网综合网| 日本激情91| VA色婷婷| 天天操天天操天天操| 色婷婷久久| 色五月丁香一区在线| 精品无码久久久久久久久| 男女久久婷婷五月天| 婷婷五月天综合久久日美女| 色综合中文| 极骚大香蕉伊人| 色五月丁香网| 99色色爰| 99精品丁香五月| 丁香五月婷婷影院| 天天干,天天舔| 江苏少妇性BBB搡BBB爽爽爽| 丁香五月婷婷基地| 综合激情网五月激情| 九月激情婷婷丁香| 激情婷婷丁香五月天| 99热热九九| 天堂美国久久| 久色大| 26uuu国产| 六月色国内综合| 五月天婷综合| 北京熟妇搡BBBB搡BBBB| 天天干,天天日| 色九月婷婷综合| 丁香五月成人| 91碰超| 中文久久久人妻| 嫩草视频。| 九九热av| 欧美国产一区二区三区| 五月婷婷丁香成人网| www.91热久久| 久久人人妻| 99热成人在线观看| 成人五月天婷婷| 激情综合丁香| 五月婷婷六月丁香| 天天干天天爽| 亚洲国产成人裸舞| 五月婷婷深深的爱| 婷婷久久18| 99久久综合网| 99热综合色图| 久噜久噜| 狠狠色婷婷7| 青草青草久9视频在线视频| 亚州操人在线视频| 伊人在线视频| 99精品久久久久久久婷婷久久| 大香av| 国产精产国品一二三在观看| 色婷婷丁香五月| 天天做天天爱天天爽在| 午夜成人综合| 亚洲殴洲精品Av在线| 噜噜在线| 日韩 中文 欧美| 激情国产五月| 97久久超碰| 婷婷色五天| 开心五月丁香啪| 免费黄色视频网址| 久色五月天| 熟妇人妻中文字幕无码老熟妇| 人人操97| 殴美综合激情五月天免费视频| 深爱五月中文字幕| 人人草成人视频| WWW·色色色·COM| 五月婷婷之综合激情在线| 五月婷婷综合网| 亚洲在线操| 婷婷五月丁香伊人| 亚洲 六月 综合| 五月丁香综合网色欲| 99riAV国产精品视频| 熟妇国产| 99九九这里有免费视频| 日韩黄色中文字幕| 日韩精品AV一区二区三区| 性爱久久| pom538精品视频| 欧美综合激情五月天| 婷婷基地成人五月天| 九热...av| 九九99在线| 色五月色综合| 丁香五月婷婷天激情| AV电影在线播放| 色九区| 97性视频| 五月天久久91| 婷婷亚洲五月| 激情综合一| 99精色| 五月丁香六月婷婷久久久综合| 99国产小视频免费观看| 色综久久AV| 天天爱天天做天天日| 九九色影视| 久久9精品视频| 五月丁香大相交| 婷婷久久综合| 美女激情综合| 91操碰| 五月色丁香| 婷婷九月在线| 激情婷婷色色| 丁香五月六月综合激情| 99综合| 国产成人网址| 色五月激情五月| 五月婷婷AV| 伊人99热| AV九九| 婷婷五月天激情网| 婷婷五月在线影院| 艳妇野外情欲放荡HD| 国产乱子轮XXX农村| 99这里都是精品| 风流少妇A片一区二区蜜桃| 99热免费| 亚洲V国产V欧美V久久久久久| 最近免费中文字幕大全高清大全1| 免费无码毛片一区二区A片| 成人做爰A片免费看视频| 成人精品一区日本无码网| 亚洲无AV在线中文字幕| 久久丁香网| 丁香九月综合在线| 欧美丁香五月97色| 六月丁香成人| 夜夜撸日日骑| 欧美久久网| 91久久婷婷| 丁香婷婷大香蕉| 欧美日韩二区在线| 久久丁香婷婷五月| 五月天婷婷色在线视频免费观看| 婷色成人| 久久a热| 五月色婷婷中文字幕| 99碰碰| 爱草视频在线观看| 玖玖资源在线视频| 日本五月婷| 久久小说网| 最新国产AV| 9l视频自拍9l视频自拍九色学生| 五月天色婷婷激情综合| 99热视精品| 亚洲色色色| 99热99在线| 丁香五月在线观看| 97超级碰人人| 99久久久免费| 久久婷婷操| 婷婷五月天美女21p| 久久一热| 九九久久腿| 97人人操在线| 99日这里只有精品| 亚洲AV综合网| 色色色激情网| 99综合免费视频| 青草热视频这里只有精品| 亚洲视频色婷婷| 色色A| 久热99视频在线观看| 激情綜合網址| 色五月天视频| 天天干天天干天天干| 天天操天天操天天操天天操天天操 | 成人AV在线网站| 天天插综合| 99re思思久久| 亚洲另类毛片| 五月天开心婷婷久久| 99久久综合| 午夜五月天| 婷婷丁香大香蕉| 丁香五月性| 丁香六月激情网C0W| 99九色视频在线观看| 五月综合激情久久| www.激情.com.| 99热亚洲精品| 亚洲精品白浆高清久久久久久 | 深爱激情五月天色婷婷| www.maotanji.com| 婷婷五月丁香成人网| 日本三级韩三级99久久| 久久这里都是精品| 国产精产国品一二三在观看| 99九九精品| 亚洲天码视频www蛋播视频| 噜噜视频| 国产激情在线| 激情五月天第四色| va婷婷在线免费观看| 99精品自拍视频| 一起草日本| 99热欧| Av九九| 色yeye欧美| www.狠狠狠.com| 五月色网| 九九热re99re6在线精品| 这里只有精品在线播放| 五月色综合| 极品色丁香| 五月婷婷人妻| 九九热123| 成人五月天在线观看| 91色吧网| 丁香五月大香蕉AV| 99成人免费热视频| 日本eVa一区=区视频| 丁香五月天欧洲在线| AV在线免费播放| 色色五月综合| 久久人妻www| 亚洲性爱AV在线| 五月天色综合| 日韩超碰在线| 婷婷成人AV| 综合色色色| 久草婷妨| 五月丁香六月婷婷视频| 北条麻妃伊人| 五月开行婷婷色五月| 成人无码髙潮喷水A片| 激情综合五月激情| 五月天另类激情在线| 亚洲精品影视| 色婷婷狠狠18禁| 色色狼人综合| 操碰99| av在线激情| 久久精品夜色噜噜亚洲a∨| 九月av在线| 欧美成人色婷婷| 另类亚洲电影| 亚洲男女激情| 爆乳熟女一区二区三区爆乳| 99久久精品国产色欲| 91大神操美女| 99男人天堂| 丁香久月| 九月丁香八月婷婷久久综合久97| 天天做天天爱天天高潮| 超碰电影在线播放| 亚洲av网站在线观看| 操操人人| 久久久久人妻| 亚洲激情丁香五月基地| 综合久久五| 国产精品成人av在线观看春天| 久久性都花花世界成人免费视频| 国产综合网在线| 午夜av网| 色九月婷婷综合| 色五月婷婷av| 一起草av| 婷婷五月天激情影片| 色五月美女| 狠狠xx| 丁香五月停停基地| 99视频久久| 久热久色| 婷婷五月综合国产精品| 五月婷婷天| www.91在线观看| 九九九九这里只有精品| 五月色婷婷影视在线电影| 99国产精品久久久久久久久久久 | 99热黄| 五月婷婷开心网| 九色地址91视频| 久久五月网| 久久黄A片| 伊人在线视频| 能看的av网站| 五月丁香六月婷婷精品| 九色综合网| 丁香五月天啪啪| 狠狠爱激情网| 亚洲欧美在线观看| 激情五月婷婷五月| 亚洲性受XXXX五月丁香| 影音 五月 婷婷 久久| 狠狠搞狠狠操| VA日本视频| 激情综合色播| 青青久久大香蕉| 婷婷射丁香| 婷婷天天插天天爱| 久久国产高清| 六月色色| 婷婷五月婷婷| 99热国产在| 综合九色| 99热色精品| 日夜夜久久| AV在线观看网站| 国自产拍偷拍精品啪啪一区二区| 丁香婷婷激情五月天无毒不卡蜜桃| 婷婷99狠狠| 激情都市另类| 亚洲AV综合在线观看| 精品综合久久久久久五月天| 啪啪操超碰| 国产偷人爽久久久久久老妇APP| www.minyis.com【JT】实力收量可预付QQ2101460746 | 激情综合婷婷| 婷婷九月亚洲| 伊人热在线大香蕉| 九九综合| 婷婷五月天在线观看免费| 九九人人操| www.婷婷五月.com| 天天色粽合合合合合合合| 婷婷十月激情综合网| 金桔一区二区ab地址| 九97免费视频| 欧美交换配乱吟粗大25P| 色五月综合| 美女婷婷六月色| 色婷婷五月天偷拍| 日本美女97在线视频| 色色色欧美| 久久婷婷成人综合色怡春院| 噜色精品| 午夜丁香六月婷| 亚洲A片成人无码久久精品青桔| 9有码中文| 日日爽天天| 538在线| 久久99激情| 91久久久久| 九九Av| 五月丁香婷婷色色色| 99只有这里是精品| 99亚洲综合| BT综合在线视频观看| 九色视频入口91| 欧美私人家庭影院| 人妻久久久| 精品女人九九九| 久久er99| 国内精品玖玖| 五月丁香激情婷婷综合字幕| 日本综合久| 久久伦乱| 婷婷色色欧美| 99热99思午夜精品| 日韩一级淫乱片一区二区三区| 亚洲爆乳无码精品AAA片蜜桃| 丁香激情网| 欧洲色| 丁香六月伊人| 激情婷婷丁香色五月综合| 色综合五月在线| 色色网91| 久久九九99.www| 97日本在线播放| 婷婷成人基地| 天天色情站| 久热九九| 六月丁香啪啪| 综合婷婷| 五月天久久久| 亚洲综合婷婷| 亚洲丁香花色| 涩涩五月天| 丁香五月天堂| 婷色五月天| 99精品色| 色欲久久综合| 亚洲视频一区| 少妇真实被内射视频三四区| 无码少妇高潮喷水A片免费 | 超碰碰碰碰| 欧美久久婷婷| 狠狠综合| 激情五月五月婷婷| 久久丁香| 中文字幕丰满孑伦无码专区| 无码成人AAAAA毛片AI换脸| 另类小说五月天| 99国产精品久久久久久久久久久| 国自产拍偷拍精品啪啪一区二区| 日韩中文字幕| 五月美女婷婷风骚| 免费日本aⅴ中文字幕 | 激情网开心网| 战争与艾拉电影免费观看| www.俺去也com| 久久综合激情婷婷激情| 久久久久久人妻久久久久久久久久人妻久久久 | 丁香五月天成人| av操B网站| 9999综合99综合人| 久婷久婷激情肉| 秋霞A V毛片| 婷婷五月在线免费| 婷婷五月天六月综合| 成年人99热| 思思精品热在线| 婷婷五月综合网| 超碰免费大香蕉| 操操啪| 另类少妇人与禽zOZZ0性伦| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 亚洲乱码日产精品BD| 久久九九激情五月天 | 成人在线网址| 天天操天天插| 久热精彩视频98| www.五月天婷婷| 丁香五月激情啪啪| 丁香五月婷婷亚洲另类| 色五月天电影| wwwss在线观看| 爽tv | 91精品国产综合久久蜜芽解析速度| 91成人电影| 亚洲色色图片| 女高怪谈在线观看| 秋霞性爱AV| 亚洲亚洲人成综合网络| 九色porny在线观看激情四射| 99九九在线精品热动漫| 97丁香五月天| 色色亚洲五月天| 婷婷综合网| 久久色六月| 吊色AV男人的天堂| 亚洲 精品 综合 精品| 99热精品在线播放| 丁香六月在线| 在线五月婷| 99热1| 丁香五月综合高清在线| 狠狠色综合五月| 欧美色色色色色| 野战J办公桌椅H| 国产精品色婷婷久久久精品| 婷婷另类开心| 激情第四色| 五月丁香| 天天色99| 99综合色色色| 五月婷婷官网色| 天天干夜夜谢| www亚洲无码| 激情com| 婷五月天| 国产精品a无线| 久9免费视频| 五月色欧美| 91凹凸在线| 久久五月婷天天干| 操碰97| 热99这就是精品视频| 久久五月婷| 男女免费视频999| 色狠狠六月| 色五月av| 久婷婷视平| 色色综合色视频| 亚洲丁香五月天视频| 无遮挡国产高潮视频免费观看| 五月精品99综合| 天天日天天做天天舔| 五月婷婷激情综合网 | 亚洲不卡| 日本丁香五月| 婷婷丁香91综合| 天天爽夜夜爽夜夜爽精品| 激情五月婷婷开心网| 国产成人精品一区二三区熟女在线 | 秋霞AV淫| 日韩小视频在线99| 涩涩涩婷婷| 亚洲五月婷| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 色丁香五月| 久久人人做人人妻人人玩精品va| 婷婷五月色| 狠狠色噜噜狠狠狠888| 久久精品熟女亚洲AV麻豆| 婷激情五月天视频导航| 玖玖爱综合网| 超碰伊人碰婷婷五月| 99.色| 婷婷爱五月| 激情五月天色色网| 激情性爱五月| 色色色色色五月| 深爱激情69热| 五月婷A V在线| 亚洲五月天天| 亚洲精品亚洲人成人网| 天天久久狠狠色综合| 九九青草热| www.爱婷婷.com| 久热这里只有精品视频免费观看| 任你躁XXXXX麻豆精品| 日韩欧美五月丁综合| www.黄色片-久久成人国产精品在线播放-999AV | 久久 这里只有精品1| 九九碰九九爱97| 9久久精品| 91超碰在线观看| 色五月激情综合| 色99色| 丁香六月婷婷缴情欧美| 综合性视频99| 欧美成人猛片AAAAAAA| 欧日美女Va| 五月天精品| 五月丁香六月色婷婷综合五月天 | 久久99久久99精品免视看婷| 九九aV| 日韩一级A片黄色| 在线中文亚洲| 亚洲AV网站在线观看| 偷拍91九色| 青青草轻轻操| a久久| 99久久玖玖| 噜噜操操| 99操| 亚洲乱码精品久久久久..| 婷婷五月开心中文字幕色| av中文字幕免费观看| 五月丁香六月婷婷综合网缴情| 国产探花一片区| 色婷婷激情| 五月婷婷AV| 五月综合久久| 久久96热| 婷婷中文字幕网| 91人人爽狠狠狠| 91久久久久久| 婷婷色综合| 五月婷婷成人w| 色综合激情图区| 99在线亚洲| 亚洲成片在线观看| 五月色婷婷中文字幕| 婷婷丁香久久| 丁香五月天堂网| 美女激情婷婷| 成 人片 黄 色 大 片| 激情婷婷内射| 色婷青青| 日日天天干| 亚洲最大在线| 26uuu欧美| 久久伦乱| 26uuu成人网| 深爱婷婷色| 91超级碰人人操| 婷婷射图| 婷婷5月天激情综合| 久久99人人| 精品人妻伦一二三区久久| 色播婷婷五月天| 久久九九99| 综合激情深爱| 欧美激情中文字幕| 99亚洲视频| 欧美亚洲操逼| 在线观看亚洲AV| 精品久久久人妻| 日在线V视频在线播放| www.91AV.com| 激情五月婷婷六月丁香| 99日韩| 色吧网91| 操碰91| 亚洲经典小视频| 91日本在线观看| 91黄色五月天视频| 99热都是精品| 丁香五月婷婷俺也要去| 久久九色| 91伦| 婷婷五月天色| 99精品在线观看视频| 久久久久婷婷五月热综合| 丁香五月很很肏| 色综合婷婷| 九九色热| 五月天色婷婷小说| 亚洲AV综合网| 91碰碰视频在线观看| 激情五月综合网| 婷婷五月视屏| 天天摸,天天爽| 久久久五月婷婷| 激情小说色五月| 色婷婷视频在线| 可以看的AV| 密臀久久| AV在线中文| 丁香五月婷婷久久久| 五月天激情四射| 五月婷婷六月丁香玖玖玫瑰91| 秋霞网在线观看理论91| 日本一级| 人操人| 日韩一区二区A片免费观看| 婷婷五月丁香综合| 色婷婷丁香| 丁香五月综合福利视频导航| 中文字幕av在线| 久久久久久久久久婷婷| 亚洲欧洲中文日韩久久AV乱码| www.婷婷五月| 婷婷丁香小说| 婷婷综合五月色播| 激情五月伊人婷婷| 婷婷九月激情| 大香蕉狠狠爱主页| 开心五月婷婷伊人| 国产真实乱了老女人视频| 五月丁香综合啪啪| 丁香五月av| 欧美爆乳一区二区三区| 婷婷五月丁香基| 五月婷婷激情综合在线| 九色91视频| 玖玖99精品视频| 99久久婷婷国产综合精品电影| 色综合五月天| 天天操婷婷| 五月丁香久久网| 久久婷婷五月天| 草逼大片| 五月婷婷九月婷婷九月婷婷| 五月婷丁香久久久| 丁香六月 婷婷六月| 婷婷久久大香蕉| 欧美日韩成人免费在线| 五月婷婷六月丁香首页| 99资源人人| 国成人网| 久热网站| 一本综合丁香日日狠狠色| 色丁香综合影院| 亚洲 25P| 一区二区中文字幕| 中文网AV| 五月开心婷婷中文字幕| 久久er视频6| av在线资源| 综合色图区| 亚洲无码另类| 五月婷网| AV电影在线播放| 五月丁香久久久久| 日韩在线视频中文字幕| www.99热在线观看| 九九久久99精品免费观看www| 九九热re99re6在线精品| 丁香六月婷婷综合啪啪| 婷婷丁香成人五月天| 日本3级片一区2区| 五月天婷婷色色网| 婷婷欧美激情综合| 色色色婷婷五月天| 欧美内射AA| 色婷婷电影| 欧美va精品va老师va| 丁香五月AV综合| 亚洲第一色色色色| 色综合五月婷婷狠狠干| 这里只有九九精品| 操射国产日本| 色五月天成人| 婷婷婷久久久| 香蕉综合在线| 99热这里只有精品在线| 五月天色色色| 青柠影视免费高清电视剧| 4399无码视频| 丁香五月婷婷影视先锋| 久青草大香蕉| 思思99久久| 操操操操操操婷婷五月天| 色五月丁香总合网| 久久只这里有精品| se99视频| 色综合久久88色综合天天看| 色色婷婷五月天| 色九区| 操老逼综合网| 97性高潮久久久| 激情五月天啪啪| 九九热a| 久久五月天激情视频| 色五月丁香伊人| 在线观看亚洲AV| 操骚货在线| 亚洲乱码日产精品BD| 玖玖婷婷五月天毛片| 色色影院黄大片| 97超碰人人操| 日日夜夜青青草| 人草人人| 秋霞成人毛片一级A片| 99操视频| 五月丁香久久激情综合| 五月99久久| 五月婷婷在线视频免费观看| 亚洲性爱日韩无码| 97精品自拍视频| 色色色热| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 九色视频91| 狠狠色狠狠鲁| 狠狠干,狠狠操| 亚洲va成人va成人va在线观看| 九九热123| 激情综合网色五月| 色网站99| 五月婷婷,六月丁香| 五月丁香狠狠爱| 激情色五月天| 天堂色婷婷| 狠狠狠激情网| 无码橾| 精品夜夜澡人妻无码AV| 99日在线观看视频| 久久草人妻| 黄色激情五月天| AVDV久久| 久久小视频| 五月婷婷丁香五月| 奇米影视在线视频| 婷婷五月激情热播| 五月丁香六月婷婷无码| 六月婷婷五月天| 天天日P天天射P| 99,色| 播四月婷婷六月丁香| 色色射| 国产黄色av| 色色色综合视频| 99网99热| 丰满人妻妇伦又伦精品国产| 六月丁香色色色| 天天添天天摸天天天天做| 91丨九色丨熟女|老版| 青草视频在线观看视频| 91网站黄| 日韩乱玛久久| 激情五月天在线视频| Www.se.久久| 五月丁香六月婷婷,婷| 日本高清综合网五月丁香| 伊人激情AV一区二区三区| 4399在线观看免费高清黄色视频| 久久五月丁香综合17C| 91爱操| 丁香久久激情俄| 婷婷激情五月天在线视频| 99福利导航| 伊人大香蕉爱聚| 国产欧美婷婷| 久9久9久9久9久9久9| 韩国97天堂| 色天天狠狠干| 综合五月婷婷| 综合激情在线观看| 婷婷四色五月| 成人AV在线电影| 91精品综合久久婷婷九色| 热99精品视频| 嫩草AV久久伊人妇女超级A| 99色色| 99免费热视频在线| 97日韩无套内| 五月色丁香综合| 97视频91| 丁香五月天婷婷91| 亚洲色婷婷视频| 极品人妻VIDEOSSS人妻| 人妻操逼视频。| 婷婷五月大香蕉| 日韩性爱无码| 丁香五月婷婷欧美成人色图| 99爱在线视频| 91久久婷婷| 色欧美影院| 日韩AV中文字幕在线| www国产亚洲色婷婷com| 国产人妻人伦精品一区二区| 99,色| 九九RE视频在线精品| 国产激情在线观看| 丁香五月激情婷婷婷婷在线观看| 亚洲天堂婷婷| 丁香婷五月| 99在线精品免费视频| 婷婷五月天激情四射五月天激情| www九九| 五月丁香激情怕怕| 亚洲五月丁香六月婷婷| 六月丁香婷婷综合影院| 激情五月四色| 99久久婷婷国产综合精品电影| 伊人婷婷激情| 婷婷色婷婷| 狠狠色婷婷7| 久久婷婷亚洲| 亚洲一个色| 色五月丁香五月| 亚洲sesesese| 天干夜夜操| 色五月首页| 五月丁香久久| 九九综合色| 色色性爱视频| 无码地址| 丁香五月色| 日本人妻丁香婷婷久久寝取熟女五月| 五月婷婷色播| 丁香五月婷婷婷婷欧美综合| 狠狠干五月天| 97丁香花五月天激情小说| 色色色五月婷婷| 这里只有精品99视频| 亚洲中文字幕在线观看| 六月婷婷狠狠色在线观看| 办公室少妇激情呻吟A片在线观看| 天天做天天爱天天爽在| 538在线精品| 亭亭五月激情亚洲在线| 亚洲区在线| 色亚洲欧洲| 久久天堂精品| 99亚洲精品| 婷婷成人综合| 久久久精品人妻| 五月色婷婷影视在线电影| 99国产精品久久久久久久久久久| 123日本不卡在线| 丁香婷婷激情网站| 日韩无码系列| 久操激情| 99热在线播放| 欧美搡BBBBB摔BBBBB| 米奇影视资源777狠狠色婷婷五月天激情网| 深夜婷婷五月丁香| 五月天色婷婷伊人网| 久久丁香综合精品综合| 婷婷无码五月天| 日本激情91| 97色色色| 亚洲 小说 欧美 激情 另类| 色婷婷在线视频观看| 五月丁香啪啪| 九九久久五月天综合伊人| 色婷五月| 婷婷丁香五月天狠狠| 色色综合热| AV在线免费播放| 成人精品一区二区三区四区五区 | 成人av中文字幕| 99热在线爱| 国产成人AV不卡| 五月丁香六月婷婷欧美综合| 性色婷婷| 欧美性爱五月天| 天天操天天草天天草天天| 一区三区视频有限公司| www色婷婷| 五月丁香婷婷久久| 丁香婷婷综合色五月激情国产基地| 超碰资源在线| 成人必爱视| 成人在线免费网址| 婷婷五月丁香综合| 激情五月亚洲综合网| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 婷婷色日本| 无码A片一区二区免费| 色香欲综合| 色综合久久久久久久久五月| 亚洲精品视频电影| 色婷婷五月天| 五月久视频| 伊人影音无码一区二区三区| 九九热狼人| AAA久久久| 99精彩视频在线观看| www.97干视频| 国产精品第一国产精品| 久久免片| 成人深爱丁香五月| 91综合在线观看| 久99久视频| 色婷婷亚洲五月天| 激情综合4月| 怡红院成人AV| 亚洲激情AV| 99热官网| 春色激情第四色| 亚州操操| 7777国产盗摄农村女人| 999热在线视频| 激情五月天色婷婷综合| 激情四射五月天| 婷婷九九色| 天天干夜夜想| 五月婷婷六月丁香色| 色综合色婷婷色伊人| 人人看人人97| 极品人妻VIDEOSSS人妻| 国产婷婷综合| 99热这里只有精品1998| 色五月综合在线| 婷婷丁香五月综合久久| 久久久久久人妻| 色五月欧美| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 综合色综合| 狠狠色丁香五月婷巨| 97超碰欧美中文字幕| 国产精品人人做人人爽人人添 | 性色欲情 网站| 色色色在线观看| 激情综合网激情五月婷婷| 99热国产这里只有精品| 五月天狠狠| 五月婷婷在线网站| 狠狠搞五月天| 婷婷爱五月| 久热A片| 亚洲激情四射| 99热9999| 成人精品亚洲性爱| 激情综合婷婷| 99热99在线| 亚洲综合无码| 999九九九久久久99HD| 国产精品色情AAAAA片软件| 久久女婷| 色婷久| 丁香六月激情网C0W| 久久久久综合激动五月天| 色V狠狠的干| 99精品女人天堂| 五月婷无码| 日本人人超碰| 乱精品一区字幕二区| 激情綜合W W W,激情五月天|