久久亚洲成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
返回資訊列表
天天日骚逼熟女| 国产AV久久久蜜爱影集| 91GD.COM| 人妻人久久精品中文字幕| 亚洲一区中文精品| xxx亚洲午夜天堂| 人妻夜爽夜夜爽| 交换娇妻呻吟声不停中文字幕| 九九无码| 成年人黄色视频免费| 婷婷丁香六月| 亚洲人妻色图| 91N欧美| 婷婷20月天青娱乐| 五月婷婷综合网| 婷婷人妻激情| 婷婷久久五月天| 怡红院成人av| 26uuu国产成人综合| 久久久久9999妇女| 日韩无码黄色片| 麻豆国产成人精品| 国产三级中文有码在线视频| 精品人妻一二三四区视频| 人人妻人人爽 97人人看碰人免费公开视频| 东京日日夜夜| 一区二区播放| 亚洲欧美天| 偷拍自拍在线视频观看| 丁香五月天久久精品视频一区二区三区| 欧美色图亚洲激情| 一区二区三区精品黑丝白丝酒店对鸡 | 亚洲欧美在线观看无码| 欧美熟妇操操视频| 大香蕉黄色一级片免费看| 午夜成人福利影视| 中文人妻av高清一区| 久久九七| 亚洲精品一区二区三区在线播放| 熟女熟妇伦久久影院毛片一区二区| 亚洲欧美国产成人综合不卡| 99蜜月精品久久| 91精品丝袜在线观看| 超碰在线日韩一区| 亚洲国产欧美日韩人妻日中文| 国产精品视频在线观看| 欧美狠狠操| 岛国黄| 性性欧美| 亚洲综合婷婷| 亚洲婷婷综合网| 哈哈操电影AV| 亚洲情色中文字幕一区| 大香蕉2017| 视频二区美腿丝袜制服人妻欧美| 俄罗斯及免费在线看| 久久偷拍人| 欧美日韩性爱无码| nuu12国产麻豆精品| 免费一级毛片在线视频观看| 骚女天天综合网| 大鸡巴久久久| 岛国毛片手机在线观看| 日天天九九天堂666| 日韩国语字幕| 99精品视频在线观看免费| 伊人久大| 丝袜综合| 六月婷婷色综合| 蜜臀无码视频在线观看| 久啪| 国产一区96在线| 高清无码在线播放网站| 女上位精品在线| 青草视频在线看看看看看看看看看| 亚洲天天综合| 久久久久久十| 欧美与日韩97| 极品丝袜无码| 无遮挡h肉动漫在线观看| 国产偷拍网站| 中文字幕熟女人妻丝袜丝| 日本在线一二 | 亚洲吊色| 大香蕉综合在线| 插入逼91| 午夜在线播放| 啊啊啊啊啊啊啊在线| 97WW精品| 国产无马av| 久久午夜鲁丝片| 亚州,欧美在线| 亚洲最大的黄色电影网站。| 日韩激情中文字幕有码| 亚洲97成人在线观看| 嫩草 我啊~嗯~在线| 久久9 9 9精品| 日韩中文字幕人妻视频| 91精片| 国产精品丝袜在线| 欧美九一精品久久久熟妇| 亚洲。日韩。欧美| 天天综合91在线| 99这里只有精品国产| 欧美性爱一区二区三区| 五毛骚逼极品美女怕怕| 中文字幕视频一区视频二区| wwwss在线观看| 欧美一级久久久久久久大片动画| 亚洲麻豆av一区二区| 婷婷10月天青娱乐| 久久成年精品| 久久riav中文精品| 三级日韩一区二区三区| 变态乱伦伪娘灌肠一区二区| 尤物av网站免费在线播放| 伊人欧美大香蕉视频| 香港日本韩国人妇99www.wccm20| 国产福利夜| 国产日本熟女顶级一区二区三区视频 | 色色色999| 国产精品999zyz| 欧美人与动性人交a| 91欧美网| 男人天堂2017| 日韩肏逼视频| 日本性感人妻91| 曰韩人妻中文字幕在线| 天天澡天天狠天天天做| 国产精品久久久亚洲第一牛牛_在线观看| 天天澡天天爽日日av| 麻豆久久久久久久久丝袜 | 亚欧性爱在线无码| 国产成人bd在线观看| 温婉少妇玩3p| 香蕉人人操tv| 国产又爽又黄| 一本久道久久综合狠狠爱| 国产成人网址| 久热超碰| 久九干| 亚洲国产剧情少妇激情| 婷婷香蕉欧美在线一区二区三区| 狠狠狠一区二区三区| 久久国产三区| 九月AV| 国产黄色 A 片免费看| 久久久999国产精品| 人妻 欧美 中文| 久久久久七视频| 极品色综合| 十八禁电影伊人网| 成人免费性爱视视| 丝袜天堂网| 欧美色性爱| 97精品熟女少妇一区| 亚洲日韩视频二区| 91社区拍啪人妻| 亚洲黄色a级片| 黄色高清无码无码破解免费暗网| 91九色首页| 婷婷五月天成人网| 久久美女国产| 我要看免费韩日黄片| 东京热免费视频| 无码日韩人妻av一| 天天插天天操| 亚洲中文字幕噜噜噜久久久| 超碰97精品在线| 99国产精品在线观看| 97精品视频免费| 男人的天堂在线| 欧美淫乱视频| 超碰午夜| 激情视屏国产乱伦强奸| 97超碰欧美| 亚洲欧美setu| 国产sv美女内射| 无码精品久久久久久亚洲| 久久国产免费激情视频| 国产福利第一视频| 99爱久久视频频| 日本超碰色精品| 日韩天天综合| A级毛片在线看免费| 日韩中文字幕二区| 九九热免费在线国产视频伊人五月| 少妇免费视频| 综合情欲网| 清纯唯美亚洲综合| 国产成人网站在线观看| 97干色天堂| 久久久婷| 超碰97丝袜| 91精品人妻电影| 久久国色天香香蕉| 亚洲激情欧美色图 | 国产成人亚洲精品无| 欧亚在线视频| 亚洲精品久久久久毛片A片拉屎| 久综合网| 久啪| 欧美久久伊人| 性色高清..……| 俺去久久| 青青草影视蜜久久| 蜜乳中文字幕a在线| 91综合网站| 麻豆91熟妇人妻中文字幕茄子| 亚洲加勒比色图| 亚洲欧美精品福利在线| 啪啪AV导航| 综合久久久久久久综合网| αⅴ天堂| 精品精品精品| 亚洲天堂电影网| 欧美成va视频网站| 一级特级aaaa毛片免费观看| 色五月网址| 在线观看不卡一区二区三区| 国产按摩一区二区三区| 欧美激情精品久久久久久| 人人做天天爱| 9 7超碰在线免费观看| 99re久久| 婷婷五月综合在线| 国产精品毛片| 亚洲第一狼人丝袜美女另类| 91视频精品| 10000部十八禁看电影| 欧美色老汉| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 国产精品久久久777| 操人妻逼91| 插入综合网| 黄色av片三级三级三级免费看| 国产亚洲精品农村妇女| 日韩AV噜噜噜一区二区三区四区 | 天天操夜夜嗨| 日韩AV电影网站| 国产精品自在自拍视频| 亚洲诱惑| 国产一区二区成人av在线播放| 亚洲精品成人| 色亚洲欧美| 色色色999| 欧美综合色图片| 男人的天堂一区三区| 大屁股熟女一区二区三区| 又大又长又粗又爽又黄| 人妻黑丝袜电影| 天天日天天搞天天干| 亚洲狼狼干综合1| 亚洲欧洲av影音| 毛片17S| 欧美性生活男人的天堂| 极品久久久久久久久久久久久久| 亚洲国产ⅴ高清在线观看| 日本久久综合| 日本在线播放不卡一区| 伊人久久AV诱惑悠悠| 无码人妻一区二区一牛影视| 国产肏逼网站| 大香蕉在线免| 我爱大香蕉| 97国产精品一区二区传媒公司| 久久国产视频性吧| 1000部熟女视频在线观看| 丰满搜索结果 -第18页- 久久高清无码| 亚洲,日韩,欧美,成人播放| 热久久99999| 亚洲精品一区中文字幕乱码| 欧美性爱十八禁| 中文字幕片| 免费在线视频97| 91啪9色| 中日亚韩免费视频| 91爱剪切久久| 亚洲另类色综合网站| 久久有碼| 家庭乱伦性爱av| 抽插一区二区视频| 中文字幕二区日韩天堂| 欧美色图20p| 色天使大香蕉| av凤凰久久久| 日韩97超碰| 99啪啪视频| 能在线播放的国产三级| 国产99热| 国产免费久久精品99re韩国| 中文啪啪视频| 这里只有精品视频在线观看麻豆 | 亚洲精品一区二区三区在线播放 | 中文字幕天堂在线| 日本精品加勒比海一区| 人妻久热在线| 亚洲欧美日韩综合在线尤物| 中字幕人妻一区二区三区| q2午夜理论片夜色av| 人妻激情另类| 青青操狠狠撩| 国产无马在线| 99999亚洲| 伊人操操| 亚洲图片欧美日韩| 亚欧视频在线| 久久成人国产精品| 亚州操逼网| AV九九| 日韩强奸av| 午夜操一视频一区| 亚洲人久久久网| 国产成人网址| 伊人久久大香线蕉无码| 欧美性性性| 99re热| 香蕉一区二区三区在线视频| 一起草AV| 日本日皮视频逼| 69少妇一区二区| 96久久久| 久久午夜神马| 好爽要喷了| 伊人97色天使| 欧美后进式| 亚洲蜜乳av| 日本精品中文字幕视频| 夫妻天天操岛国视频| 春色综合免费| 国产97在线播放| 亚洲熟女乱色| 啊啊啊啊啊在线观看网址 | 亚洲自拍天堂| 中国农村熟妇毛片视频| 天天躁日日躁狠狠躁| 少妇久久久免费| 国产精品色哟哟| 青青草原人妻| 色区久久| 久久久久久亚洲中文| 中英熟女操女| 色综合国产在线观看| 欧美热图99| 9久9久9久9久视频网站| 亚洲污污网站| 午夜精品久久999热蜜桃介男人用| 91黑丝美女| 成人天天看站长推荐| 九九九九久久久| 老子午夜伦不卡影院| av影片在线观看不卡| 女生久久网| 成人性生活高清视频在线播放| 国产肏屁眼视频| 91殴美大片| 99re8超碰| 67914在线兔费成人视频| .精品人妻一区二区三| 污色区网站| 久久久新亚洲AV| 久久久精品| 黄片www视频免费| 思思热一热婷婷热一热| 蜜桃臀一区二区aV| 丰满熟妇大乳做爰| yazhououmeizongya| 91久久久老司机| 天美传媒av一区二区| 久久大精品乱码视频人妻熟女| 嗯嗯,好大,好爽,好骚| 久久亚洲人妻| 偷拍欧美亚洲| 亚洲男人天堂AV| 亚洲春色一区二区三区| 中文字幕日韩人妻视频| 亚洲精品国产熟女久久久久久| 日韩无码黄色片| 日韩亚洲Av人人夜夜澡人人爽| 天天干天天操天天干天天操| 久久婷婷五月| 国产夜夜艹| 亚洲色资源| 97超碰久| 欧美92| 亚洲啪啪综合?v一区综合精品区| 八戒无码国产午夜福利| 色青青久久影视| 亚洲国产日韩欧美熟妇在线| 亚洲淫色网中文| 韩三级a视频在线观看| 激情抓乳插进去啪啪啪日韩| 强奸乱伦大香蕉网| 大香蕉伊人色偷偷在线| 国产九区| 伊香蕉综合久久久久久久噜噜噜| 水多多映视AV| 久久久精品视频免费观看| 亚洲综合成人网| 亚洲、日韩、综合、另类| 精品久久九| 加勒比色99999| 欧美一区二区三区不卡高清视频| 国产AV久久野战精品| 激情小说五月天| 91美女在线视频| 欧美色蜜桃97| 2017人人操,人人摸| 天天日天天干天天整| 青青草自拍视频在线播放| 国产 大胆 对白| 欧美96精品在线| 日韩无码视频黄色| 婷婷久久五月天| 看看小穴| 97精品一区| 美国日韩黄片| 超碰99在线观看| 国产青青美女玩逼视频| 免费成人自拍视频在线| 久久婷五月| 美女毛片999| 日韩欧美中文字亚洲慕| 久久av无码| 综合网色| 锕锕好爽 死我在线观看| 精品高潮| 欧美黄片欧美黄片xxx| 国产这里只有精品| 亚洲 无码 有码 中文字幕| 污色区网站| 亚洲夜夜欢无码一区二区| 亚洲宗合电影| 另类图片综合| 思思99热| 欧美女同在线| 亚洲春色一区二区三区| 亚洲 91 在线| 精品午夜福利| 亚洲天堂99| 噜噜噜亚洲精品| se吧提供91精品国产91久久久久久 | 欧美偷偷网| 免费看黄片现成| 日本有码影片下载| 91岛国动作片| 在线观看色视频| 少妇三P| 13小男生GAY自慰脱裤子| 日日夜夜干| 久久久内射良家| 欧美极品性爱天天射| 人妻天天夜夜爽一区二区| 久久久999国产精品| 美女一区二区国产精品| 无码人妻精品一区二区三区九九 | 午夜电影在线观看无码专区| 熟女中出视频| 玖玖爱在线视频免费观看| 精品 码产区一区二-1080P高清在线www-B029AV| 亚洲国产中文字幕| 草草影院最新网址| 国产精品视频电影| 日韩国产精品人妻无码久久久| 人妻久久久久久| 婷婷丁香人妻| 国产亚洲一黄| 亚洲精品久久久久毛片A片拉屎 | 欧美少妇一区二区三区| 久草精品国产99| 少妇毛片久久| 精品国产乱码| 美女91色黄18| 亚洲各类熟们中文字幕| 大香蕉中文在线| 日韩pv中文| 91国产操逼视频| 黄色二级片网站| 无码精品一区二区三区潘金莲| 91九九九逼| 友优传媒精品在线一区二区| 久久久A∨| 好色综合| 久久中日麻豆| 91精品综合久久久久久五月丁香| 日本一线产区和二线产区伦理片| 精品一区二区成人动漫| 91精品又粗又猛又爽| 国产无码精品成人| 狠狠亚洲| 一线黄色免费性爱片| 欧美白嫩女HD| 在线A日本| 偷拍新久久| 久久精品一区二区三区不卡| 在线播放成人高清免费视频| 欧美日动态视频| 女人喷水视频在线观看| 亚洲黄色AV电影| 九九热超碰97亚洲最新香蕉| 日本高清有码网址视频| 九九AV| 嗯嗯啊啊好疼| 人妻日日干| 天天噜| 99爱久久视频频| 日韩人妻制服丝袜av| 夜夜嗨一区| 澳门人妻久久| 自拍偷拍亚洲熟女妇人精品| 亚洲综合嫩| 91伊人影视综合| 大色综合网| 亚洲欧美999| 玖玖草久草99蜜月一区二区三区| 色99在线| 熟女探花啪啪| 密臀成人视频久久久| 麻花传媒免费网站在线观看| 精品人妻一区二区三区夜夜| 99色视频| 搡老女人老妇女AAA一VU麻豆 | 欧美在线|亚洲| 91久久精品国产| 国语对白在线播放视频| 四虎影视精品| 欧美亚洲AN| 亚洲综合五月天| 国产绿奴视频在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产精品播放| 60秒免费视频| 中文字幕一区日韩精| 欧美18 在线观看| 夜夜欧美| 久久影视二区三区行押| 天综合中文| 欧美日韩午夜精品一区二区三区 | 99少妇| 成人热久久精品| 日韩人妻精品久久久久| 国产精品久久久久综合| xxxx网站亚洲精品| 亚洲精品一二牛牛| 好吊色综合| 中文字幕av一区二区三区人妻少妇| 密桃99999| 国产女乱淫真高清免费视频| 亚洲无码超碰免费| 国产呦精品系列在线观看| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 91精品在线播放| 天天色怡春院| 物尤视频一区二区| 午夜呻吟欧美| 日韩在线视频1234| 久久五月份| 色色色热| 婷婷五月天福利| 国内精品伊人久久久久影院会| 一个人免费视频观看在线WWW| 色妇综合网| 国产伦精品一区二区三区在线观| 中文字幕丰满子伦无码专区在线视频最新 | 九九热精品在线| 99re这里只有精品3| 超碰91在线| 秋霞视频一区二区| 日韩不卡毛片Av免费高清| 亚洲欧洲日韩天堂av| 亚洲国产成人精品久久久国产成人一区二区 | 91成人精品在线播放| 97色伦97色伦国产欧美| 夜草网站| 九九九久久久| 国产乱伦视频污| 好吊色综合| 午夜精品久久久久久久99热影院| 91丝袜在线观看| 国产最新小视频在线播放下载| 伊人专区一区二区三区| 欧美强奸乱能| 国产欧美亚洲精品a第2页| 俺去啦自拍| 97亚洲国产| 女人18精品一区二区三区| 不卡六六在线91| 一区二区亚州激情久婷婷欧美| 黄色一区三区| 97欧美日韩精品| 亚洲小说视频| 97亚洲综合| 久久精品黄色| yaouchengrenav| 99久久精品欧美国产| 岛国免费黄色网址| 日韩性爱小视频在线观看| 婷婷五月天av| 无码欧美有限公司| 色综和网| 欧美亚洲宗合色性图| 日本精品一区二区三| 嫩草 我啊~嗯~在线| 97ai亚洲| 国产精品一区二区a| 1769成人国产精品视频| 无码精品久久久久久亚洲| 懂色Av一区二区三区| 免费AV中文网在线观看| 日韩无码a片| 国产精品无码论坛| 人妻激情另类| 97在线青| 欧美日韩亚洲天堂| 国产成人99久久亚洲综合| 伊人五月天激情| 色五月婷婷五月天| 九九久久99| 超碰97导航| 国产日韩久久| 亚洲成人无码影院| 亚洲午夜AV| 色诱中文字幕| 欧美激情亚洲| 囯戸精品高潮呻吟旡码| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 国产精品成人无码a v毛片| 亚洲综合中文字幕有码| 超碰亚洲97| 嫩草 我啊~嗯~在线| 九久精品| 一区二区三区高清天码| 色婷五月天| 小骚逼被操的爽不爽| 三级色影综合网| 日va操| 97高清啪啪| 欧美日韩人妻精品一区二区三区| 国产精品天堂| 欧美日韩岛国大片在线观看| 日日夜夜国产综合| 欧美亚洲手机在线| 免费观看的黄色的网站| 蜜桃久久久久久久| 97视频一区| 久久大香蕉97| 99操| 久久97超碰| 欧美不卡在线美女| 97香蕉人人乳| 国产一区二区精品久久久不卡蜜臀| 亚洲熟女乱综合一区二区三区| 在线观看中文av字幕| 亚洲十八禁止| 色播五月婷婷| 日本熟妇自慰性高潮一区二区三区| 大香蕉乱伦视频网| 热的中文 热的有码 热的国产| 国产日产精品久久快鸭的功能介绍| 嗯嗯嗯啊啊啊干死我吧| 九九九草| 亚洲成人av色网| 国产综合久| 日韩伦理久 久久 清纯| 色就色综合| 国产自产22区| 黄网站黄视频网站进入口 | 天天躁狠狠躁av| 午夜视频黄| 久热9| 蜜臀久久99精品久久久久| 午夜传煤十二区精品| 亚洲国产剧情少妇激情| 性高潮久久久久久久久久久| 五月激情影院| 国产女人9999| 久久久久密臀视频| 中文字幕日本久久| 国产在线综合福利网站| 99www.bibizy香蕉资源国产一区二区三区高清 | 欧洲一级性爱视频在线观看| 91伊人| 超碰偷拍| 欧美熟女操屄| 亚洲诱惑天堂| 黑丝自慰喷水网站| 色眯眯av| 天天日天天搞天天干| 97色爱| 久久性生大片免费观看性| 调教熟妇 久久久久久| 中国熟妇| 欧美成人9797| 中文有码9| 九九av| 欧洲精品一级二级精品综合视频综合| 五月天偷拍| 人妻欧美| 夜夜操av亚洲一区二区| 99无码狠狠久久| 人人九九精| 亚洲成人日韩小说| A 天堂| 久插综合| 一级毛片久久久久久久女人18| 牛牛AV人人夜夜澡人人爽| www.91理论| 国偷自 一区二区| 日韩少妇一区二区三区| 亚洲情色综合网| 亚洲中文字幕三级在线| 中文字幕第2页| 搡老女人老妇女老妇老熟女怎么读| 91熟女视频| 狠狠热这里都是精品| 国产日韩欧美三级片| 很很干很很操| 国产精品com| 蜜色网色哟哟| 欧美精品成人在线播放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 女人被添高潮免费视频| 激情文学小说一区二区| 六九九九| av网页一区二区三区| 33044男人的天堂深夜备| 久久一二三四五六七八九区区区 | 色色婷婷五月天| 久久啊啊| 国产精品高潮久久AV| 天堂8在线新版官网| 国产精品久久久久久久久久久久久久吹 | 亚洲色图第四色| 久久一二三四五六七八九区区区 | 91欧美另类| 婷婷伊人网| yw尤物av无码点击进入麻豆| 国产免费一区| 国产动漫操逼视频| www.av家庭乱伦| 呦女网站| 欧美久久草熟女| 国产熟女免费观看久久| 日日躁夜夜躁狠狠躁超爽| 中文字幕日韩精品一区二区三区| 亚洲综合一区二区| 蜜乳中文字幕a在线| 亚洲,欧美,综合网| 亚洲色9| 色区久久| 亚洲国产一区二区入口| 亚洲自拍97| 久久AV无码1区2区3区| 高清孕妇孕交 交| 色色操| 色综合一本| 97亚洲综合在线| 啊啊啊97视频| 男人的天堂不卡一区二区| 操逼片国产| 69精品| 97人人色| 久久久禁| 九九九九88| 久久婷婷亚洲| 亚洲暴力强奸AV| 日韩成人私密一级精品av| 可乐操亚洲蜜911| 天天综合网~91综合网| 中文字幕一区av| 国产成人精品必看| 蜜臀在线视频| 中文字幕一二三av| 超碰碰97| 国产11页| 激情五月丁香五月| 亚洲色图日韩精品| 欧美人人曰人人操人人射射| 不卡在线观看视频| 亚洲综合色图欧美| 亚洲色图第一页| 美腿丝袜高跟网免费视频免费视频| 精品一区二区三区蜜桃臀赵总 | 精品久一区免费| 97伦综合| 日本在线视频导航| 欧亚综合一卡二卡中文字幕| 久久这里只精品| 亚洲欧美国产va在线播放频| 午夜精品99久久久久传媒| 亚洲系列第一页| 17c嫩草51久久91嫩草| 欧美成人精品A片免费一区99| 蜜臀无码一区二区| 后入美女国产| 一级毛片久久久久久久女人18| 99re公开精品免费视频| 日韩一级欧美一级国产一级台湾| 91精品国产91久久青草| 亚洲国产欧美中日韩成人综合视频| 欧美日韩系列| 少妇毛片久久| 精品国产无码中文| 自拍内地三级在线观看| 96国产精品| 久久亚洲不卡| 久久日韩肥臀| 少妇熟女视频一区二区三区| 亚洲综合大片| 欧美日韩亚洲国产中文永久天天看| 99精品久久久久久| AV色图| 天天日美女的B| 日本熟妇色熟妇在线视频播放| 免费网站观看www在线观| 女人一区| 成人在线视频一区| 欧美激情久久久久| 熟女露脸激情自拍视频| 操人妻少妇中文| 熟女精品一区二区三区| 精品国产久热在线观看| 欧美国产日韩高清在线| 五月婷婷激情综合| 人妻激情偷乱视频一区二区三区| 国产女人高潮视频| 久久色一区| 操B久久| 97精品在线| 久久久久久无码人妻中文字幕| 老鸭窝成人| 亚洲人妻五月丁香婷婷| 国产精品高潮久久久无码| 91人人操| 无码不卡八戒| 久久av一级av少妇av高潮| 亚洲国产精品成人无码久久久| 91粉嫩萝控精品福利网站_精品影音先锋国| 日韩中文字幕二区| 色性综合| 国产午夜福利视频在线| 欧美色色人| 麻豆天美在线| 日产欧美电影一区二区三区| 国产精品亚洲无码| 乱色视频中文字幕| 后入 亚洲 美女 射| 99RE在线视频精品,这里只有精品| 大香蕉99热| 美女爽爽爽刺痛洞洞| 久久国产乱子伦精品免费女,网站| 国产在线观看一区二区三区| 伊人久久大香线蕉无码| 这里只有精品视频在线| 国产性刺激| 看看日B真人视频| AV中亚| 超碰成人公开| 天天做天天爽| 四虎视频在线观看| 日韩无码第3页| 天天爽天天操啊啊啊| 张柏芝国产一区在线观看| 一区二区三区美女超清| 亚洲无 码A片在线观看麻豆| 国产精品一区av在线| 91色久| 久草精品国产蜜臀| 蜜臀va69| se吧提供91精品国产91久久久久久| 播播亚洲小说亚洲| 精品一区96| 国产AV天美传媒一区二区三区 | 91国产操逼视频| 亚州操逼图| 精品一区二区三区蜜桃臀赵总| 久久9久9久99久9久9| 久草热制服丝袜在线观看| 男生通女生屁股| 久久透逼视频| 免费精品福利在线观看| 欧美高潮在线| 女优大全 - 91n| 在线观看亚洲专区| 无码heyzo高清一区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | AAAAAAAAA黄片| 日本三级韩三级99久久| 蜜桃臀一区二区aV| 国产91av在线播放| 91色艳| 激情婷婷黑人91| 欧美 亚洲 在线| 亚欧无码在线| 日韩美女高潮喷水视频| 97超碰碰| 欧美日韩高潮喷水91| 色婷婷一区二区三区久久午夜成人不| se吧提供国产乱老熟视频胖女人| 五月天激情视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 成功精品影院| 美女网站黄页| 精品人妻一区二区视频| 99在线观看无大码| 蜜乳AV免费观看| 午夜婷婷| 青青草原香蕉日本Ap| 日本精品不卡一二三区| 啊啊啊久久久视频| 亚洲密乳AV| 欧美成不卡网| 国产在线综合福利网站| 国产性感骚丝袜在线| 青草成人免费视频一com| 中文字幕一区二区三区50路| 啊啊啊啊好疼| 欧美日韩中文亚洲v在线综合| julia中文字幕在线观看| 性爱综合一区二区| 综合干干干av久久久综合网 | 亚洲精品久久久久毛片A片拉屎 | 天天色综合图片| 九九九九九九九九九国产精品 | 欧美人与性动交a美精品| 蜜臀久久久国产| 日本三级A片网站com| 久久久∴| 国产精品无码av在线| 成人在线午夜视频一区| 强奸乱伦日韩AV| 天天干1区2区在线| 99人人干| 久久久久久久唑| 成人综合色网| 26uuu久久| 91欧美长吊| 青娱乐欧美激情一区二区 | 中文字幕国产在线天堂| 超碰97起碰| 久久久久久9| 免费9 1久久| 激情抓乳插进去啪啪啪日韩| 偷拍欧美激情| 久久久精品网站| 91啪9色| 久久亚洲中文字幕视频| 亚91亚洲网| 在线观看无码三级少妇| 91国产在线精品| 五月天黄色激情视频| 日韩有码中文字幕女同性恋 | 9久精品视频在线观看| 亚洲午夜福利在线影院| 久久久免费视频18| 狠狠色丁香| 超碰97人妻免费在线| 亚洲人妖网| 欧美一区二区三区日韩| 99热这里只有精品18| 欧美亚洲丝袜美女电影| 男女激情黄色网址| 久久国产精品一区二区| 中文一区二区婷婷视频| 亚洲制服aⅴ中文字幕| 老司机福利社视频在线观看| 亚洲综合小说另类图欧美视频激情小说色五月天 | 欧美制服网站美腿丝袜| 一区二区精品日韩欧美在线观看 | 一级性爱视频免费观看 | 日本幼女18+| 67194无码不卡| 国产综合网站在线播放| 啊啊啊草死我| surenchaopeng| AV九九| 一本精品日本在线视频精品| 97精品人妻一二三四| 国产suv精品一区二区四| 日韩精品人妻一| 伊人超碰97| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧美亚洲首页| 欧美曰韩国产精品| 俺去也婷婷| 国产免a费看黄片在线| 国产91 丝袜在线播放 | 天天爽夜夜爽夜夜爽精| 青青草日逼视频| a片亚洲一本通视频| 欧美一区二区三熟女剧情| 天综合网欧美| 中文字幕欧美精品亚洲日韩蜜臀| 欧美亚洲清纯| 嗯嗯啊好爽| 欧美色视| 亚洲另类欧美精品| 伊人国产视频| 涩综合导航| 男人天堂2030| 亚洲一曲日韩精品| 嗯嗯啊在线视频| 操操操操网黑人| 亚洲欧洲无码一区夜| 伊人大香蕉在线| 久久99久久99精品天美传媒棢·纸:. | 国产精品成人久久一区二区三区| 九九九只有精品| 久久视网78| 玖玖人人爱| 久久99视频| 国产专区第一页| 久久丁香久草综合网| 欧美在线|亚洲| 色天堂综合| 91 丝袜在线| 日本99久久| 爱做久久久久久| 欧美aaaaaaa| 黄色香蕉视频网站一区| 天天综合网91| 9丨久久九九九| 久9综合在线| 高清不卡 中文 人妻| 久久久国产精品人妻丝袜| 97干com| 极品色社| 91九色精品熟女内射| 黄片直播三级黄片两女一男| 男女性感激情网站| 日韩成人精品| 国产精品一区二区手机看片| 97天堂| 中文字幕在线免费观看 | 亚洲素人网| 亚洲中文字幕在线视频一区二区| 国产精品香蕉热久久新品| 欧美欲色| 国产又粗又大硬免费色网视频| 久久精品国产免费观看99| 亚洲综合性感在线| 超碰色综合| 色色激情五月天| 亚州综| 中文字幕 人妻不满 在线视频| 国产精品动态一区二区三区四四| 国产欧美精选激情视频| 亚洲激情 欧美色图| 亚乱色| 久久超碰久| 国产精品久久久久亚洲av| 91人妻丝袜无码| 加勒比性爱成人在线| 91操碰| 亚洲色图日韩精品| 欧美日韩性爱精品| 家庭乱伦麻豆| 日韩成人高清一区二区| 亚洲情色欧美| 欧美精品成人一区二区在线观看| 亚洲影院成人| 成人国产视频在线观看| 亚洲欧洲中文日韩女优乱码| 人人妻人人爽 97人人看碰人免费公开视频| 日日躁夜夜躁狠狠躁超爽| 蜜臀在线免费观看在线免费观看| 啊啊啊啊好爽好舒服一区二区易域| 丁香五月影院| 嗯嗯啊啊好爽| 嗯嗯啊啊好疼| 国产高清1234区| 人妻精品视频一区二区三区| 久久av色| 91美女丝袜诱惑视频| 亚洲国产一级精品毛一级精品看免费视频 | 国产欧美日韩女同性恋ww喷水精品 | 亚洲经典啪啪| 久操大香蕉手机视频在线看| 国产精品老熟女一区二区| av操操不卡| 欧美亚洲成人在线一区二区三区| 色天堂在线观看| 91天美免费| 天天看天天日天天操| 天天夜躁日日躁狠狠2002| 色官网色综合| 可以看的av| 顶级少妇BT天堂| 久久久免费懂色| 密臀在线一区尤物| 亚洲在线网站| 国产 v乱码一区二| 殴美性色a级欧美| 91在线丝袜视频| 欧美午夜熟妇黑人精品91| 国产激情视频一区区三区| 成人性爱AV在线免费观看| 偷窥自拍A片| 大香蕉伊人亚洲| 久久国产精品,久久国产| 天天天堂影视日韩亚洲91| 乱人伦 国语对白:视频直接看| 国产亚洲精品av一区| 91人妻Pr| 少妇人妻精品| 狠狠入| 成人精品久久久午夜福利| 婷婷AV一区二区三区| 麻豆国产原创AV色哟哟| 日日黄色三级网站| 粉嫩AV一区二区夜夜| 黄色av网站在线播放| www.久久99| 欧洲乱码视频| 国产激情在线| 国产高清26uuu| 亚洲宅男天堂| 九九九精品色乱九九九| 青青草毛片| 国产麻豆福利av在线播放| 东京太热久久久| 日韩专区久久久| 人人妻碰人人免费| 玖玖在线视频| 在线小视频| 人人操,人人液| 日本污ww视频网站| 91天美传媒在线观看| 色臀av| 最新日韩黄片| 蜜屁Av| 青娱乐999| www五月| 久久99深爱久久99精品| 午夜国产综合视频在线观看| 国产成人精品亚洲日本| 欧美国产有色电影| 国产精品久久久啊| 五月综合久久| 午夜精品久久999热蜜桃介男人用| 中文字幕丰满人妻日本| 久久亚洲婷婷| 亚州男人的天堂| 免费αV在线视频| 欧美精品四区| 后入综合久久| 色yeye成人免费视频| 97色色国产视频| A级在线视频| 亚洲男人天堂Av| 性生活性生大爱77AV国产| yellow网站免费观看日韩高清无码| 荡小穴在线观看| 久久国产精品m码| 成年女人18级毛片毛片免费观看| 国产青一二三| 亚洲成人贴图| 啊啊啊操一区| 色综合91好| 丁香五月婷婷基地|