日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

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

MySQL到BigQuery數(shù)據(jù)同步:CDC如何彌補(bǔ)周期同步的漏失 MySQL 到 BigQuery 的數(shù)據(jù)同步最容易被低估的問題就是時(shí)間窗口。無論是定時(shí)導(dǎo)出還是按updated_at增量拉取本質(zhì)上都屬于 periodic syncs。它們的共同點(diǎn)是數(shù)據(jù)庫里的變化并不會(huì)等待調(diào)度任務(wù)開始也不會(huì)按周期整齊地落入邊界。一次刪除、一條字段被改回舊值、一張表在夜間被大批量 UPDATE 后又改回來這些事件都可能發(fā)生在兩批同步任務(wù)的間隙最終 BigQuery 里的數(shù)據(jù)既不是源表的真實(shí)狀態(tài)也不是任何歷史時(shí)刻的真實(shí)狀態(tài)。CDCChange Data Capture通過讀取 MySQL binlog把每一條數(shù)據(jù)變更作為事件流送到 BigQuery正好從機(jī)制上補(bǔ)上了這個(gè)缺口。這篇文章圍繞周期同步會(huì)漏什么、binlog 為什么能避免漏、落地時(shí)要注意什么展開適合正在設(shè)計(jì)數(shù)據(jù)管道、給數(shù)倉接增量數(shù)據(jù)或者被批量任務(wù)數(shù)據(jù)不一致問題困擾的開發(fā)者與數(shù)據(jù)工程師。1. 周期同步在 MySQL 到 BigQuery 場景下到底漏了什么1.1 常見的三種周期同步寫法先看最常用的三種同步方式它們并不只是實(shí)現(xiàn)細(xì)節(jié)不同能捕獲的數(shù)據(jù)變化粒度也完全不同。第一種是全量導(dǎo)出覆蓋。直接把 MySQL 表導(dǎo)出成文件或通過 SQL 拉取寫入 BigQuery 臨時(shí)表再覆蓋目標(biāo)表。這種方式能保證目標(biāo)表最終狀態(tài)一致但同步窗口很長且 BigQuery 做覆蓋時(shí)下游可能讀到一半數(shù)據(jù)。數(shù)據(jù)量一旦上億這個(gè)方案基本不可持續(xù)。第二種是按自增 ID 增量拉取。記錄max(id)每次只拉大于該 ID 的行像這樣SELECT * FROM orders WHERE id :last_max_id ORDER BY id;這個(gè)方案只能捕獲新增數(shù)據(jù)。業(yè)務(wù)表一旦發(fā)生 UPDATE主鍵 ID 不變增量 SQL 永遠(yuǎn)拉不到這一行。DELETE 更不會(huì)出現(xiàn)在結(jié)果里。第三種是按更新時(shí)間戳增量拉取SELECT * FROM orders WHERE updated_at :last_sync_ts;這是目前最常見的周期同步方案前提是業(yè)務(wù)表有updated_at字段并且所有寫入路徑都正確更新這個(gè)字段。實(shí)際項(xiàng)目里這個(gè)前提經(jīng)常被破壞某些批量導(dǎo)入腳本沒有更新updated_at某些框架寫入時(shí)沒有映射該字段于是出現(xiàn)數(shù)據(jù)明明變了增量 SQL 卻查不到的問題。1.2 周期同步一定會(huì)錯(cuò)過的幾類變更物理刪除是最典型的一類。DELETE 之后這條記錄不再存在于表中任何基于當(dāng)前表狀態(tài)的 SELECT 都無法發(fā)現(xiàn)它曾經(jīng)存在過。全量對(duì)拍能發(fā)現(xiàn)問題但只能事后補(bǔ)救而且對(duì)拍本身在大表上成本極高。沒有更新時(shí)間字段或者更新時(shí)沒有寫入時(shí)間戳也是一類。訂單表如果通過第三方系統(tǒng)直接改庫或者 DBA 手工執(zhí)行 UPDATE 時(shí)沒有維護(hù)updated_at那么增量邊界從一開始就是錯(cuò)的。同周期內(nèi)狀態(tài)回跳同樣會(huì)被掩蓋。假設(shè)訂單在 00:00:10 從pending改為paid00:00:20 又改回pending。周期任務(wù)在 01:00 運(yùn)行拉到的最終狀態(tài)還是pending。從業(yè)務(wù)角度看中間那次paid狀態(tài)也曾經(jīng)是真實(shí)數(shù)據(jù)但周期同步完全感知不到。高頻更新更不用說。一張促銷表每秒更新幾千行周期任務(wù)每隔 5 分鐘拉一次單行在周期內(nèi)被反復(fù)更新后最終拉到的只是最后一次值中間所有取值全部丟失。1.3 為什么不是多跑幾次就能解決周期同步的失敗模式是邏輯性漏數(shù)據(jù)不是漏跑任務(wù)。把調(diào)度頻率從小時(shí)改成分鐘只是縮小時(shí)間窗口并沒有改變讀取當(dāng)前表狀態(tài)的本質(zhì)。一張表在周期內(nèi)發(fā)生了 100 次更新周期同步只能看到最后一行binlog 能看到 100 個(gè)事件并且每個(gè)事件都保留前鏡像和后鏡像。這就是原理層面的差異。周期同步試圖通過查詢結(jié)果反推變化而 binlog 是 MySQL 自己記錄的寫操作流水賬。流水賬不會(huì)因?yàn)闃I(yè)務(wù)表沒有updated_at就缺頁也不會(huì)因?yàn)?DELETE 后記錄消失就抹去歷史。1.4 三種方案的能力對(duì)比維度全量快照增量字段輪詢binlog CDC刪除事件全量對(duì)拍后才發(fā)現(xiàn)通常無法發(fā)現(xiàn)每條 DELETE 都有對(duì)應(yīng)事件更新歷史只有最后狀態(tài)只有最后一次變更每次 UPDATE 都有前鏡像和后鏡像對(duì)業(yè)務(wù)表要求無必須有updated_at等字段無binlog 與業(yè)務(wù)表結(jié)構(gòu)獨(dú)立實(shí)時(shí)性取決于調(diào)度周期取決于調(diào)度周期秒級(jí)到分鐘級(jí)可配置對(duì)源庫壓力大全表掃描代價(jià)高中等取決于索引較小讀取日志而不是反復(fù)掃描表從這張表能看出周期同步不是慢而是漏。CDC 的價(jià)值不是讓同步更快而是讓變化過程本身可見。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 會(huì)根據(jù)語句類型自動(dòng)選擇但對(duì)于 CDC 場景依然不夠穩(wěn)定。CDC 要求使用 ROW 格式。ROW 格式下binlog 直接記錄行的變化包括字段級(jí)的前鏡像和后鏡像。具體來說INSERT 事件包含插入后的完整行數(shù)據(jù)。UPDATE 事件包含變更前的整行數(shù)據(jù)和變更后的整行數(shù)據(jù)。DELETE 事件包含刪除前的整行數(shù)據(jù)。這意味著 CDC 消費(fèi)者不僅能知道某張表發(fā)生了變化還能拿到 哪一行的哪個(gè)字段從什么值變成什么值。2.3 CDC 連接器如何消費(fèi) binlogDebezium、Flink CDC 這類工具在原理上會(huì)偽裝成 MySQL 從庫。它們通過 MySQL 的復(fù)制協(xié)議從主庫拉取 binlog并把 binlog 里的二進(jìn)制事件解析成結(jié)構(gòu)化的 JSON 變更事件。連接器需要記錄自己的消費(fèi)位點(diǎn)。傳統(tǒng)方式是記錄 binlog 文件名加偏移量例如mysql-bin.000023的position 45123。更可靠的方式是使用 GTID即全局事務(wù)標(biāo)識(shí)符。GTID 能唯一標(biāo)識(shí)每個(gè)事務(wù)即使 binlog 文件被清理只要 MySQL 實(shí)例保留了完整的事務(wù)歷史連接器也能定位到正確的起點(diǎn)。CDC 連接器通常具備先快照再增量的能力。首次啟動(dòng)時(shí)它會(huì)先讀取一次源表全量數(shù)據(jù)記錄當(dāng)時(shí)的 binlog 位點(diǎn)之后繼續(xù)從該位點(diǎn)消費(fèi)增量從而保證從啟動(dòng)那一刻起不遺漏后續(xù)變更。2.4 從 binlog 到 BigQuery 的完整鏈路一個(gè)常見的生產(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)核心都是從日志讀取變化而不是定時(shí)查詢表。這也決定了后面的環(huán)境準(zhǔn)備、配置、驗(yàn)證和排錯(cuò)方式。3. 前期準(zhǔn)備MySQL、BigQuery 和權(quán)限一項(xiàng)都不能省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ù)賬號(hào)建議單獨(dú)建服務(wù)賬號(hào)避免共用管理員賬號(hào)CDC 工具Debezium 或 Flink CDC版本需要與 MySQL 和 Kafka 版本匹配網(wǎng)絡(luò)源庫與數(shù)倉側(cè)連通私網(wǎng)優(yōu)先公網(wǎng)場景需要做好傳輸加密如果源 MySQL 是云數(shù)據(jù)庫還需要查看云廠商是否允許開啟 binlog 保留策略、是否開放復(fù)制賬號(hào)權(quán)限。有些托管數(shù)據(jù)庫默認(rèn)不開放REPLICATION SLAVE這是接入 CDC 前最容易發(fā)現(xiàn)的阻塞點(diǎn)。注意開啟 binlog 并切換為 ROW 格式后binlog 日志量通常會(huì)變大磁盤占用和復(fù)制延遲都會(huì)上升。生產(chǎn)環(huán)境切換前需要評(píng)估磁盤余量。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 保留時(shí)長 # binlog_expire_logs_seconds 604800每個(gè)參數(shù)的作用server_idMySQL 實(shí)例在復(fù)制拓?fù)渲械奈ㄒ粯?biāo)識(shí)。CDC 客戶端也會(huì)占用一個(gè) server-id不能與主從庫中其他節(jié)點(diǎn)重復(fù)。log_bin開啟 binlog并指定日志文件路徑。binlog_formatROW讓 binlog 記錄行級(jí)變更。CDC 必須使用 ROW 格式。binlog_row_imageFULL讓 UPDATE 事件包含整行前鏡像和后鏡像。如果設(shè)置為 MINIMALbinlog 只包含被修改的字段和主鍵CDC 拿不到完整舊行和新行。expire_logs_days控制 binlog 文件保留天數(shù)。保留太短CDC 位點(diǎn)落后時(shí)可能追不上保留太長磁盤占用過大。常見建議是 3 到 7 天具體要結(jié)合源庫寫入量和磁盤容量調(diào)整。修改配置后需要重啟 MySQL。重啟前確認(rèn)max_allowed_packet等參數(shù)不會(huì)限制大事務(wù)的 binlog 傳輸。3.3 創(chuàng)建 MySQL CDC 賬號(hào)建議為 CDC 單獨(dú)創(chuàng)建一個(gè)賬號(hào)避免使用 rootCREATE USER cdc_user% IDENTIFIED BY strong_password; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO cdc_user%; FLUSH PRIVILEGES;三個(gè)權(quán)限的含義SELECT用于 CDC 工具首次啟動(dòng)時(shí)的全量快照以及讀取表結(jié)構(gòu)信息。REPLICATION SLAVE允許該賬號(hào)通過復(fù)制協(xié)議讀取 binlog這是 CDC 的核心權(quán)限。REPLICATION CLIENT允許執(zhí)行SHOW MASTER STATUS、SHOW BINARY LOG STATUS等命令用于確認(rèn)位點(diǎn)信息。不要把ALL PRIVILEGES都授出去。CDC 賬號(hào)只需要讀取能力不需要寫源庫。3.4 BigQuery 側(cè)準(zhǔn)備BigQuery 側(cè)需要準(zhǔn)備數(shù)據(jù)集、目標(biāo)表和服務(wù)賬號(hào)。在 Google Cloud Console 中先創(chuàng)建數(shù)據(jù)集例如analytics。目標(biāo)表建議在接入 CDC 之前就定義好字段類型盡量與 MySQL 類型對(duì)應(yīng)。如果后續(xù)依賴 BigQuery 自動(dòng)加列容易遇到 schema 不一致導(dǎo)致寫入失敗。服務(wù)賬號(hào)需要授予 BigQuery Data Editor 或更細(xì)粒度的角色。把服務(wù)賬號(hào)的 JSON 密鑰下載到寫入服務(wù)所在機(jī)器并通過環(huán)境變量GOOGLE_APPLICATION_CREDENTIALS指向密鑰文件。BigQuery 是列式存儲(chǔ)目標(biāo)表 schema 在寫入前就要對(duì)齊。CDC 事件字段如果比目標(biāo)表多需要做過濾如果少目標(biāo)表多出的列會(huì)使用默認(rèn)值或 NULL。4. 最小落地鏈路Debezium 捕獲 binlog程序?qū)懭?BigQuery4.1 兩種常用的技術(shù)選型常見方案有兩種方案鏈路適合場景Debezium KafkaMySQL - Debezium - Kafka - 寫入程序 - BigQuery已有 Kafka 基礎(chǔ)設(shè)施需要多消費(fèi)方Flink CDCMySQL - Flink CDC - BigQuery Sink團(tuán)隊(duì)熟悉 Flink希望用 SQL 處理流下面以 Debezium Kafka Python 消費(fèi)者為例把鏈路拆開看。這樣更容易理解每個(gè)環(huán)節(jié)的職責(zé)。Flink CDC 只是把 Debezium 和流處理合并到一個(gè)框架里原理一致。4.2 Debezium connector 的配置Debezium 通過 Kafka Connect 運(yùn)行一個(gè)典型配置如下{ 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 會(huì)占用一個(gè) server-id。它必須與 MySQL 現(xiàn)有主從庫、其他 CDC 實(shí)例的 server-id 不沖突否則連接會(huì)被 MySQL 拒絕。database.include.list/table.include.list限定監(jiān)聽的庫表。只同步需要的表能顯著減少 binlog 解析壓力。database.history.kafka.topicDebezium 用這個(gè) topic 記錄表結(jié)構(gòu)歷史。binlog 里的舊事件在解析時(shí)可能依賴歷史 schema因此這個(gè) 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 時(shí)如果目標(biāo)表要反映刪除必須自己定義刪除策略比如寫入一條帶刪除標(biāo)記的記錄或者通過主鍵 MERGE 刪除目標(biāo)行。4.4 寫入 BigQuery 的示例程序下面是一個(gè)最小 Python 消費(fèi)者示例從 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)這個(gè)示例說明的是思路不是完整生產(chǎn)代碼。insert_rows_json適合小規(guī)模驗(yàn)證生產(chǎn)環(huán)境更推薦使用 BigQuery Storage Write API并配合監(jiān)控、重試和死信隊(duì)列。enable_auto_commitFalse是為了避免消息未成功寫入就提交位點(diǎn)減少丟失風(fēng)險(xiǎn)但代價(jià)是重復(fù)消費(fèi)因此目標(biāo)表必須容忍重復(fù)。4.5 如果團(tuán)隊(duì)已經(jīng)用 Flink可以考慮 Flink CDCFlink CDC 可以把上面的鏈路壓縮成一個(gè) 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 以分片方式并行快照大表不需要像舊版本那樣先對(duì)全表加鎖再讀取對(duì)大表更友好。源表創(chuàng)建后可以再創(chuàng)建 BigQuery Sink 表通過INSERT INTO完成同步。具體 Sink 類名和參數(shù)取決于連接器版本落地前要以當(dāng)前使用的 Flink 和連接器文檔為準(zhǔn)。5. 怎么驗(yàn)證 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 驗(yàn)證 Kafka 收到了哪些變更先用 Kafka 自帶的控制臺(tái)消費(fèi)命令觀察 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;正常情況下消費(fèi)端會(huì)看到op為u和d的兩條事件。這一步直接驗(yàn)證了周期同步最難做到的能力刪除和更新都能被捕獲。5.3 驗(yàn)證 BigQuery 目標(biāo)表觀察 BigQuery 目標(biāo)表是否有新數(shù)據(jù)寫入??梢酝ㄟ^控制臺(tái)查詢也可以執(zhí)行SELECT COUNT(*) FROM my-project.analytics.orders; SELECT MAX(updated_at) FROM my-project.analytics.orders;必須注意一個(gè)容易誤判的地方BigQuery 目標(biāo)表不會(huì)因?yàn)槭盏搅?DELETE 事件就自動(dòng)刪除對(duì)應(yīng)行。如果寫入程序只是把a(bǔ)fter或before以追加方式寫入刪除事件只會(huì)變成一行帶標(biāo)記的數(shù)據(jù)。要真實(shí)反映刪除目標(biāo)表需要按主鍵做 MERGE或者通過分區(qū)覆蓋實(shí)現(xiàn)。驗(yàn)證時(shí)先明確自己的目標(biāo)表語義是追加明細(xì)還是鏡像源表。5.4 延遲監(jiān)控指標(biāo)從 binlog 到 BigQuery 的同步不是一次性的必須持續(xù)監(jiān)控。常見指標(biāo)包括指標(biāo)含義告警建議Kafka consumer lag消費(fèi)程序落后的消息數(shù)持續(xù)增長則告警Debezium 位點(diǎn)與當(dāng)前 binlog 的文件間隔連接器是否在追趕超過 binlog 保留期則高風(fēng)險(xiǎn)端到端延遲事件寫入 MySQL 到進(jìn)入 BigQuery 的時(shí)間差根據(jù)業(yè)務(wù)要求設(shè)置閾值BigQuery 寫入錯(cuò)誤率schema 不匹配等寫入失敗立即告警把位點(diǎn)落后和consumer lag 持續(xù)增長作為關(guān)鍵告警能提前發(fā)現(xiàn)大事務(wù)、網(wǎng)絡(luò)抖動(dòng)或消費(fèi)程序故障。6. 數(shù)據(jù)到達(dá) BigQuery 后模式映射、DDL 和冪等才是真正的坑6.1 MySQL 與 BigQuery 類型映射字段類型映射是 CDC 鏈路里最容易踩坑的部分。下面是常見映射關(guān)系MySQL 類型BigQuery 類型注意事項(xiàng)INT / INTEGERINT64無符號(hào) INT 可能超過 INT64 有符號(hào)范圍BIGINTINT64超過 2^63-1 的數(shù)據(jù)要改用 NUMERIC 或 STRINGDECIMAL(p, s)NUMERIC / BIGNUMERIC金額字段不要用 FLOAT精度會(huì)丟失DATETIMEDATETIME無時(shí)區(qū)語義按原值寫入TIMESTAMPTIMESTAMP建議統(tǒng)一按 UTC 存儲(chǔ)VARCHAR / TEXTSTRING長度和編碼要注意JSONJSONBigQuery 需要字段模式為 JSON 或先轉(zhuǎn)成 STRINGTINYINTINT64 / BOOL看業(yè)務(wù)語義確定最容易出問題的是 DECIMAL。MySQL 中的DECIMAL(10, 2)如果映射成 BigQuery 的 FLOAT640.1 這樣的值可能出現(xiàn)精度誤差。正確做法是映射為 NUMERIC。TIMESTAMP 也容易出問題。MySQL 的TIMESTAMP有會(huì)話時(shí)區(qū)概念CDC 事件里的ts_ms可能是 UTC 時(shí)間而業(yè)務(wù)字段本身可能是本地時(shí)間。建議在寫入端統(tǒng)一規(guī)范避免目標(biāo)表同一列混入不同時(shí)區(qū)的數(shù)據(jù)。6.2 DDL 變更會(huì)打斷 CDC當(dāng) MySQL 表結(jié)構(gòu)變化時(shí)CDC 鏈路會(huì)面臨兩個(gè)層面的問題。第一Debezium 需要依賴database.history.kafka.topic中的 schema 歷史來解析 binlog 里的舊事件。如果這個(gè) topic 被刪除或清理連接器可能無法反序列化舊的 binlog 事件。第二BigQuery 目標(biāo)表的 schema 不會(huì)自動(dòng)跟隨 MySQL DDL 變化。MySQL 加了一列CDC 事件里出現(xiàn)了新字段但 BigQuery 目標(biāo)表沒有這一列寫入就會(huì)報(bào)錯(cuò)。處理建議是把 DDL 納入變更流程先審查 MySQL DDL 對(duì)同步鏈路的影響。先在 BigQuery 目標(biāo)表補(bǔ)充或調(diào)整 schema。再在 MySQL 執(zhí)行 ALTER TABLE。同步完成后核對(duì)事件是否正常。對(duì)于大表的 ALTER TABLE還可能導(dǎo)致源庫鎖表和復(fù)制延遲。生產(chǎn)環(huán)境做主從切換時(shí)要評(píng)估 DDL 對(duì) binlog 位點(diǎn)的影響。注意不要依賴 BigQuery 自動(dòng)加列來處理所有 DDL 變更。自動(dòng)加列在不同版本和連接器里行為不一致且不能處理列重命名、刪除、類型變更等復(fù)雜操作。6.3 至少一次語義下重復(fù)是正常的binlog CDC 鏈路通常提供 at-least-once 語義。網(wǎng)絡(luò)閃斷、消費(fèi)程序重啟、位點(diǎn)提交失敗都可能導(dǎo)致同一事件被重復(fù)消費(fèi)。因此目標(biāo)表必須能接受重復(fù)。常見做法按主鍵去重寫入前先判斷目標(biāo)表是否已有該主鍵。使用 BigQuery MERGE按主鍵更新目標(biāo)行。在記錄中增加事件版本字段如event_ts_ms或 GTID寫入時(shí)取較新的事件。下面是 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 在處理刪除事件時(shí)還可以加一個(gè)WHEN MATCHED AND s._is_deleted TRUE THEN DELETE分支。但 MERGE 的成本比流式追加高適合對(duì)一致性要求高、更新頻率可控的場景。如果表更新量極大需要考慮分區(qū)覆蓋、冷熱分離等方案。6.4 亂序事件怎么處理同一個(gè)主鍵的多條變更在 Kafka 中如果分布到不同分區(qū)消費(fèi)程序收到的順序可能和源庫事務(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)象連接器啟動(dòng)時(shí)報(bào)權(quán)限不足或無法讀取 binlog可能原因MySQL 賬號(hào)缺少REPLICATION SLAVE權(quán)限。連接器配置的 server-id 與現(xiàn)有從庫沖突。binlog 未開啟或者binlog_format不是 ROW。排查命令SHOW VARIABLES LIKE binlog_format; SHOW GRANTS FOR cdc_user%; SHOW PROCESSLIST;處理方式核對(duì) MySQL 配置和賬號(hào)權(quán)限修改后重啟連接器。server-id 沖突通常會(huì)在 MySQL 錯(cuò)誤日志里看到A slave with the same server_uuid/server_id as this slave has connected to the master之類的信息。7.2 現(xiàn)象任務(wù)運(yùn)行一段時(shí)間后Kafka 里有歷史事件但新事件遲遲不來可能原因Kafka Connect 或連接器進(jìn)程掛掉后位點(diǎn)沒有正確恢復(fù)。MySQL 實(shí)例重啟導(dǎo)致 binlog 文件名變化連接器找不到舊位點(diǎn)對(duì)應(yīng)的文件。table.include.list配置了大小寫敏感的表名實(shí)際表名大小寫不一致。排查方式kafka-consumer-groups.sh --bootstrap-server kafka:9092 --describe --group bigquery-sync重點(diǎn)看CURRENT-OFFSET、LOG-END-OFFSET和LAG。如果 consumer lag 為 0 但新數(shù)據(jù)沒進(jìn)來檢查連接器日志里 binlog offset 是否還在推進(jìn)。必要時(shí)做一次 重新快照 增量 的初始化。7.3 現(xiàn)象BigQuery 寫入報(bào)錯(cuò)字段不存在或類型不匹配可能原因MySQL DDL 新增了列BigQuery schema 沒有同步。DECIMAL 字段映射成了 FLOAT64導(dǎo)致精度丟失或?qū)懭胧?。MySQL JSON 字段映射到了 BigQuery STRING但事件里是 JSON 對(duì)象。排查方式SELECT column_name, data_type FROM my-project.analytics.INFORMATION_SCHEMA.COLUMNS WHERE table_name orders;處理方式定位是哪一列不匹配先同步 schema再重放失敗事件。不要直接丟棄報(bào)錯(cuò)事件否則會(huì)在對(duì)賬時(shí)發(fā)現(xiàn)數(shù)據(jù)缺口。7.4 現(xiàn)象同步延遲持續(xù)增長可能原因源庫執(zhí)行了大事務(wù)例如一次 UPDATE 超過十萬行binlog 事件量巨大。消費(fèi)程序單線程寫入 BigQuery寫入速度跟不上源庫變更速度。網(wǎng)絡(luò)帶寬不足或者 BigQuery 寫入配額受限。處理方式在源庫側(cè)避免一次性更新超大范圍拆成小事務(wù)。寫入端改用批量并行寫并啟用 Storage Write API。增加監(jiān)控觀察 binlog 保留時(shí)間是否充足。如果消費(fèi)端位點(diǎn)落后太遠(yuǎn)而 binlog 文件已經(jīng)過期可能需要重新快照。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩人妻无码专区| 欧美97免费| 日韩综合97P| 天天综合网~91| 久久精品一区二区一8| 精品中文字幕一区二区| 日本色色的视频| 东京成人一区| 蜜臀无码视频在线观看| 九九九九日本| 高清无码在线播放网站| 亚洲s在线观看| 好吊色综合| 99热只有| 欧美操人视频| 六月丁操逼| 亚州综合| 91国产美女丝袜足交精品视频| 好爽视频在线观看视频| 久久9精品视频| 久久这里只精品免费福利| 色性荡荡荡荡视频| 日本操逼二区| 国产97亚洲| 人人爱夜夜爱| av日韩手机在线影视| 91艹| 黑丝少妇| 亚洲精品国产无码高清| 蜜臀久久精品久久久久视频| 不卡在线一区,精品一区二区三区中| 久久精品无码专区| 亚洲综合113页| 国语对白露脸XXXXXX| 天天日天天舔东京热| 国产亚洲精品美女久久久| 人人妻人人色| 欧美做爰无码A片视频| 粉嫩av一区二区三区天美传媒| 99碰碰| 大香蕉78| 久久久久96| 亚洲天天天| 富二代亚洲精品99| 91精品无码人妻系列| 国产白丝AV| 品亲网欧美品亲网| 亚洲成人av色网| 综合操逼| 丰满人妻一区二区三区性色| 久久啊啊| 久热精品在线| 精品人妻一区春色| 丰满翘臀美女影院视频| 人妻熟女午夜精品在线| 亚洲国产欧美一区二区潘金莲| 9久9久9久9久视频网站| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日韩av不卡在线看| 91M一社| 久久精品老司| 国内精品999| 大香蕉综合| 久久专区| 日本操逼视频免费| 91丨国产丨白浆秘 洗澡动漫| 骚货操死你| a片亚洲一本通视频| 116美女午夜| 97超碰国产精品| 日本精品一区三区| 91色噜噜狠狠| 日本九九久久99| 亚洲欧美在线综合| 欧美日韩精品久久久久久久久东北老熟妇| 亚洲骚逼少妇| 91无摭挡| 亚洲伊人久久精品影院| 成人黄页| 99色网| 日韩性爱毛片操骚逼| 夜夜综合| 欧美精品,四区。五区| 青青草在线视频美女| 男人天堂电影院| 91在线超高颜值国产| 岛国片国产成人亚洲播放| 麻豆啪啪啪视频| 91亚洲黑人| 啊啊啊啊啊操我视频| 99国产精品免费| 韩日自拍| 久久草草欧美精品| 91色碰| 97国产|免费| 国产麻豆一区二三区| 亚洲亚洲亚洲天堂天堂 | 亚洲 综合 欧美| 久草精品热视| 伊人国产av| 青青欧洲黑| 天天看片青娱乐| 精品日韩人妻视频| 不卡啪啪视频| 婷婷20月天青娱乐| 国产精品视频白浆免费| 麻豆国产第一| 亚洲图片色图欧美另类| 欧洲综合视频| 91制服丝袜| 久思思热视频在线观看| 秋霞男人网| 哈哈操电影| 中国国国产一级特黄毛片| 国产精品久久泡妞网站| 99久久久久久亚洲精品不卡| 人妻少妇久久久| 日本东京热大香蕉a片| 人妻少妇无码 | 欧美亚综合色图| 巨乳特殊服务按摩| 91久久99久久91熟女精品| 五月天亚洲网| 在线无码操| 国产精品午夜福利视频| 操迟操逼在巾线Fre看| 久久久久久久久久久久黄色| 九九九色| 欧美性爱一内片一区二区三区| 欧美很很操视频| 男人的天堂在线有码| 久久久久久中文| 色999五月色| 久久九九97| 男女91| 亚洲激情综合另类男同| 偷拍导航视频网站| 五月天久久婷婷亚洲 | 粉嫩av平台| 色五月69夫妻| 国产男人又猛又粗又爽| 亚洲综合色在线| AAA久久| 九九碰九九爱97超| 99久热精品99re6热| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 精品人妻一区二区三区四区石在线| 久久小视频| 男女日B国产| 桑老女人九区| 欧美精品第四五页中文字幕在线观看| 一本一道vs波多野结衣| 日韩十八禁| 不卡人妻少妇精品毛片一区23区视频| 婷婷丁香在线| 久久久久久AⅤ无码免费肉站| 97爱爱| 天天干人妻视频| 亚洲AV高潮| 好涩综合| 老鸭窝成人| 国产精品久久久777| 久久久激情| 3P乱轮视频| 久久久久少妇| 久久九色| 成年人黄色| 在线观看啊啊啊啊啊| 97天天操天天干| 玖玖人人爱| 亚洲成人免费在线| 亚洲综合激情五月久久| 久久婷五月天| 超碰99在线观看| 探花熟女,姿勢到位,體驗感也到位| 97超级色碰碰| 长久操视频| 久久久精品日本一道| 不卡免费av在线播放| 久久久久久久久久久久久久久乱码| 无码乱人伦中文视频| 色香色欲天天综合网天天来吧 | 免费一级精品啪啪视频| 色婷婷视频| 国产美女mm131爽爽爽爽| 黄色视频特级毛片| 97九色人妻| 精品人妻一区二区免费蜜桃| 超碰在线974| 日韩AV中文字幕电影| 好看的91视频| 久日91在线| 91 国产丝袜在线放观看| 欧美日韩理论一区| 欧美激情色婷婷花野真衣一区二区 | 911av网站免费观看| 欧美午夜视频精品久久| 淫妻综合网| 亚州图片第一页| 唯美清纯 妖精视频| 精品视频在线观看精品| 九色婷婷| 九草在线大香蕉| 天堂av最新电影网| 久久精品国产亚洲AV无码做| 亚洲人人操| 国产白领连续中出在线观看| 久热精品在线| 亚洲精品视频在线播放| 91 综合网| 天堂网 主播 亚洲| 国产一区二区三区久久久精品| 熟妇熟女亚洲天堂网| 成人AV在线网站| 在线免费观看高清无码视频| 婷婷午夜成人色中色| 欧美性,亚州色| 中日高清无码操逼视频| 91久久精品美女高潮喷水| 色在线亚洲视频www| 蜜桃久久综合视频| aa片毛片| 加勒比海成人视频网 | 亚一综合久久久久久久久久| 亚洲视频,小说| 日韩成人精品| 欧差乱伦二三| AV色天香在线| 91丨国产丨白浆秘 洗澡动漫| 欧亚在线视频| 大香蕉中文网| 天天爱天天操| 色欧洲| 天天舔天天 | 麻豆 欧美 日韩| 成人av在线播放| 国产成人啪一区二区| 国内三级自拍小视频在线观看| 风韵犹存大大大大香蕉| 99操| 久草五月| 伊人网免费视频| 日韩免费簧片| 蜜桃久久久久久久久久久久| 青娱乐休闲视频在线观看| 亚洲天天影视综合网| 国产精品制服丝袜清纯唯美| 人妻三级在线中文字幕| 亚洲精品九九九九九九| 国产美脚女优尤物在线观看| 亚洲丁香花色| 抽插无码高清一区| 99精品欧美一区二区三区桃色| 91中文字幕在线观看| 国产夫妻一区二区| 五月开心网| 97精品久久| 欧美白嫩在线放| 五月天黄色激情视频| 欧美色图亚洲色,麻豆| 深夜视频| 亚洲男人的天堂网| 加勒比AV网| 你懂得91| 亚洲高潮少妇| 91人人爽人人爽| 亚洲人成网www| 中文字幕亚洲在线一区| 免费精品中文字幕| 新久久AV| 婷婷伊人网| 久久精品国产免费观看99| 香蕉久久AⅤ...| 日本高清视频xxxx| 国产精品成人无码a v毛片| 中文AV制服乱伦| 欧美日韩大香蕉| 成人五月天丁香激情综合| 91网站18禁| 大香蕉九九| 天天躁日日躁AAA片李宗瑞| 久操网视频| 一本久道在线综合视频| 人人艹亚洲| a级成人毛片免费视频高清| 国产毛片在线| 99热精品在线播放| 九九热免费在线国产视频伊人五月| 日韩av熟女一区二区三区成人| 91色女| 亚洲揄拍网| 亚洲欧美一区二区不卡视频播放 | 九九综合久久| 精品视频专区| 熟女少妇视频| 亚州免费啪啪视频| 91丨人妻丨国产丨丝袜| 中文字幕亚洲在线一区| 品亲网欧美品亲网| 一区二区三区亚洲| 人妻熟女一区二区三区在线| 久久精品 六十路 熟女 欧美| 久久伊人大香蕉| 天天日日日射| 91综合熟女| 一级黄色性爱A级片| 富二代亚洲精品99| 亚射在线| 后入式在线免费观看60秒| 欧美AB在线| 99综合视频| 亚洲 欧美 日本 国内 首页| 天天日天天干天天整| 神马久久69| 美国精品国产精品| 日本熟妇精品九九| 日韩,欧美,中文在线| 精品9区| 大香蕉一区二区在线观看.| 无码99| 一区 欧美 日韩 麻豆| 男人天堂网站| 亚洲国产一区二区三区在线| 搡老女人老91妇女老熟女| 欧美天天拍| 男人亚洲天堂| 精品无码一二三四区| 国产一区免费午夜视频| 丝袜av一区二区三区| 免费av在线播放二区| 色狠狠色| 久久夜夜| 欧美日韩国产电影| 久久草大香蕉| 97综合久久| 亚洲欧洲色情高清| 五月天婷婷综合| 91久久青青草原精品| 操人妻逼91| 欧美经典一区二区三区| 亚洲熟妇综合久久久久久| 亚洲中文字幕三级在线| 人人摸人人入| 超碰欧美在线欧美| 理论久久婷婷网 8| 欧美一级A片不卡视频。| 91无码人妻精品一区二区三区蜜桃 | 欧美超碰人妻97| 一个人免费HD91视频| 九九九九九九九九九国产精品| 超碰三级秋霞| 日韩成人大片一区二区| 婷婷干黄色| 欧美激情一| 啊啊啊啊啊啊啊国| 色播五月丁香| 国产免a费看黄片在线| 欧美精品欧美精品系列| 国内黄色精品| 成人短视频在线观看| 午夜操一操| 91久久精品蜜臀| 97极品无码| 亚洲色入欧美| 欧美激情亚洲色图| 99热精品免费| 亚洲精品中文字幕一区在线视频 | 新婚人妻扶着粗大强行坐下| 蜜桃狠狠色伊人亚洲综合网站| 黄日韩| 亚洲色图久久成人| 天堂精品在线| 在线精品福利免费播放| 久久黄片国产一区二区| 伊人热综合| 偷拍导航视频网站| 97伦乱| 久草草一二三四区久久| 欧美高清性猛交| 韩国一区二区精品亚洲| 国模精品娜娜一二三区| 国产亚洲美日韩Aⅴ中文字幕无码成人| 欧美色乱| 男人的天堂99| 淫淫综合网| 国产诱惑| 后入福利视频| 欧美在线视频播放| 茄子社区国产精品| 99热日| 精品无码一二三四区| 亚洲欧洲另类| 精品国产乱码| 亚洲人成网站7777| 人人操人人色网| 日韩内| 9 1超碰九色| 99久在线精品99re8| 伦在线97| 中文字幕文字幕无码一区二区三区电影99 | 日韩成人高清一区二区| 精品人妻一区二区三区四区| 欧美色图 色综合图| 综合亚洲欧美| 蜜臀网 一区| 大香蕉狠狠爱| 青青草国产欧美非洲黑人| 99热一区二区三区四区| 人人妻人人爽一区二区三区| 欧美中出| 国产亚洲精品A在线观看下载| 日本操逼视频免费| .精品人妻一区二区三| 国产一区二区三区高清视频| 被男人吃奶很爽的毛片| 岛国毛片手机在线观看| 岛国艾薇凹凸视频天堂| 久久草大香蕉| 亚洲欲色9532548967一区| 精品四五区| 97人人爱人人做人人乐| 精产国品一区二三产品| 麻豆精品A片免费观看| 欧美一区二区传媒| 一区二区播放| 裸模AV女优| 久草精品视频| 熟妇一区二区| 亚洲精品国产日韩无码AV永久免| 国产精品三级视频网站| 天堂蜜桃无码视频一区二区| 狠插 制服 自拍| 久久97超碰香蕉| 国产一区二区在线看| 欧美日韩资源| 污污汅18禁网站在线永久免费观看 | 超碰97首页| 96超碰网| 日日操丁香五月天| 91校园春色长篇| 国产亚洲色婷婷99精品91| 色香网| 97在线免费观看视频| 操操逼操操逼操操逼逼| 99激情视频| 蜜臀久久久国产| 国际精品久久久| 中国AAAAAA黄色片| 中文字幕在线高清男人的天堂| 日韩有码一区三区| 中文字幕视频免费| 欧美第一页| 人妻中文字幕日韩电影| 91红杏| AV天堂因数| 日韩综合成人免费视频| 亚洲av综合色区无码一| 最新加勒比丝袜在线| 91天美传媒在线观看| 午夜男人的天堂| 福利伊人玖玖国产| 宗合情欲网| 91白嫩| 天天色综亚洲91污| 97亚洲欧美日韩| 亚洲无线观看久久| 久久无码电影| 日韩懂色网| 天天插网| 很很干很很操| 综合色欧美| 小视频国产| 婷婷五月天成人| 91国产伊人大香蕉| 久久精品国产96精品亚洲拳交| 日韩一区二区熟女| 91美女在线观看| 亚洲国产第一页综合视频| 亚洲综合色在线| 日韩激情小说一区二区| 亚洲精品欧洲精品| 国产精品日本无码A片| 狂操嫩妻视频一区二区三区| 深喉吞精| 又黄又爽在线观看视频| 久久久四区| 国产亚洲色婷婷久久99精品91| 青青操视频在线| 色色福利| 亚洲一二三四区在线免费看视频| 亚洲最大成人a毛毛片| 国产久久久9999| 在线视频免费观看午夜| 懂色综合久久久| 久久久蜜桃臀无码视频| 嗯嗯啊啊视频在线看| 日韩熟女精一区二区三区不卡| 激情久久av一区av二区av| 狠操91,com| 日本Xx性爱| 东京热毛片调教| www.色五月| 东京热双插| 熟啊v色欧美热| 无码丰满熟妇一区二区浪潮AV| 国产一区二区久久| 激情九月婷婷| 久久久久97| 330Dv国产女人终合视频极品人与兽| 亚洲风情在线观看| 欧亚不卡| 亚洲精品乱码久久久久久蜜桃麻豆 | 婷婷香网站| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 看免费的黄片| 色哟哟AV| 999久久久久久久精| 久久久精品电影| 大香蕉在线SuP| 天天日少妇逼AV| 国产精品一区二区a| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 大香蕉线| 亚洲综合小视频小说在线观看| 91c色| 四方色播| 综合视频91| 色婷视频| 精品国产一区二区三区香蕉欧美| 香蕉精品二区二区| 蜜臀精品1区2区| 精品亚洲国产成人AV制服丝袜| 麻豆色约约| 欧美黑人与女人91~| 美女一区二区国产精品| 超碰97久久| 欧美91色| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 国产农村妇女精品1区二区| 亚洲精品第一| 中文字幕日韩精品久久| 大香蕉中文201| 97香蕉人人乳| 六月色色| 岛园激情| 亚洲天堂中文字| 9118禁| 亚洲欧美综合网站| 国产不卡中文字幕免费avi| 狠狠爱综合网| 26uuu国产成人综合| 午夜成人爽爽爽爽A片李冰冰| 天天综合91入口| 久久精品老司| 中文一区二区婷婷视频| 少妇超碰在线| 九九碰九九爱97| 日本视频一区二区三区| 狠狠久久手机视频精品| 蜜臀在线视频| 丁香九月婷婷| 天天欧美| 欧美色图亚洲色| 中文字幕久久精品一区| 久久av网| 熟啊v色欧美热| 97 亚洲 日韩 欧美 在线| 亚洲高潮少妇| 性爱综合网| 九九色精品| 婷婷五月天综合网| 激情婷婷丁香| 欧美色图天堂在线| 五月天婷婷激情| 99这里有精品视频| 天美国产精品| 中文一区二区婷婷视频| 亭亭丁香激情| 亚洲熟妇无码一区二区三区| 色爱综合网欧美| 国产农村妇女精品1区二区| 丰满少妇一区二区三区四区观看| 亚洲中文字幕精品久久久久久直播| 欧美,日韩,亚洲视频| 蜜乳AV一区二区三区四| 色婷亚洲五月在线观看| 99热99在线| 五月综合视频| 97色五月天完| 午夜天堂精品久久| 欧日韩在线观看| 久久人妻无码毛片A片麻豆| 美女91av| 97色香蕉| 黄视频免费| 中文字幕一区二区韩| 国模无码一区二区三区在线| 不卡啪啪视频| 偷拍欧美激情| 99久热精品99re6热| 亚洲人精品午夜不卡| 亚洲无限观看| 国产suv一区二区三区6| 新亚洲无码| 免费观看国产不卡av| 性爱av网站| 东京热激情视频一二三区| 91女在线观看| 男人成人黄色视频在线观看免费下载| 超碰人人干天天射| 欧美高清无码免费视频高清版| 交换娇妻呻吟声不停中文字幕| 免费中文在线| 国产精品乱人伊人网| 动漫av中文| 黑人性欧美| 无码人妻1727| 亚洲色图日韩精品| 日韩女优中文字幕| 搡老熟女国产1000部| 2020中文字幕在线观看| a v网站在线播放| 亚洲丝袜色| 伊人精品国产| 高清国产精品福利网站| 强奸a片网| 97资源欧美| 97久久久久久久久久| 亚洲 小说 欧美 激情 另类| 欧美成人午夜免费福利785| 日韩紧密久久| 怡春院久久| 欧美精品xxxwww| 一二三四日本视频高清| 蜜臀一二三区| 在线看的av| 麻豆蜜桃视频在线观看| 干美女人妻| AV和黑人在线播放| 91在线综合网| 亚洲欧美97| 黄色小视频日本txt| AV天堂男人的天堂| 97久久网| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 激情内射| 伊人影院综合是一个与深夜成人在线| 色一射色一射| 日韩少妇无码| 99在线免费观看| 人妻 欧美亚洲| 性爱Av免费| 91久久伊人婷婷青青草| 又大又大又大又粗爽高潮观看| 激情九月婷婷| 啊啊啊啊,啊啊好多水| 青娱乐亚洲自拍| 神马久久69| 一级岛国大片| 青青草日本中文字幕| 国产精品久久久啊| 久久久久骚| 97亚洲色图| 日本免费人成视频播放120秒| 日韩三级在线观看mp4| 襙一襙| 嗯嗯啊啊用力视频免费| 中文字幕丰满人妻日本| 91亚洲不卡一区| 精品91| 奸色色 男人天堂 天天射| 99re视频这里只有精品| 人妻熟女字幕一区二区| 精品人妻一区二区三区日产| 96AV精品| 国产精品久久aV| 国产精品久久久久久亚洲色欲| a网站免费观看| 78久久| 久9久| 国产精品无码久久久久2025| AV在线资源| 黄片com.| 亚洲欧美综合图片| 91肏屄网| 黑人白女精品一区| 四虎精品一区| 五月婷婷综合在线| 尤物视频视频官网| 中 文字幕一区二区三四 五 区日 日 骚| 熟妇乱伦一区二区| 超碰这里只有精品| 精品国产www久久| 欧美高清91| 麻豆黄色五月天| 色操逼网| 国产精品另类一区大香蕉| 欧美性爱五月天| 国语av狠狠色丁香婷婷综合激情| 91麻豆天美国产| 国产综合网站在线播放| 97操b| 自拍视频大全亚洲专媒视频/一区二区三区 | 亚洲中文国际强奸字幕| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 欧美日韩国产男人| 百度百度日本操逼| 中文一区在线日| 99热思思| 国产精品亚洲无码| 91丰满| 久久久久亚洲精品| 九九av| 欧美大香蕉久| 日韩大香蕉AV影片| 97色妞| 色欧美天天| 岛国色情视频在线观看| 男人天堂东京热| 天美传媒在线一区| 色性欧美| 极品白嫩美女白浆成人福利在线看| 蜜臀久久99精品久久久久| 九九九九一级| 色狠狠综合噜一二三区| 静品嫩模一区二区| 久久久久亚洲AV无码专区少妇| 久久九九97| 香一区二区三区| 99日韩| 乱欲一区二区| 啪啪啪精品| 草草草视频| 精品久久久一本一道| 屌妞视频久久久久久久久久久久| 农村妇女一级二级三级视频| 黄色毛片A片| 久久伊人亚洲AV无码网站| 亚洲欧美综合网站| 久久亚洲熟妇在线视频| 久久久久久久少妇| 啊啊啊操一区| 狠狠色色| 国产精品久久久鸭无码的功能| 在线色导航| 亚洲第一页第二页激情| 97超碰欧美精品| 蜜臀久久99精品久久久久久成人小说 | 91久久国产综合久久| 五月丁香综合啪啪| 国产高清免费不卡av| 成年人网站在线免费观看| 美女啊啊啊啊啊啊| 中文字幕AV中出| 天天综合网亚洲综合网| 9999久久久久| 欧美亚州色的图| 伦理弟一页| 亚洲视频小说| 欧美一区二区三区大综合| 99久久这里只有精品| 999狠狠综合| 国产玖玖| 骚乳在线| 双插在线| 97在线青| 天天操熟妇| 色欲久久99精品久久| 丰满欧美放荡少妇在线| 啊啊啊轻点在线观看| 深爱伊人影院| 四虎在线视频| 91亚洲综合在线| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 狠狠爱AV| 四虎视频在线观看| 欧美三级一级| 日韩有码免费视频| 99久久e免费热视| 操日韩第| 亚洲一卡2卡3卡4卡乱码网站 | 欧美一级特黄淫片在线观看| 无码久久国产| 国产一级高清免费观看| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 色官网色综合| 精品欧美А∨无码黑人大荫蒂| 亚洲资源站| 国产精品国产精品国产| 成·人免费午夜在线观看| 91精品人妻一区二区三区蜜桃| 91精品人妻一区二区三区蜜桃| 97在线视频免费观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 98福利在线视频| 亚洲天在线| 欧美日韩97| 人人操人人操人人操人人操人人操人人人11.CM| 人人看黄色视频| 一区二区三区探花在线观看| 日本久久精品| 北条麻妃性愛视频| 91精品导航| 青青免费在线视频一区| 日日碰狠狠添天天爽超| 日本一级性爱| 久草资源在线视频官方总站日韩丝袜美腿 | 风骚少妇视频中文字幕| 亚洲高清色综合| 欧美在线永久天堂| 日本色婷婷| 熟女欧美日韩综合婷婷| 男人的天堂99| 日韩在线观看字幕精品| 青青色综合| 欧美性91| 操美女高潮抽搐白浆| 久久久男人的天堂| 啪啪性爱免费视频| 久久五月视频| 人妻精品一区一区三区蜜桃91| 天天干天天舔| 乱伦Av网| 91精品又粗又猛又爽| 国产精品视频内谢女人| 丁香五月天社区| 欧美色交| 亚洲影视综合网| 就去色综合| av中文在线| 欧美东京热青青草| 成人夜夜爽| 久久久四区| 色狠人在线99| 国产 亚洲 丝袜 制服| 神马久久69| 老司机天天操| 骚货 中文字幕 av| 在线只有精品| 校园春色亚洲色图| 黄网站黄视频网站进入口| 大屁股人妻女教师撅着屁股| 太久视频| 欧洲一区二区| 国产福利夜| 女欧美一区二三区| 欧美久久人妻少妇一区二区| 强奸乱伦大香蕉| 91精品操美女| 九热视频| 天堂无码精品国产久| 97鸡把在线视频| 啊啊啊好湿国产一二| 欧美日韩国产三级黄色| 亚洲清纯综合| 国产亚卅97| 最近的最新的中文字幕视频| 黄骗免费网站| 78m成人视线| 日日骚精品视频| 亚码激情| 日韩欧美经典在线观看| 91影库| 2017av无码免费无线播| 91熟女视频网| 天堂亚洲精品久久老牛| 日日夜夜狠狠| 国产精品一级片在线看| 99re视频在线播放青草| 九一国产精品| 国产青青美女玩逼视频| 精品97久久综合| 91在线欧色| 深田咏美亚洲精品福利社| 91在线综合网| 在线女人91| 人人乐大香蕉| 狠狠爱综合网| 2020国产精品| 另类小说五月天| 人人弄人人摸| 内射小黄片| 波多野42部无码喷潮在线观看| 强奸乱伦 亚洲一区| 强奸乱伦免费网站| 青青草在线视频美女| 91天天综合在线| 91精品91久久久久77777俄罗斯老妇姓x| 欧美,日韩,中文,另类| 久久精品无码熟妇一区二区三区视频导航 | 亚州欧美另类| 午夜美女福利视频| 国产人妖视频一区在线观看| 91成人在线免费视频| 亚洲色 国产 欧美 日韩| 全球成人中文在线| 91黑丝美女| 久久蜜桃一区二区| 日韩黄片视频试看| 国产美女销魂在线观看不卡| 啪啪啪东京| 国产精品制服丝袜清纯唯美| 久久精品色欧美aⅴ一区二区| 91精品伊人久久久大香线蕉91| av资源在线播放天堂| 男人的天堂.com| …亚洲黄色厕厕女女在线播…| 欧美精品日韩久久久九| 91成人在线| 91精片| 婷婷色网| 91熟女丨老女人| 中文字幕91页| 9长久久精品| 色就色综合| 午夜啊啊啊| 成人乱人伦一区二区| 欧美激情超碰777| 啊啊啊好多水| 欧美性天天影视| 亚洲图片91| 91久久久久久久久久久| 欧美97| 啊啊啊啊啊啊好湿好爽视频| 日本一级特级毛片视频| 天天影视网综合少妇| 伊人天天久久动态图| 999久久久久久久精| 国产中文字幕在线点播| 91高潮喷水美女| 亚洲激情综合| 一区二区乱码福利| 91夜夜蜜桃臀1区2区3区| 亚洲综合欧美| 欧美成人色| www网站黄| 欧美成人精品欧美一级乱黄一区二…| 混色激情av| 久久产精品一区二区三区电影| 伊人大香蕉在线| 国产精品成人无码a v毛片| 久超碰这里只有精品| 67194无码不卡| 国产小黄片在线免费观看| 青娱乐啪啪视频| 亚洲资源网| 91蜜臀在线久久久久| 少妇人妻精品| 在线性黄高清免费视频| 国产成人91一区二区三区| 亚洲天天影视色综合| 中文字幕在线观看丝袜| 中文字幕久热视频在线| 91P0RNY大屁股人妻| 少妇色欲综合网2| 久久久久亚洲精品| 日本大片日本一区二区免费高清| 天天狠操| 精品久久久久久中文字幕三区| 女优大全 - 91n| 97超级色碰碰| 老司机午夜福利视频一区二区| 91丨国产丨白浆| 五月丁香六月激情综合| 天天插天天射| 丁香六月婷婷久久综合| a级理论午夜日本| 黄色AAAAA欧美| 久久精品欧美一区二区三区不卡| 狼人狠干| 97精品视频| 天美传媒精品一区二区| 欧洲精品一级二级精品综合视频综合| 9久9久9久9久视频网站| 99re6国产精品99re| 亚欧美色图| 中文字幕国产| 日本淫乱女一区二区三区视频| 97资源久久| 国产无码精品无码| 色综合久久av| 丝袜美腿制服人妻二区中文字幕| 国产熟女免费观看久久| 人人操人人大香蕉| 一本一道人妻久久一区二区三区 | 91中出在线| 亚洲色交| 在线观看不卡一区二区三区| 蜜乳av一区二区| 黄色欧美性爱视频| 偷拍欧美综合| 99精品丰满人妻| www.acm成人黄色毛片| 日韩在线观看AV| 欧美一级美片在线观看免费| 日韩成人电影AV| 色天使大香蕉| 亚洲无码一区成人免费午夜| 国产精品爱欲| 国产农村一一级特黄毛片| 91色黑人少妇| 青娱乐91| 亚洲成人碰碰| 密臀成人视频久久久| 精品一区二区综合熟妇| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 中文幕97| 人人摸.人人色| 好淫网一二三视区| 精品国产AV一区天美传媒| 亚洲色图欧美视频| 天天摸天天舔天天操| www国产无码| 美女露胸露奶头| 综合色91| 国产四虎在线| 男女啪啪啪18禁网站| 国产最新AV| 国产一区二区二区按摩精品啪视频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 久久久久ab| 无码高清专| 国产精品动态一区二区三区四四| 青娱乐福利99| 亚洲、日韩、综合、另类| 91久久| 操美女人妻| 大香蕉www.超碰| 四虎免费视频| 日本久久精品| 亚洲 无码 偷拍| 午夜啊啊啊| 超碰人人超在线观看| 欧美,日韩,中文,另类| 日本久久网| 91P0RNY大屁股人妻| 日日AV加勒比| 亚洲欧美精品一区天堂久久 | 艳美熟妇先锋一二三区| 免费av在线播放二区| ...日韩成人一区二区三区字幕| 第一高清av中文字幕| 日韩欧美亚欧在线视频| 美女诱惑在线一区| 大香蕉伊人久久| 欧美五十路熟| 天天综合中文字幕 91| 欧美性Fer办公室秘书| 婷婷成人久久久精品| 亚洲最新中文字幕免费| 91精品人妻| 欧洲精品一二三在线| 日本熟妇一区二区三区| 性爱视频无打码在线观看| 亚洲毛片基地专区| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 亚欧美天堂在线| 91综合在线| 99操逼| 五月婷婷激情综合| 伊人网综合在线视频| 日韩性爱小视频| 精品免费一区| 黑人性欧美| 视频在线97| 日韩欧美麻豆 | 黄色av一区二区在线| 久久精品国产亚洲AV无码电影| 在线综合色| 狼狼色丁香久久婷婷综合五月| 麻豆久久一区二区三区| 亚洲交性| 国产精品一区二区三| 91天天综合网| 国产精品久久久吖| 老司机深夜18禁污污网站| 乳欲人妻办公室奶水| 久久久久久人妻一区精品色欧美| 九月激情婷婷| 国产精品亚洲一区二区三区四区| 一个人免费HD91视频| 久久婷综合| 美女露胸露屁股| 东京热精品97综合网| 91精品婷婷国产综合久久| 色欧美综合| 宅男影院久久久,99| 亚洲经典啪啪| www.婷婷六月天| 欧美18禁91| www.人人摸在线视频| 少妇高潮流水av免费| 成人免费福利在线观看| 婷婷97| 羞答答AV中文字| 日本一道在线播放高清| 久久激情亚洲精品无码?V| 口爆综合网| 操少妞在线视频| 国产精品午夜AV完会免费 | 性感美女91影视| 亚欧成人综合影院| 超碰日本97美女人妻人人玩人人爱 | 97 国产一区| 伊人麻豆传媒| 国产女人91精品嗷嗷嗷嗷| 日韩一区二区熟女| 久久久久久久唑| 日韩精品一区二区三区四虎影视| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 久久精品操| 亚洲色图 图片| 看免费的黄片| 香蕉99秘 精品一区丁香| 96超碰网| 欧美激情五月天| 久久久免费高清中文视频| 亚洲αv一区二区三区| 一本一首道人妻少妇免费久久| 国产又色又粗又黄又爽| 大香蕉伊人在线成人AV在线观看| 少妇综合网| 欧美色图偷拍另类| 校园春色综合网| 日韩少妇丰满亚洲| 激情抓乳插进去啪啪啪日韩 | 久久天天摸| 日韩有码专区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 欧美日韩大香蕉| 精品美女少妇一区二区三区| 国产亚洲精品美女久久久| 国产精品久久久久久久久久久久久久久久久久| 亚洲精品国产精品成人| 台湾佬中文娱乐自偷自拍| 免费人成在线观看网站品爱网| 五月开心久久AV官网| 天天做日日做天天欢。| 一区二区影视| 九九九影院| 日夜啪电影| 日本十八禁免费看污网站| 日韩三级性| 欧美日韩222| 四虎影院成年人片| 涩综合导航| 97中文热色| 女上位精品在线| 麻豆AV96熟妇人妻| 播播亚洲小说亚洲| 天天干天天舔| 久久久久九九九九| 欧美日韩国产精品久久色婷婷| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 午夜国产综合视频在线观看 | 欧美日韩精品久久久久东北老熟妇| 亚洲丝袜天堂| 五月婷在线| 日韩一区二区三区四区五区| 久久综合国产精品国产|