久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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天天摸天天碰| 国产sv美女内射| 搡老女人老妇女AAA一VU麻豆| 国产精品一二三区福利| 亚洲天天自拍| 97人人操人人干| 二男一女成人A片| 青青草玖玖爱| 成年人黄色视频免费| 久久99热这里只频精品6学生| 美女AV一区二区| 日韩欧美日韩| 六六久久日韩不卡| 夜夜欢天天干| 丁香五月天视频| 综合网亚洲1| 一二三四视频中文字幕在线看| 丁香五月自拍| 国产精品白丝AV| 午夜视频好爽啊| 厕所偷拍在线| 丰满人妻-区二区三区免费| 欧美偷| 一区二区三区高清天码| 日韩天天综合| 九九热超碰| 嗯嗯不要视频| 久久99国产综合精品女同| 日韩一卡二卡三卡| 99久久无色码| 亚洲va综合va国产va中文| 天天色综合影视网| 激情文学网伊人| 日韩成人无码| 五月开心久久AV官网| 91香蕉视频在线观看免费| 午夜啊啊啊| 先锋激情∨在线视频播放| 求求你操操我| 东京热男人的天堂精品| 欧美宗合网| 少妇无码太爽| 久久九九视频九九视频| 超碰97综合在线| 精品中文字幕一区二区l - 百度| 欧美 日韩第一性色| 亚洲色图久久成人| 无码精品久久久天天影视| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91真人天天在线| 黄色区免费观看中文字幕| 亚洲综合校园春色| 亚洲五月婷婷| 欧美激情性爱视频网站| 超碰97色| 99热成人| 人人操人人摸人人看人人插| 久久九九精品一区二区 | 欧美裸体美女日麻屄| AV高清一区| 午夜久久无码1000合集| ,成人免费啪啪视频| 91伊人影视综合| 91碰碰| 国产女生在线| 五月丁香啪| 久草视频分类在线| 天堂av2019| 亚洲日本韩国在线| 久久一二三级一一一| 激情文学欧美| 日骚逼视频| 久久成年片色大黄全免费网站| 操逼国产免费| 国产成人综合网| 青青草伊人久久| 操操逼操操逼操操逼逼| 91在线欧色| 丝袜综合色图| 激情婷婷丁香网| 校园春色综合网| 综合久久久久久久综合网| 91麻豆一二三区| 九九九不卡| 三级日韩一区二区三区| 久久男女激情视频网站| 亚洲综合春色| 大干人妻| 亚洲啪啪视频一区二区| 精品国产一区二区三区久久久蜜臀| 日韩不卡网操逼中文字幕日韩| 99re在线视频| 日日操免费视频| 99热综合| 成年无码动漫av片无尽在线| 色999五月色| 极品内射| 日本成人在线不卡一区二区三区| 99国产精品久久久久久久成人热 | 狠狠干精品一二三四五六2022| 人妻丝袜二区| 国产专区第一页| 综合网欧| 草草网站影院白丝内射| 亚洲揄拍网| 婷婷久久五月综合激情| 男人的天堂网免费| 啊啊啊啊操死我| 久操精品网| 国产精品色约约| 天天色黄色影院天天操| 日韩精品影视| 成人综合久久精品色婷婷| 欧美日韩国产精品久久色婷婷| 偷拍盗拍亚洲色图图片| 91人人看| 84YTCOM性无码| 久久超碰免费的| 天天操夜夜嗨| 美女91网址| www.丁香五月| 偷拍亚洲熟女视频播放| 青操影院| 330Dv国产女人终合视频极品人与兽| 操逼片国产| 精品丰满熟妇人妻一区| 自拍啪啪视频| 校园春色 男人天堂| 日韩性爱再线视频| 丰满人妻一区二区中文| 日本精品免费一区二区三区四区| 亚洲最新中文字幕免费| 一级片在线观看高清无码| 麻豆美女丝袜人妻中文| 国产农村妇女精品| 干超碰碰熟女| 国产精品人妻无码久久久老鸭窝 | 男人的天堂2018.| 97精品国产97久久久久久| a级理论午夜日本| 日本国产高清色www视频在线| 色激情综合网站| 日韩一级二级三级在线不卡观看完整| 欲香欲色综合天天伊人| 97干97色| 国产成人午夜视频网址| 久久久免费的精品| www.婷婷五月天| 伊人久久88国产女| 日韩钢筋无码高清啾啾啾| 国产精品欧美激在线| 成人一区二区三区四区| 91久久国产精品| 中文字幕伊人| 屁股久久久久久久久久| 一级黄色视频网| 干婷婷综合网| 国产精品网站免费| 97色操| 亚洲精品久久久久毛片A片拉屎 | www熟女乱伦com| 东北女人操比视频| 青青草中日韩在线| 亚洲一区二区三区播放在线| 色色色色电影网| 五月天婷婷影院| 天堂日本亚洲欧美| 麻豆一区二区三区在线看 | 日本五区不卡| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 欧美精品丝袜久久久中文字幕| 欧美操逼视频二区| 99久在线精品99re8蜜桃| se吧提供91精品国产91久久久久久| 伊人久久大香大香线蕉中文 | 99热综合| 97久久天天综合色天天综合色电影| 91性片| 国产日韩欧美中文在线播放 | 97av在线观看| 乱伦熟女区| 亚洲自拍欧美国产首页网曝| 超碰久超碰久| 一级久久性爱视频| 日韩中文字幕2020| 岛国1区2区3区在线观看| 久久久久久久国产视频| 精品一区二区三区蜜桃臀赵总 | 日日做夜狠狠爱欧美黑人| aa片毛片| 中文字幕一区 二区三四五 区日 日骚| 天天看特黄的免费网站| 久久久无码视频| 国内精品久久久久影院亚洲| 精品国产99| 久久AV色| 精品人体无圣光凹凸| 色性荡荡荡荡视频| 国产成人亚洲精品无码最新在线| 操逼逼无码| 国产日韩精品一区二区三区| 中文字幕在线免费观看2| 亚洲色五月| 爱丝福利| 99ri视频| 丰满少妇一区二区三区免费看| 强免费黄色网址| 国产AV天美| 老外又粗又长一晚做五次| 一级日本牲交大片好爽在线看| 精品成人av一区二区三区在线| 美女干逼2| 欧美激情性久久久久久| 亚洲九九夜夜| 淫淫综合网| 99热婷婷| 国产亚洲精品一区二区三区| 九九无码| 四虎影视欧美| 91九久| 91免费看一区二区三区| 天天操天天7| 亚洲国产精品有声| 久久久9 9 9精品| 中文字幕精品一区欧美| 好爽免费视频,| 欧美黄片欧美黄片xxx| 台湾佬中文娱乐网久久久久久久久久com| 国产精品视屏| 九九热精品在线| 精品九九九| 欧美在线色图| 日本孕妇一区二区视频操逼免费看 | 黄色AAAAAAAAAAA大片| 欧美一区二区三区大综合| 欧美精品二区视频在线| 精品一久久久| 91强奸乱轮| 俺去啦自拍| 色五月亚洲| 亚洲另类欧美精品| 久久久久国产精品人妻aⅴ天堂| 久久久久久精品免费看A级| 蜜臀一二三| 十八禁啪啦拍视频无遮挡| 東南亚性呦成人伦理资源在线视频| www.婷婷| 日韩操p| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | a片自拍直播视频| 香蕉一区二区三区在线视频| 亚洲精品第一| 色翁荡息又大又硬又粗又爽| 色偷综合| 国产天天看| 色婷婷狠狠| 久久午夜鲁丝片| 99re这里只有精品2| 97超级久久强资源| 国产男人又猛又粗又爽| www.男人的天堂| 日韩欧美女优电影| 91丨熟女丨丰满熟女| 亚洲欧美碰碰| 97超碰超欧美。| 九九伊人网| 亚洲av综合伊人久久| 麻豆婷婷成人一二三| 婷婷AV一区二区三区| 无码久久亚洲高清,| 日本护士高潮| 日韩在线欧美精品一区二区| 欧洲精品久久| 青青草白白色| 91大胆欧美| 去干网最新版| 午夜120视频在线观看| 色噜噜国产精品视频一区二区| 亚洲色图 图片| 超碰久久性爱| 日韩三级视频一区二区三区| 91成人久久| 国产黄色剧情影片麻豆免费播放| 91老妇女| 欧美黑人91| 91网站18在线| 九九英色视频| 色五月婷婷中文字幕| 久久久新亚洲AV| 欧美天天影院| 亚洲人人夜夜澡人人爽| 99色日| 亚洲国产剧情少妇激情| 亚洲欧美九九九| 久久免费中文字幕在线观看| 91free福利| 极品色www影院| 99re公开精品免费视频| 在线观看高清AV| 少妇被c 黄 免费观看| 大鸡巴久久| 国产97色在线 | 亚洲| 青青草好吊| 97自拍一区| 久久中文色图| 天美传媒国产原创中文字幕亚洲欧美另类 | AV99热18这里只有精品| 九九九久久久久| 密臀在线免费观看| 国产成自自拍在线观看| 玖玖资源中文字幕制服丝袜| 久操在97| 猛交交| 9超碰免费| 日本99一区二区| 妇人噜噜| 欧美偷偷网| 97精品一区二区视频在线观看| 天天干1区2区在线| 夜夜黄| 超碰色美女| 日本大香蕉综合网红本杳社区| 91制服丝袜| 97超碰欧美手机| 亚洲欧美不卡线| 日本东京热久久久电影| 伊人网综合在线视频| 国产69精品久久久久99尤物| 99精品久久久久久久婷婷蜜桃| 五月丁香影院| 96国产污污污丝袜| 亚洲国产精品久久久久婷婷老年 | 一起草精品人妻| 色综合天天| 久久久工口| 一区二区三区四区久久视1| 青青草五月天| 欧美性爱网97| 亚洲欧洲日韩中文字幕一区| 久久久久久久9| 78精品| 欧美亚洲国产91在线| 精品国产人成在线| 七久久久| 欧美日韩亚洲五月天婷婷| 插B在线观看| 日本不卡二区| 思思在线免费视频| 亚洲s在线观看| 欧美日韩国产人人| 欧美日韩亚洲天堂| 精品成人动漫一区二区| 黄片不用下载在线观看| 久久色激情一区二区三区| 亚洲日韩久久精品一区| 人妻久久一区二区三区| 久久性爱网站| 一区中文字幕二区日韩| 俺也射| 国内毛片热久久思思热| 人人扣人人操| 亚洲丰满很很操| 极品销魂美女一区二区 | 日韩无码操逼片| 日韩福利综合一区| 香蕉av一区二区三区| 色婷婷电影网| 91痴汉| 少妇久久久免费| 性欧美第一页| 999 久久久| 亚洲免费97免费| 久草热制服丝袜在线观看| 好看的久久不射无码影视影院| 欧美丝袜激情| 99爱爱| 我爱操| 色吧91| 欧美亚洲素人制服精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 超碰精品97| 97免费视频在线| 1769成人国产精品视频| 黑人美精品 A片| 欧美v亚洲v日韩v最新在线二区| 久久久久人| 超碰 欧美| 欧美色宗合| 国产多人在线观看视频| 无码国产精品久久久久| 激情综合五月婷婷| 啊嗯好大视频在线观看| 久久噜噜噜精品国产亚洲综合| 性欧美91| 日韩免费看在线黄色片| 大香蕉黄色一区| 免费的av网| 操淫穴亚洲五月丁香| 97中文字幕九区| 丰满美女一级毛片在线播放| 国产精品4p在线观看| 国语av最新自产拍在线观看| 无码免费一区二区三区啪啪| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 99久久久| 亚洲成人一区二区精品| 96AV精品| 蜜汁欧美| 密乳AV免费观看| 丁香六月激情综合| 欧洲特黄毛片免费看欧洲毛片| 日本黄色精品专区网站| 久久激情视频| 在线中文AV| 成人精品无码| 91九色精品熟女内射| 9999伦理视频| 亚洲人妻色图| 三级激情网站| 蜜臀在线免费观看在线免费观看| 久9综合在线| 久久狠狠色噜噜狠狠狠狠97| 亚洲精品亚洲人成人网| 人妻黑丝袜电影| 中国人高清www色视频免费| 370p日韩欧美亚洲精品| 美女诱惑爱爱| 天天夜夜rb| 亚洲中文国际强奸字幕| 99自拍B亚洲| 就去色综合| 日本欧美一区二区三区免费| 超91综合网| 四虎影视国产精品| 天天操天天舔| 亚洲欧美啪啪| 黄在线| 久99热| 91美女視頻| av一区二区三区四区| 操狠狠| 人妻91少妇| 国产无套粉嫩白浆在| 免费久久9999| 无码精品久久| 激情文学欧美| 久久这里只精品免费福利| 色婷婷久久| 夜夜骑日日| 操我无码| 日日玩天天干| 国产又粗又长又爽又色| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 清柠毛片| 日韩熟女精一区二区三区不卡| 综合伊人激情| 啊好爽受不了无码| 精品人妻av区天天看片| 狂操嫩妻视频一区二区三区| 99热这里只有精品1| 免费强奸av| 国外91| 岛国在线一区二区三区| 欧美精品91| 日本1区2区不卡视频| 精品丰满人妻一区二区三区免费观| 青草精品视频一日本久久久久网站| 一起草精品人妻| 欧美色吧综合| 五月天精品| 欧美色图综合网| 超碰成人国产| 男人综合网| 亚码激情| 人人看人人插| 按摩中文字幕| 日熟女| 青青草字幕AV| 曰韩av中文字幕专区| 欧洲一区二区| 一道本久久棕合爱| 热久久国产| 中文字幕免费观看| 国产三区免费在线观看| julia ann久久| 99久久婷婷国产综合| 猛猛干| 天天日日日射| 男人高清无码一区二区| 97在线视频免费看| 色呦呦、国产精品| 18禁的网站在线| 精品少妇高潮久久| 亚洲午夜福利视频| 色网亚洲人| 亚洲天堂电影精品一区| 欧美性生活男人的天堂| 国产九区| 99精品久久| 久久区| 1二区9| av资源在线播放天堂| 青青五月天| 激情文学 国产一二三aV| 狠狠色狠狠色狠狠五月| 久久视频,这里只有精品| 99精品在线| 亚欧无码线免费观看视频| 国产一区二区三区,在线观看观看| 九九性视频| 久久性爱视频99| 7月婷婷综合| 日韩欧美一级特黄大片| 欧美天天综合网| 色香伊人| 久久综合久久综合人久久夜精品| 国产午夜激片Av毛片不卡| 日韩欧美麻豆 | 日本99久久| 欧美探花网| 亚洲色人阁| 天美传媒AV国产在线| 五月婷婷综合网| 黑人娇小av在线播放| 人妻熟女一区二区| 人妻插插人妻人| 精品一区二区成人动漫| 999精品国产高清一区二区| 欧美少妇高潮视频| 性爱AV天堂| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 黄色网址在线免费观看| 污色区网站| 十八禁电影伊人网| 神马久久网| 韩日无码在线观看| 亚洲一区中文精品| 国产三级中文字幕粉嫩| m欧洲一级午老| 人妻天天爽夜夜爽爽| 柠檬AV导航| 色色色天美视频| 黑人娇小av在线播放| 欧美啪啪啪91| 亚洲在钱| 亚洲91大片| 又摸又舔在线观看网站| 99re6久热只有精品6在线直播| 99久久99九九99九九九| 艹少妇网站| 亚洲天堂男人网| 伊人性在线视频| 99久久9| 91大胆欧美| 久久色情| 丁香五月性| 日韩去日本高清在| 91高清无码下载| 在线视频免费观看午夜| 97在线公开视频| 久超碰这里只有精品| 亚洲黄色网址| av东京热男人的天堂| 久插综合| 美女大乳久久久久久久女人18| 久热伊人99re| 少妇毛片久久| 91夜夜蜜桃臀1区2区3区| 亚州操操穴网| 中文乱码99| 嫩草伊人久久精品| 69精品人人人人| 啊啊啊在线观看免费视频| 人人操天天爽| 日韩 欧美 校园一区| 懂色AV中文| 久久天天性久久伊人| 殴美性色a级欧美| 后入美女国产| 殴美综合色88| 精品一区二区三区四区女| 97爱亚洲综合色| 亚洲 欧美 另类 日韩 人妻一区| 97超碰亚洲| 久久熟女久| 日本精品九九九| 嗯~啊~快点 死我视频免费看网站| 色亚州人久干视频在线观看免费版| 99精品高潮| 97AV爱| 97欧美精品综合| 一级黄碟在线看| 日日干夜夜操视频h| 久久中日麻豆| 天操老女人| 97资源站久久| 精品无码一区二区三区| 天天狂操夜夜狂日| 亚洲av综合伊人久久| 国产精品人妻无码久久久互動交流 | 人妻中文在线| 偷窥自拍亚洲色图| 亚洲av热热色| 夜夜嗷嗷一区二区| 999久久芭蕾| 日日爱99| 中文字幕一二区二三区人妻专区| 久久精品人妻一区| 多毛小伙内射老太婆 | 久久久久久久九九九九| 久久久久久久伊人精品| 人妻中文字幕日韩电影| 成人情色一区二区| 99久久这里只有精品| 大香蕉宅男伊人| 久久久99999久网站| 国产精品禁久久久精品| 啊啊啊啊好疼| 中文字幕在线观看永久| 九九色精品| 少妇69中文| 日韩乱码av| 超碰公开久久网| 91男同| 校园春色 欧美| 嫩草一区二区在线观看| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 性爱乱伦网址| 九久久九精品视频| 青青草好吊| 91看黄片| 91丨九色丨东北熟女| www.av在线视频| 97久久精品亚洲| 男人的天堂久久狠| 91人妻人人澡人人爽人人精品| 人妻日日干| 久久精品亚洲东京热色播| 国产精品suv一区| juliaann欧美丝袜办公室| 国产亚洲精品无码三区| 麻豆久久视频在线地址| 亚洲永久永久永久永久一级一级一级精品| 9久久久久久| 综合久久久久久久综合网| 野狼激情网| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 中文字幕乱码人妻一区二区三区,99精品| 午夜后入| 亚洲乱码精品一区二区| 69精品人人人人| 亚洲精品黑丝| 免费自拍三级综合| 破苞ⅩXXX性无码动漫无码| 蜜色网色哟哟| 精品国产乱码久久久A| 久久成人国产| 成人在线视频一区| 国产二区三区免费视频| 色蜜AV| 久久老熟女| 九月丁香综合网| 久久爽爽精品| 色视频蜜乳| 国产免费大片| 无码人妻一区二区三区免费九色| 国产第12页| 欧美色图片91| 国产偷人伦激情在线观看| 亚洲人妻一区二区三区| 精品久久97| 黄色视频特级毛片| 99热日| 国产av波波国产精品| 午夜福利区| 蜜臀久久99精品久久久久| 熟女性视频| 九九九九九精品视频| 热九九精品| 高精欧美色| www.婷婷六月天| 成人无码欧美一级A片狼牙直播| www..com操老师| 91欧美偷拍| 91在线精品一区二区三区| 极品白嫩福利在线| 黑人免费福利视频| 超碰97资源中文字幕| av三级电影在线播放| 熟女人妇一区二区三区| 九99久久| 色爱国产| 色与欲影视| 黄页大片在线观看| 欧美精品成人一区二区在线观看| 欧美少妇一区二区三区| 天天92av| 爱干爱射网啊啊啊| 少妇高潮流水av免费| 99国产精品久久久在线播放| 国产精品麻豆视频网站| 欧洲性人爱视频| 国产精品视频91久久| 久日91在线| 亚洲av影院在线观看| 区自美91| 婷婷激情啪啪| 午夜视频久久久久一区| 大香蕉色欲AV| 久久久精品成人国产| 麻豆 美女 丝袜 人妻 中文| www.色婷婷| 污色区网站| 精品乱码久久久久| 96久久精品一二三区色欲| 91制服丝袜中文字幕| 九月丁香婷婷| 中日韩熟女| 欧美色图欧美| 欧美色天堂网在线视频| 1769一区二区| 91色香| 国产丰满熟夫69mpp| 丰满人妻大屁一区二区| 91色图| 91欧美丨精品丨入口| www久| 偷拍亚洲熟女视频播放| 狠久久| 96AV久久久| 五月天玖玖资源站| 日本性爱视频一级| 超碰精品人妻狠狠干| 天天综合,91综合永久| 成人怡红院| 久偷拍欧美日韩三区| 五月天伊人| 制度丝袜99| 麻豆熟妇乱妇熟色A片在线看| 欧美日韩人人精品| 日本一级二级三级网站| 亚洲一二三四区| 夜夜嗷嗷一区二区| 婷婷五月天伊人| 国产在线强奸视频| 97天天| 欧美狠狠弄| 色婷婷电影网| 国产精品麻豆视频网站| 91丨人妻丨国产丨丝袜| 精品一区二区三区四区女| AA丁香综合激情| 久操网址| 欧美日韩不卡传媒| 久久久不能久久久久| 国产中文字幕曰本毛片| 国产精品久久久久久亚洲色欲| 亚洲骚男同com| 东北老女人的激情视频| 99热色精品| 首页中文字幕中文字幕免费| 亚洲色婷婷久久91| 人妻熟女一区二区三区视频| 91n免费处女| 嗯~啊~快点 死我视频| 美女自卫慰黄网站免费| 成人性爱视频在线看| 另类图片综合| 久久九九97| 久久久91福利姬| 国产精品欧美激在线| 少妇免费视频| 91free福利| 日韩人妻制服丝袜av| 成人国产二区三区在线,男女精品。| av线电影| 日韩午夜国产| 夜夜操91744565| 性做久久久久久免费观看软件| 国产亚洲精品农村妇女| 精品国产三级av韩国在线| 久久久久久性爱免费视频| 欧美大片天天看| 亚州 综合 色图| 97硬碰| 伊人青青一区成人视频在线观看区| 亚洲色图大香| 婷婷色婷婷| 综合网色| h无码动漫在线观看| 少妇xx精品| 久草视频观看视频在线| 国产女s强制榨精视频| 探花精品 一区二区| 男人天堂网址| 97在线观看免费视频| 91人人| 国产精品96| 91黑人狂躁丰满熟妇| 日本不卡在线二区三区| 免费在线视频97| 久久啊啊| 婷婷久月| 中文字幕精品探花视频| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 91精品久久久久| 91热色| 国产2.3.4区| 999精品女人| 色欧洲| 绯色一区二区三区不卡少妇| 国产在线观看91精品一区| 2019精品国产无码成人| 日韩熟女乱伦中出| 九九久久一区二区伦理| 无码少妇精品一区二区60岁老人| 国产成人无码久久精品| 综合色播| 97久精品| 国产91精品久久久久久久网曝门| 欧美日韩精品久久| 日韩中文9| 激情久久日韩精品中文字幕麻豆| 高清无码91| 先锋女优在线观看视频| 久久天堂| 波多野结衣先锋影音| 国产亚州高清国产拍精| 九九黄色网| 久久婷婷国产一区二区色| 欧美色图天堂网m| 欧洲精品网| 中文字幕精品亚洲熟女| 亚洲动态色图| AAAA欧美日韩| 色嗨嗨在线| 日本99视频| 综合网亚| 精品9999| 欧美激情综合网| 人人操人人操人人操人人操人人操人人人11.CM | 大香蕉 222| 欧美日韩国产人人| 怡红院成人视频| 日本潮催一卡操| 天天懆天天日| 中文字幕 国产 精品| 天美av在线观看| 亚洲一区二区三区麻豆传媒| 伊人午夜福利视频| 日本精品999| 亚洲熟伦熟妇AV无码春色| 中文字幕日韩专区精品系列| 日韩中文字幕视频在线观看| 天天爽天天干| 日韩人妻无码精品系列| 中文区中文字幕免费看| 色欲天天综合久久久无码网中文| 欧美色视频在线| 国产99 中文字幕日韩小视频| 亚洲第一页色| 亚洲人久久久网| 欧美翘臀视频网站一区二区三区| 激情黄色片在线观看| 欧美刺激色黄片免费看| 欧美有码亚洲中文字幕一区二区三区四区| 欧美夜色| 九九热九九| 影音先锋视频在线| 最新AVzaixian| 97在线观看免费视频l| 偷拍亚洲| 92人人操人人| 97超碰逼| 91老女人| 性爱av网站| 色天使大香蕉| 色悠久| 人人透人人操| surenchaopeng| 最新日本中文字幕| 99操碰| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 男同专区一区二区三区在线| 国产粉嫩蜜臀av一区二区三区 | 欧美72网页| 91久久| 亚洲精品亚洲人成人网| 欧美伦乱爱| 蜜臀一区二区三区在线| 婷婷亚洲色| 夜夜 中文视频rt| 国产精品点击进入在线影院高清 | av资源在线播放天堂| 久草在| 福利视频香蕉免费一区二区在线| 色99在线| 亚洲影视高清第一页| 高清一区AV无码| 91天天综合网,天天综合网| 国产精品第一页国产大屁股视频免费区| 美中日韩无码| 99re6国产精品99re| 久久久久亚洲熟妇熟女| 人夜夜精品网站香蕉嫩草| 欧美色图欧美| 色婷婷综合视频| 亚洲影视高清第一页| 欧美日韩啪啪电影| 亚洲中文字幕妇伦久久| 久久久久久九九九九| 操碰97| 91欧美情色| 强奸乱伦αv片| 九一国产精品| 乱伦日本色图AⅤ| 裸体美女久久久| 成人小说视频在线精品欧美| 绯色AV粉色AV蜜臀AV| 91精品无码久久久久久久| 久久本道| 日韩精品人妻| 日本三级久| 亚洲日韩美女丝袜美腿人妻视频| 五月丁香啪啪啪| 精品人妻久久久久一区二区三区| 国产伦乱91| laoshunv91| www.久久制服糖| 中文字幕-区二区三区四区视频中国| 天天射天天操天天干天天吃2018 | 十八禁av无码免费网站APP| 手机不卡视频不卡在线一二三区| 国产福利一区二| 日本女厕偷拍| 成人av影院在线观看| 性色avv| 夜夜草我| 韩国女主播青草在线| wwwxxx日本爽| 超碰在97| a在线视频免费观看| 9长久久精品| av日韩在线观看电影| 97天天插| 91九色精品熟女内射| 男人天堂2030| 日韩伦理久 久久 清纯| 亚洲天堂男人| 午夜性| 夜夜影视四色| 午夜男人的天堂| 日韩情色视频| 奇米四色网| 综合网亚洲1| 无码99| 日本东京热久久久电影| 九9热伊人| 99色在线视频| 一区二区乱码福利| h色99999| 91综合在线| 激情婷婷综合久久| 国产精品久久久久久久久久久久久久久| 美国aaaaa一级黄片| 91欧| 加勒比日本在线| 国产精品熟女丝袜一区二区| 国产精品久久久久久久久久久久久久| 男人干美女| 日本色色色视频| 香蕉综合网| 色在线69堂| 韩日精品四区| 久热在线精品免费观看| 欧美性五月| 久久久久久夜夜夜夜夜| 日韩一性一交一A片俄罗斯| 性欧美999| 久久久久一本一区二区青青蜜月| 婬女免费一二三区A片| 91综合色噜噜| 久污| 日韩一区二区熟女| 欧美性爱一级操| 国产女大学生AV| 亚洲脚交| 久久久久久久久九九久孕交| 岛国精品视频在线观看| 亚洲无码视频免费在线观看网址!| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 午夜亚洲WWW湿好大| 97人妻人人躁人人玩人人| 婷婷亚洲综合| 午夜福利av电影在线| 一本久道久久综合狠狠爱一密臀精 | 亚洲图片欧美色| 啊啊啊不要嗯嗯在线观看| 97天天爽| 国产精品人妻熟女aⅴ| 色综合91好| 国产乱子伦一区二区三区免看| 亚洲日本韩国在线| 国产专区第一页| 美女高潮国产高清| 日欧毛片久久| 国产亚洲在线观看| 久久美女国产| 国产精品久久久 | 骚鸭AV| 欧美成人色| 久久性爱大全| 国产在线激情视频| 成年人黄色| 性感美女91影视| 97超级色碰碰| 久久国产对白激情浪潮 | 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 中文字幕精品探花视频| AV有码在线| 国产丰满少妇久久久精品影院| 青青草视频爽一爽| 小泽玛利亚一二三| AV电影在线播放| 在线国产探花| 欧亚性爱啪啪| 日韩黄片影院| 亚洲av青草久久一区二区| 高精欧美色| 久久国语| a人欧美综合天堂麻豆| 中文字幕国产精品1区| 素人播放一区| 日本熟女中文| 麻豆成人av| 国产精品久久久久久久电影渣男| 午夜免费视频1000| 国产免费内射视频| 亚洲天堂AV在线播放| 日韩中文字幕2020| 中文字幕av亚洲在线| 亚欧美综合网。| 伊人激情五月天一区二区| 蜜臀一二三| 国产九九九九九九九九| 亚洲 日本 不卡| www.夜夜操| 久久久精品| 久久大陆| 日本日皮视频逼| 日韩欧美加勒比| 久久亚洲天天做| 乱伦AVxx| 青草成人免费视频一COm| 99综合自拍| 99操视频| 亚洲人妻中文在线视频| 亚洲综合69| 欧美色三级片91| 亚洲囯产精品女人久久久| 久久丝袜| 伊人 俄罗斯 a v| 狠狠 91| 久久受www免费人成| 玖玖无码超碰| 少妇无码太爽| 亚洲无码久久久久久久| 免费人成毛片乱码| 性感美女91影视| 男人的天堂2019AV| 你想操日本小逼吗| 久久亚洲AV无码白度| 天天摸天天舔天天操| 欧美黑人XXXⅩ高潮交| 亚洲1区2区三区高清中文字幕| 日韩图色| 麻豆成人影音在线| 欧美人妻一区二区| 天天综合网国产| 五月婷婷爱六月丁香色| 一本精品日本在线视频精品 | 人人 操人人 操人人| a片偷拍视频| 台湾佬大香蕉| 72av视频| 亚洲少妇综合| 亚洲精品国产熟女久久久| 在线中文字幕| 91亚洲欧洲| 欧美日韩中文字幕人妻| 蜜臀亚洲综合一二三四区| 少妇专区一二三四五| 偷拍超碰| 狠狠夜色午夜久久综合在线| 久久久久成人亚洲国产| 啪啪视频亚洲第一| 欧美gv在线观看| 免费男人的天堂| www.成人无码| 久久久久久少妇| 国内外毛片在线观看| 婷婷激情丁香| 中文字幕一区二区无码成人| 超清中文乱码字幕| 国产极品粉嫩馒头一线天av| av天堂精品久久| 国产亚洲精品玖玖玖在线观看| 俺去俺来也在线www| 在线观看黄色电话| 性爱久久| 欧美 亚洲 大香| 国产AV天美传媒一区二区三区 | 久久久久久97| 成人怡红院| 欧美伊人久久综合网| 人人操人人搞人人草| 偷拍亚洲| A片三级无码| 97国产色综合| 成人熟女区| 加勒比综合88| 乱伦av麻豆| 91人妻人人妻| 91精品免费| 在线亚洲欧美| 97久久超碰| 久久水蜜臀亚洲AV无码精品| 青青草华人在线欧美在线| 亚洲第一男人天堂| 国产操逼视频在线观看| 五月丁香婷婷综合| 久久久久久久久国产| 亚洲国产精品久久AV| 人人摸人人添人人操 | 欧美少妇高潮视频| 激情小说图片亚洲首页| 六十路日本| 91五月天| 人妻加勒比东京热| 蜜桃久久久久久久久久久久| 蜜乳av一区二区三区四区不卡| 天天看天天日天天操| 91久久九九精品国产综合| 天天综合91在线| 操熟女91| 最近的最新的中文字幕视频| 欧美夜色| 国产色产精品在线观看| 亚洲熟妇图片| 啊啊啊啊啊啊好多水| 五月丁香综合啪啪| 青操影院| 久久黄色视频一区二区三区 | 久操精品| 红杏大香蕉|