色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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久久| 欧美亚州色的图| 久久激情五月| 三级特黄60分钟播放| 日韩av情韩国爱禁区av一区二区| 色色色综合网| 国产强奸AV在线| 免费男人的天堂| 97在线免费看| 狠狠色色| 在线观看AV片| 精品无码久久久久久久久果冻糖心| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 久久麻豆一区二区| 操逼视频色| 欧美成97爱| 激情综合网一盗摄| 老女人老91妇女老热女| 97这里都是精品| 国产成人免费观看在线视频| 久久伊人亚洲AV无码网站| 久久男人| 亚洲综合色在线| 日本精品一级二级三级| 久久久精精精| 欧美热图99| 丝袜无码a片| 久九干| 120分钟婬片免费看| se01国产在线视频| 国产精品点击进入在线影院| 成人一级性爱| 国产综合网站在线播放 | 中日亚韩免费视频| 国产在线激情视频| 亚洲密乳AV| 超碰色综合| 超碰碰97资源站| 91久久久久| 日韩欧美偷拍美女视频| 久久国99999| 天美av在线观看| 91久热| 91超碰人人操| 久久精精区一区二区一蜜桃一区二区| 一块操欧美| 国产午夜无码片在线观看影视| 91精品久久久久五月天精品| 天天做天天爱天天高潮| 中文字幕少妇色 | 人人做,人人操,人人摸| 少妇人妻精品| 情色五月天久久久| 欧美成人精品一区二区男人蜜臀| 日本黄色天堂| 国产女性无套 免费观看| 东北老熟女| 日韩中文字幕宗合在线| 国产九九久久久精品| 91丝袜美腿网站| 97超碰美国| 草草影院在线视频| 99蜜桃臀久久久欧美精品网站| 久久九九一区二区三区成人| 日韩一级二级三级免费看完整版国语版| 夜夜久久| 色天天野狼综合社区| 久久青娱乐| 97色欧洲| 欧美国产欧美在线观看| 色欲久久综合| 亚州精品丝袜-不卡成人免费| 91久久18禁| www久久精品| 91熟女视频| 免费av高清无码| 日韩亚洲中文字幕在线| 伊人午夜福利视频| 亚洲成a人v欧美综合天堂下载| 亚洲国产精品久久AV| 东京热视频网| 久久久久成人蜜桃精品| 亚洲色图加勒比| 欧美亚洲综合999| 日韩图区| 69XX一中文字幕人妻91| 天天天天天干夜夜夜夜夜操| 激情久久久| 97精品视频网站| 性生活性生大爱77AV国产| 色吧91| 啪啪资源网| 上特色A在线| 91精品操美女| 欧美日韩国产中文超碰| 亚洲高清视频在线免费观看| 无码人妻毛片丰满熟妇精品区| 国产 v乱码一区二| 欧美亚州色的图| av毛片aaaaa免费看| 大学生美女口爆| 国产精品自在自拍视频| 亚洲熟女乱色| 国产欧美日韩在线不卡第一页| 国产日产精品久久快鸭的功能介绍| 欧亚免费视频| 日韩人妻精品| 久久一区二区加油站| 天天噜| 亚洲麻豆av一区二区| 9999亚洲电影| 亚洲精品国产专区在线观看| 97超碰色屌| 色图四区| 丁香五月成人| 欧美高清第一页| 日本三级R| 免费看污网站| 欧美视频一| 亚洲天堂电影精品一区| 毛片99-全集电影手机免费观看完整-B029AV | 婷婷丁香人妻| 欧美黄片视频在线观看免费 | 99xav| 中文字幕三四区| 日本熟妇一区二区三区| 国产97亚洲| 亚洲欧美经典一区二区 | 亚洲色图激情小说| 乱欲视频| 欧洲精品一二三在线| 日本国产亚洲一区在线观看| 东京热熟女亚洲视频网站| 四虎国产精品永久在线囯在线| 国产蜜臀精品一区免费尤物| 亚洲不雅视频1区二区| 国产成人无码久久精品| 美女天天干| 岛国黄色大片网站| 天天操天天舔| 亚洲有码 欧美精品| 好湿好紧视频| 狠肏骚人妻| 97超碰精品| 91亚洲不卡一区| 男女猛烈无遮掩视频免费软件| 乱理日韩中文| 国产女乱淫真高清免费视频| 成年在线视频日本亚洲在线视频区精品江靖宇公司| 人人操人人大香蕉| 欧美色宗合| 久久av网| 91啪啪视频| 久久岛国| 精品999日本| 九九久久99| 天堂性色| 亚精品无码毛片一区二区三区| 久久久精品国产亚洲AV无码| 91校园春色长篇| 91中文字幕制服丝袜免费视频| 少妇毛片久久| 日韩欧美aⅴ综合网站发布| AV男人天堂网| 亚洲色图欧美色图另类图片| 麻豆久久久一区二区| 九月婷婷久久| 艹我哪美一区无码| 78操B| 大香蕉伊人一区在线观看| 亚洲欧洲激情卡通另类文学四射小说网站 | 日本成人在线不卡一区二区三区| 欧美 综合 亚洲| 五月天婷婷激情| 视频分类 国内精品| 国产精品一区午夜福利| 精品性爱久久视频| 91成人18| 性站 | 免费黄色A片| 97欧美综合| 五月天婷婷激情| 麻豆国产97在线| 欧美色www亚洲国产阿娇要播| 成人一区二区三区四区| 人妻啊啊人妻啊| 一本色道综合久久欧美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 99热这里都是精品| 精品中文字幕一区二区l - 百度| 欧美大香蕉久| 欧美日韩国产成人高清| 美女9118禁| 欧洲一区二区三区四区在线观看| 青春草A| 日日夜夜干| 在线国产探花| 性做久久久久久免费观看软件| 麻豆久久精品亚洲精品88| 欧美爱国产综合、| 伦理日韩国产久久| 亚洲综合69| 色婷婷婷五月天激情四射| 婷婷五月在线视频| 再深点灬舒服灬太大了好硬好爽| 啊啊啊啊啊啊在线观看| 国产呦精品系列在线观看| 综合色啪| 精品国产人成在线| 97视频在线免费观看| 偷拍亚洲情色| 亚洲骚男同com| 青木玲在线不卡| 久久婷婷亚洲欧| 天天摸夜夜摸| 91丝袜美腿网站| 成人AV素股で擦久久| 人妻天天夜夜爽一区二区| 欧亚在线视频| 乱人伦 国语对白:视频直接看| 亚洲欧美综合区自拍另类| 女性喷水高潮在线观看| 91高清欧美| 超碰97久| 亚洲成人贴图| 秋霞午夜成人福利片片| 国产女人高潮嗷嗷嗷叫小说| 色欲日韩欧美在线一区| 婷婷香蕉| 亚洲www91| 亚洲五区熟女| 日韩乱码Av| 久久久久久人妻| 欧美另类色图片| 亚州宗合另类| 五月天伊人| 北野未奈加勒比av| 骚货操死你| 亚洲国产综合图区中文字幕| 伊人久久综合影院精品久久久| 欧美日韩国产成人高清| 高清无码一区二区三区| 国产视频一区二区三区在线免费观看| 啪啪资源网| 亚洲熟女中文字幕在线| 人妻天天夜夜爽一区二区| 成人日本精品九区| 亚洲蜜臀精品视频久久| 97精品视频| 人人 操人人 操人人| 亚洲97久久精品亚洲| 国产AV高清AV无码| 欧美97视频| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 激情专区综合| 丁香五月天社区| 亚洲美欧999| 国产自产22区| 国产日韩精品suv| 精品在线观看视频在线| 久久五月份| 中文在线久久字幕| 九七色图| 国产成人免费观看在线视频| 国产人妻精品久久久一区二区三区| 96精品久久久久中文字幕| 欧美色图自拍| 波多野42部激情无码喷潮| www成人啪啪18秘 免费| 天天综合影院91| 亚洲脚交| 影音先锋少妇| 中文字幕丝袜人妻| 午夜噜噜噜| 女同女同恋久久级三级| 国产天美传媒精品| 丁香婷婷大香蕉| 人人操天天爽| 变态另类专区| 日韩激情电影中文字幕| 中文字幕在线高清男人的天堂| 懂色综合久久久| 亚洲色图8| 2019天天干天天操| 蜜桃久久久久久久| 91大神精品长腿在线观看网站| 亚洲精品一二三四区| 久久久内射良家| 美欧色综合| 欧美操逼熟女| 999综合色| 国产强奸乱伦欧美| 日本不卡二三区| 亚洲男人天堂av| 91久久99久久91熟女精品| 蜜臀av中文字幕| 亚洲精品白浆高清久久久久久| 六月丁香五月婷婷| 亚洲 在线| 岛国成人av在线播放网址| 操死我了嗯嗯嗯| 色欲蜜臀AV| 不卡人妻少妇精品毛片一区23区视频| 97色欧洲| 久久极品一区二区| 东京热男人的天堂| 大奶啊啊好爽| 在线视频亚洲无码| 亚洲综合888| 欧美日韩资源| 亚欧美天堂在线| 91综合在线| 俺去久久| 日本黄色大片一级视频免费麻豆| 伊人久久大香蕉线AV五月天| 亚洲图片激情综合另类| 锕锕好爽 死我在线观看| 飘花国产午夜精品不卡| 日韩精品第3页| 在线日韩精品一区二区三区| 久久精品老司| 美女国产一区二区久久| 亚洲少妇自拍中文字幕懂色| 人妻久久久久久| 欧美综合色,www| 91在线欧色| 久久久99久9| 国产99999| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩十八禁| 另类图片五月| 嫩草在线视频| 久久老熟女| 欧美 亚洲 制服 精品| 久久婷婷电影网| 91精品婷婷国产综合久久竹菊| 国产精品婬乱一级毛片彝族| 超碰9 7女人| 国产三区免费在线观看| 99re这里只有精品9| 一区二区三区日韩欧美 | 国产精品对白内射| 欧亚性爱在线视频| 色噜噜日韩精品| 欧美久久毛片基地| 欧美一区二区三区日韩| 亚洲在线网站| 国产97在线 | 亚洲| 天天日天天干少妇日| 天天干天天插| 日韩国产乱子伦App| 精品999一区二区| 97人人爱人人做人人乐| 婷婷色五月激情| 欧美日韩另类在线播放| 欧美激情精品久久久久久| 欧美在线色图| 东京热男人的天堂网| 欧美一区二区三区不卡高清视频| 亚洲一区二区av| 人妻少妇蜜桃视频欧美一区| 在线观看黄色电话| 日本精品网站在线中文| 特色a在线上| 久草成人影片| 亚洲 综合 第一页| 熟妇人妻一区二区| 翘臀vidoes| 天天躁日日躁XXXXYY| 97人人色| 九区国产| 五月婷婷丁香六月| 探花激情视频| AV免费在线播放一区| 国产激情视频一区区三区| 精国久久一区二区三区98| 五月丁香六月激情综合| 日本三级R| 操逼天美3区| 婷婷婷婷婷婷久久久久| 96久久久| 欧美极品| 欧美97爱| 伦激情人妻另类人妻| 国产色图乱伦| 另类图片综合| 亚洲无码电影久久久| 久久免费9| 日韩综合色网| 死我十八禁| 超碰久久网| 久热久| 久久少妇视频| 有码色中文字幕在线观看| 婷婷三区| 一级AV性爱| 日韩欧美中文| 欧美 日韩 另类 亚洲| 久九干| 亚洲成人一二三区| 97日视频| 欧美传媒一区| 91青青| 天天性射网| 丝袜视频网国产90| 嗯嗯不要视频| 精品福利| 免费视频在线一区二区不卡| 久久亚洲AV无码专区首页| 日本欧美一区二区三区视频麻豆| 国产精品无码av在线 | 国产大学生高潮在线播放 | 粉嫩久久久久| 日韩十八禁| 96久久久| 久久无码成人| 亚洲导航深夜福利| 欧亚免费视频| 淮穴色AV| 91色欧美| 日本欧美不卡| 激情婷婷综合久久| 国产精品无码av在线| 五月丁香六月婷| 激情一区二区三区在线观看| 九九十八精品| 亚洲综合色在线| 啊啊啊啊网站| 国产无码一二三区| 炮色五月| 欧美日韩小说| 国产福利视频精品视频| 69精品久久久久中文字幕| 99超碰碰| 国产亚洲精品无码三区| 立川理惠加勒比无码| www.av在线视频| 日韩熟妇二区| 中文久久96| 热热色国产一二区AV| 99999精品| 色色色欧美| 无码久久国产| 久久精品性| 超碰在线人妻不卡| 99精品人妻| 激情专区综合| 精爱久久| 在线中文AV| 一道本久久棕合爱| 久久久久密臀视频| 精品视频一二三中文| 国产精品呦一区二区三区| 香蕉婷婷| 青青伊人加勒比海| 91精品国产91久久福利| 国产精品一二三免费网站| 国产1727欧美| 国产自制av蜜乳| 日韩专区久久久| 欧美性五月| 日本操逼aaaaa| 97久久精品亚洲| 精品视频久久区| 欧美岛国精品在线观看| 综合网色| 中文字幕乱妇免费视频| 久久久久九九九| 欧美无圣光在线| 亚洲综合999| 午夜.DJ高清在线观看免费7| 午夜福利久久久噜久噜久久综合 | 污色区网站| 成人精品在线| 蜜臀99久久精品久久久久久| 屁股久久久久久久| 欧美极品女人的天堂| 伊人久久大香蕉线AV五月天| 伊人久久综合影院精品久久久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 少妇高潮流水av免费| 黑人精品久久97| 天天伊人| 五月婷婷六月激情| 欧美日本不卡在线| 久久久久人妻| 超碰97综合在线| 天天流夜夜操| 精品免费视频国产一区| 国产福利第一视频| 加勒比中文av| 欧美少妇一区二区三区| 欧美gv在线观看| 十八禁黄色成人网站观看| AV一起草在线| 极品AV网站在线观看| 国产欧美日韩精品中文| 超碰97.com| 99激情| 日韩亚洲欧美中文字幕| 久久蜜色情在线视频xxx免费观看| 日韩一级性爱无码| 亚拍在线| 亚洲色五月| 无码人妻1727| 使劲用力艹少妇视频一区二区| 久久国内| 天天久久| 国产亚洲精品美女| 99久久9| 人妻少妇精品| 国产精品91ai| 亚洲成熟国产精品美女| 精品久| 日韩啪啪啪视频| 日韩av一级黄片| 99色网| 欧美天堂第二区| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久9久| 日本人妻天堂网站在线播放| 亚洲国产婷婷在线播放| 亚洲涩涩| 国产乱码久久| 亚州综| 97国产精品在线观看| 色婷婷综合网| 精品国产无码中文| 999精品女人| 中文字幕人妻色偷偷久久皮 | 天天α片| 嗯嗯嗯啊啊在线观看| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 在线啊啊啊啊| 国产超碰人人爽人人做| 边做饭边操逼逼| 99精品无码| 色老汉色| 99re这里只有精品中心播放 | 成人av免费观看| 天天懆天天日| 国产精品久久aV| 国产97av| 97超碰天天| av九九| 国产一区在线观看无码AV| 免费国产视频| 清纯唯美第一页| 欧洲精品网| 啊啊啊想要| 色婷婷蜜臀av| 啊啊啊啊嗯嗯嗯用力好爽 | 日韩福利综合一区| 91天堂| 正宗无毛一线天嫩逼| 日本不卡二三区| 大香蕉在线视频15| 熟妇人妻精品一区二区视频色欲| 69精品久久久久中文字幕| 精品九九国产无码| 国产精品白丝www| 骚妻少妇精品性色无码四色A V| 欧美熟女妇同| 啊啊啊在线观看免费视频| 99久久无色码| 91亚洲精品青草| 久久丁香| 夜夜嗨一区二区| 五月天婷婷基地| 亚洲福利中文字幕在线| 欧美极度丰满熟妇hd| 嫩草影院性色| 亚洲最大AV网| 久久精品国产免费观看99| 精品日韩人妻视频| 影音先锋新男人| A一区片| 中文AV制服乱伦| 欧洲在线性爱视频| 操逼大黄片| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 蜜臀人妻少妇久久在线观看| 无码heyzo高清一区| 久射吧| 欧美人人天天网| 偷拍综合亚洲| 大干人妻| 一级黄碟| 久久久久久九九九九九| 激情色图| av在线观看不卡网站| 天天做日日做| 亚洲码专区| 俺去也婷婷| 人人爽夜夜操| 国产人妻精品一区二区三区秋霞| 亚洲精品97p| 国产内射爽爽大片| 一区二区影院| 九九av| 欧美一区二区成人一卡| 久久中久文96| 性猛交| 欧美色视频在线| 五月天色色网站| 亚洲国产精品乱码在线观看| 黄日韩| 91少妇高潮| 浓厚中出中文字幕在线| 桃花色涩综合影院| 久久久久久久久久久97| 人妻少妇久久| 国产精品久久久久无码Av网曝门| 欧美日韩中文亚洲v在线综合| 日日夜夜干| 国产欧美伊人| 日本一级不卡一二区| 78m成人视线| 欧洲欧美视频一区二区| 婷婷五月天基地| 亚洲色吧网| 一二三四视频在线社区中文字幕| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 久九色| 性开放中文AV高清无码免费看| 日本久久网| 激情内射| 艹精品| 内射夫妻三片| 国产欧美日韩女同性恋ww喷水精品 | 樱花草社区www中国| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲国产丝袜熟女av| 夜夜草网站| 熟妇艹鸡八| 中文字幕在线免费观看| 亚洲AV性爱电影| 国产AV天美| 亚洲欧美色图片| 精品人妻美妇91job| 欧亚日韩综合精品国产| 青娱乐福利99| 五月天社区| 天天综合站| 免费啪啪一级视频| 亚州高清av| 制度丝袜99| 久久久不卡区一区二区三区久久久| 亚洲中文字幕熟女少妇一区二区| 91成人精品在线播放| 动漫区日韩区欧美区| 日韩无码极品| 黄色污污污污污污网站| 99re这里只有| 日本操BAV| 热热色色综合| 欧美日韩国产中文精品字幕自在自线 | 精品无码一二三四区| 97久久久| 国产女上位好爽在线| 精…码一二三区| 人人干人人操人人..com| 爱爱久久| 亚洲AV操| 久操视频在线| 色综合天天| 色踪合AV| 极品白嫩美女白浆成人福利在线看| AV色五月天| 欧美劲爆视频一区二区| 久久久久国色αv免费观看| 一块操欧美性爱| 75大香蕉| 国语国产操逼伊人AV网| 免看60秒涩涩视频| www五月| 亚洲少妇在线观看| 国产乱弄免费在线视频。 | 亚洲黄色a级片| 蜜桃臀久久| 国产精品交换一区二区| 精品人妻一二三| 嗯嗯啊在线视频| 午夜精品久久一区二区| 夜夜福利| 久久老子无码午夜伦不卡| 欧美色图在线视频少妇| 久久激情网| 四虎国产精品永久在线囯在线| 激情露脸爱| 国产99久久99热这里只有精品15 | 九九九成人| 久久久久精| 97人人操人人摸人人爱| 久草免费在线视频| 狠插 制服 自拍| 国产浮力影院第1页| 久久久夜夜夜| 亚洲 欧美 另类 日韩 人妻一区| 五月婷婷六月丁香网址| 亚州欧美在线| 99熟女| 99999re| 久久久111| 吻戏激情性巴克| 精品人妻一区二区视频| 久久一区二区加油站| 中亚精品极乱| 性在久久久久久| 中文字幕国产在线天堂| 亚洲人综合| 日日夜夜骚| 亚洲国产一区二区三区四区国产| 加勒比伊人| 丰满丝袜少妇AV| 国产视频一区二区三区久久亚洲天堂| 91深夜夜| 九九九九热| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 日韩精品碰碰| 97干在线| 亚洲少妇综合| AV男人天堂网| 一区二区三区无卡视频在线观看| 96精品在线| 看一级黄色视频| 9色国产精品一区粉嫩| 久久99久久99精品天美传媒棢·纸:. | 免费αV在线视频| 中文久久久| 日韩内| 黄色不卡视频| 91最新综合| 农村妇女一级二级三级视频| 色五月综合网| 粉嫩在线一区二区懂色| 欧美午夜视频免费观看| 操一操摸一摸| 综合欧美亚洲| 亚洲中文字幕av | 99999精品成人| 国产原创自拍| 久久人妻办公室视频| 国产农村一一级特黄毛片| 久久一区二区高清免费| 亚洲AV成人无码一二三久久| 91美女网站| 999999精品| 久久久久久综合久久伊人蜜月| 四虎AV影视国产精品亚洲精品| 伊人综合色网| 九九热免费视频| 综合色久| 欧美激情性爱视频网站| 香伊人在线| 国产美女在线精品免费看| 精品一区二区三区国产| 尤物网站91| 欧洲欧美视频一区二区| 岛国大片国产| 国产激情综合| 一二三四免费视频| 亚洲五月婷婷| 91视频国品一二三区| 亚洲色图日韩精品| 欧美日韩国内不卡| 免费看日产一区二区三区| 大香蕉黄色一区| 亚洲成人在线高清| 日韩人妻一二三区视频| 在线视频日韩欧美国产| 能看的av| 欧洲中文字幕| 亚洲视频二区 | 欧美高清91| 久久偷拍人| 一本一首道人妻少妇免费久久| 色大师网站www永久网站视频| 六月丁操逼| 久久久久久久9最新免费视频观看| 美国三级日本三级久久99| 日本三级精品| 日本羞羞的视频在线播放| 99亚洲精品| 国产亚洲综合欧美一区| 97中文天堂| 青青草九九九九九| 色五月第四色| 超碰久草| 免费在线看黄片av| 国内毛片婷婷六月色| 久99| 天天激色| 97久久超碰| 国产精品免费视频人成| 97久精品| 国产精品高朝久久久久久久| 亚洲丝袜综合| 日韩午夜精品一区二区三区电影| 啊啊啊好爽快点啊啊啊嗯嗯| 一区二区三区 丝袜高跟| 亚洲性综合11| 亚洲在线欧美| 1禁看欧美黄片免费看| 在线观看黄色电话| 久9久9精品| 夜色综合| 97人人草| 97国产伦理| 麻豆成人AV| 久久久无码av精| 欧美综合加勒比在线| 国内外激情在线| 性色生活片久久毛片婬片免费放女人一级毛片| 97av在线视频| 97少妇人妻中文字幕久久 | 草b在线 | 神马午夜久久久| 亚洲风情综合网| 欧美 亚洲 在线| 亞洲久久直播| 久久精品老司| 1769成人国产精品视频| 天堂种子在线www网资源| 99抽插| 26uuu最新| 亚洲操操操| 国产熟女二区| 无码动漫av中文字幕| www.夜夜操| 久久久久久99999国产精品| 国产黄色影片在线观看| 人人色人人射人人妻| 欧美大片91| 五月天激情婷婷| 91欧美色| 四虎AV在线观看| 中国91AV| 九九色精品| 91青青| 嫩草影院性色| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 激情综合五月| 骚货操死你| 日本3级一区二区免费| 九九九九九九九九九九九蜜桃| 欧美亚洲另类在线蜜桃| 日韩丝袜高跟制服在线观看| 欧美一级黄色免费专区| 在线啊啊啊啊| 探花视频免费观看国产专区| 看看小穴| 老熟妇乱轮| 91精品久久综合熟女| 久久香蕉国产线看观看亚洲女人 | 天天天肏屄欧美| 加勒比在线观看一区二区| 97日视频| 国产精品麻豆视频网站| 国产乱码久久久久久| 激情网色| 中文字幕亚洲欧美在线不卡| 激情五月天插| 粉嫩av一区二区三区四季| 91精品黄在线观看| 蜜臀99久| 日本中文字幕高跟| 亚洲国产奇米影视久久| 超碰97首页| AV污污污污| 色综合1991| 日韩人妻资源在线看| 亚洲精品九九九| 亚洲日韩青青草色月| 日本操大逼| 亚洲做性| 美女露胸露屁股| 青娱乐国产精品| 欧美日韩亚洲少妇寂寞影院正在播放 | 色9999日韩国产| 老妇女91| 超碰97最新人妻| 久久久久久AV无码免费网站| 天天干人人乐| 亚洲 图片 欧美 色图| 免费看欧美美女黄色大片| 精品人妻一区二区三区视频在线| 欧美日综合| 久久精品国产亚洲AV清纯| 九九九九九九九九九九九九九九九女| 日本性感人妻91| 色踪合AV| 久久久艹艹艹| 女人被添高潮免费视频| 91爱网| 亚洲性猛交| 婷婷综合在线| 亚洲成人性爱网站在线播放| 久久是精品| 久久e6只有精品| 果冻国产精品麻豆成人av| 91丨人妻丨国产丨丝袜| 久久精品视| 91亚洲不卡一区| 久热无码| 久久精品国产亚洲AV无码做| 亚洲 无码 有码 中文字幕| 嗯啊不要在线| 影音先锋中文字幕日本好一区二区| 超碰色图| 亚洲高清在线se| 激情露脸爱| 五月丁香影院| 在线观看精品国产免费| 好爽视频在线观看视频 | 久插综合| 婷婷久久综合| 亚洲成人久久一区二区| 不卡日本一区二区| 噜噜噜亚洲精| 久色99999| WWW.加勒比人妻一区不卡.com| 久操大香蕉手机视频在线看| 免费看一级a性色生活片久久无| 国产视频一区二区三区在线免费观看| 日本精品九九九| 久久久久久久六六 | 大香蕉中文aV在线| 久久超碰爱| 欧美色偷拍| 尹人大香蕉视频在线| 99九九精品| 爽 好舒服 无码刺激久久| 精品欧美А∨无码黑人大荫蒂| 97爱爱| 男人的天堂va在线| B049AV在线播放| 国产精品久久久777| 日本青青草在线| 好湿好紧好爽 视频| 天天日少妇逼AV| 国产免费一区二区在线A片视频| 人妻精品一区二区在线| 国产白嫩漂亮KTV在线| 91搞逼视频| gogogo免费高清看中国国语| 欧美日韩在线视频网站| 狠狠操狠狠操操| 人人妻人人玩人人澡人人爽| 91无码人妻精品一区二区三区蜜桃| 中亚黄色三级大片| 劲爆欧美人妖三区91| 久久久久久久久久久久久久久久9| 激情终合网| laoshunv91| 久草综合视频| 射丝袜大香蕉| 日本一级不卡一二区| 精品二区三四区五电影| 天天操熟妇| 超碰97人人乐| 精品一区二区三区蜜桃| 91 丝袜在线播放| 日本2020一区二区| 久久久久久久久久久久97| 青草一区二区| 91综合在线| 久久性生大片免费观看性| 精品国产Av无码久久久亚洲| 思思视频免费看网站| 涩涩涩综合| 亚洲情色中文字幕一区| 这里都是精品在线观看| 99色综合| 91人妻视频在线| 91精品国久久久久久无码| 东北操逼| 亚洲欧美骚| 天天做天天爱夜夜爽毛片试看| 国内偷自视频区视频综合| 极品尤物自安慰| 婷婷色婷婷| 丰满人妻一区二区三区在线| 国产家庭乱伦表演| 国产精品久久久久久久久久久久久久| 91香蕉国产尤物视频| 婷婷色色五月天福利| AV天天在线观看| 亚洲色天堂九9| 久久五月综合| 亚洲熟女av中文字幕| 欧美日韩理论一区| 国产精品亚洲天堂网址| 天天天天做夜夜夜夜做| 精品人体无圣光凹凸| 日产123区精品免费观看| 秋霞一级视频在线观看免费| 老司机福利社视频在线观看| 国产精品久久久久久高清无码免费看| 狠狠久久亚洲欧美专区| 97精品久久| 久久噜噜噜精品国产亚洲综合| 亚洲一区日韩| 中文字幕第2页| 狠狠操一区二区| 亚洲αv一区二区三区| 久久尹人大香焦视| 丰满搜索结果 -第18页- 久久高清无码| 日本性爱视频一级| 狠久久| 青娱乐日韩无码| 日韩综合成人免费视频| 人人澡人人澡人人| 美腿色图| 亚洲高清无码免费观看视频| 人人弄人人摸| 日日夜夜模| 69AV女优男人的天堂| 曰韩无码777| 人人操,人人插| 久久久久久久九九九九| 97爱b| 亚洲国产一级中文综合久久天堂在线免费观看 | 成人午夜无码视频| 手机在线人成免费视频| 国产精品午夜福利亚洲综合网| 女人久久久| 天天操天天干美女网址导航| 国模91| 亚洲双插| 人妖欧美一区二区| 天堂性色| 国产在线观看一区二区三区| 97久久天天综合色天天综合色电影| 大香伊人在线一区| 91天天综合网,天天综合网| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 干我久操| 乱欲视频| 久久久久亚洲Av无码专区老牛影视| 日韩99999| 超碰在线免费一区二区三区| 亚洲综人网| 欧美在线电影| 欧美黄页| 天美91| 国产美女口爆吞精视频| 国产绿奴视频在线观看| 久操网视频| 国产一区二区三区导航| 色色色色综合网| 乱伦一二三| 91国产在线精品| 午夜啊啊啊| 青青草原成人| 91丝袜在线观看| 精品传媒在线一区| 中文操逼字幕| 夜间福利片1000无码| 一品道视频一区二区三区| 色盈盈影院| 亚洲激情深爱文学小说网站| 中文不卡视频| 亚洲啪啪综合?v一区综合精品区| 九九视频黄色片| 欧美十八禁在线看| 国产精品免费视频人成| 日日夜夜天天| 日韩啪啪啪视频| 天天射日日干| 国产成人无码啪| 亚洲.欧美.丝袜.中文.综合| 本道在线| 在线观看亚洲成人精品| 日本色婷婷| 1769一区| 久久精品亚洲婷婷| 国产精品96| 综合久久99| 男人的天堂va在线| 私色综合网| 日本在线观看网址| 久久久久久久久久久97| 天美传媒婬乱| 天天综合香 ld视频| 97色亚洲| 亚洲av总站| 色婷婷激一区二区三区| 黄色高清久久无码依人| 蜜乳Av成人片网站| 91老熟女91老女人| 国产宅男宅女在线观看| 日本超碰色精品| 五月色网| 人人妻人人爱人人玩| 欧美熟妇视频| 手机在线A片| 欧美日韩97在线| 爽爽淫人网| 精品一区二区成人| 亚洲欧美内射| 亚洲熟妇乱女区二区三区| 很黄很色的视频在线观看| 亚洲双插| 吉川爱美98堂在线| 成人性爱电影网| 欧美A片中文字幕| 91劲爆| 97爱欧美| 日韩人体偷拍| 国产毛片久久久久久久| 97se亚洲| 欧美日韩中国x| 国产日韩精品一区二区三区| 黄色性爱网网| 中文人妻av高清一区| 在线中文字幕视频| 九九热视频这里只有精品| 国产综合操逼高清| 91社操逼| 国产精品亚洲色婷婷久久久| 亚洲丝袜二区在线| 欧美性Fer办公室秘书| 亚洲美女30b| 精品一区96| 玖色AV| 啊啊啊啊嗯嗯嗯用力好爽| 日本操逼视频导航| 九九综合久久中文字幕| 内射夫妻三片| dy888午夜老子影视达达兔| 国产农村妇女毛片精品久久| 9997se| 亚洲欧美激情小说| 91亚州日韩高清| 久久午夜色播影院免费高清| 欧美 亚洲精品首页| 五月天AV资源| 污污污8888| 少妇内射www在线观看视频| 亚熟在线| 超碰97在线色男人??| 另类专区加勒比| 97视频免费在线| 78超碰| 欧美色女人| 日本孕妇一区二区视频操逼免费看 | 亚洲性少妇| 久操影视| 超碰午夜| 国产精品午夜精品| 国产精品乱码久久久久| 91老熟妇| 搞中出久久| 色九区| 熟女中出视频| 东京热精品97综合网| 亚洲素人综合|