99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

MPP架構(gòu)詳解:從Shared-Nothing到分布鍵,剖析大規(guī)模并行處理的核心原理與工程實(shí)踐

MPP架構(gòu)詳解:從Shared-Nothing到分布鍵,剖析大規(guī)模并行處理的核心原理與工程實(shí)踐 MPP 這個(gè)詞很多人第一次接觸到它是在面試或者在處理一個(gè)跑了幾小時(shí)都沒出結(jié)果的報(bào)表時(shí)被有經(jīng)驗(yàn)的同事一句“這表得走 MPP 引擎”給點(diǎn)醒。說實(shí)話MPP 不是一個(gè)新概念從數(shù)據(jù)倉庫時(shí)代它就存在了但這些年隨著大數(shù)據(jù)和云數(shù)倉的普及它又一次成了架構(gòu)選型里繞不開的坎。如果只看定義MPP 就是 Massively Parallel Processing大規(guī)模并行處理聽起來很直白但真正理解它并不是在說“把任務(wù)分成多個(gè)并行執(zhí)行”這么簡單而是要先搞明白它解決的是哪一類問題、為什么分布式系統(tǒng)繞了這么多年卻依然以 MPP 為骨干。這篇內(nèi)容我打算從一個(gè)實(shí)際問題切入當(dāng)單機(jī)計(jì)算撐不住的時(shí)候MPP 是如何通過一整套分工協(xié)作機(jī)制扛下來的。我會(huì)從架構(gòu)拆解、平臺(tái)支持、以及我實(shí)際踩過的幾個(gè)坑出發(fā)把 MPP 的“家底”一次說清楚。適合剛接觸分布式數(shù)據(jù)庫的讀者也適合那些正在做技術(shù)選型、想搞清楚 Greenplum、ClickHouse、Redshift 這些引擎底層邏輯的同學(xué)。1. 內(nèi)容整體設(shè)計(jì)與思路拆解1.1 核心需求解析單機(jī)瓶頸到底卡在哪要理解 MPP 存在的意義得先看單機(jī)架構(gòu)走到盡頭時(shí)暴露的三個(gè)瓶頸。硬件層面單臺(tái)服務(wù)器的 CPU 核數(shù)和內(nèi)存帶寬是有上限的即使一臺(tái) 128 核、2TB 內(nèi)存的機(jī)器在處理 TB 級(jí)數(shù)據(jù)的關(guān)聯(lián)聚合時(shí)內(nèi)存帶寬和 I/O 也會(huì)迅速飽和。軟件層面?zhèn)鹘y(tǒng)單機(jī)數(shù)據(jù)庫的查詢優(yōu)化器基于的是集中式執(zhí)行模型所有數(shù)據(jù)都要經(jīng)過一個(gè)執(zhí)行引擎節(jié)點(diǎn)數(shù)據(jù)量上去之后這個(gè)節(jié)點(diǎn)的 CPU 和網(wǎng)絡(luò)協(xié)議棧會(huì)成為絕對(duì)的瓶頸。運(yùn)維層面單機(jī)擴(kuò)容是縱向擴(kuò)展換一臺(tái)更強(qiáng)的機(jī)器往往意味著停機(jī)、遷移、重新壓測成本非常高。這三個(gè)瓶頸分別對(duì)應(yīng)了 MPP 架構(gòu)的核心設(shè)計(jì)目標(biāo)通過將數(shù)據(jù)分布到多個(gè)計(jì)算節(jié)點(diǎn)上讓每個(gè)節(jié)點(diǎn)只處理一部分?jǐn)?shù)據(jù)并且節(jié)點(diǎn)之間通過網(wǎng)絡(luò)連接協(xié)同完成一個(gè)查詢?nèi)蝿?wù)。如果把單機(jī)數(shù)據(jù)庫比作一家全能型的小店店員既要收銀又要理貨還要做售后那么 MPP 就是一家連鎖超市每家門店只負(fù)責(zé)自己片區(qū)里的商品總部通過一套調(diào)度系統(tǒng)把顧客的需求拆解到對(duì)應(yīng)的門店去執(zhí)行。這種“拆解”就是 MPP 的精髓也是它和普通分布式系統(tǒng)最本質(zhì)的區(qū)別。1.2 MPP 的定位不是某一個(gè)數(shù)據(jù)庫而是一類計(jì)算范式很多人容易把 MPP 理解為某款產(chǎn)品比如 Greenplum、Teradata或者干脆有人說 ClickHouse 就是 MPP其實(shí)這里有個(gè)概念混淆。MPP 是一個(gè)計(jì)算范式的統(tǒng)稱它描述的是“無共享架構(gòu)下多個(gè)節(jié)點(diǎn)并行處理同一任務(wù)”的軟件設(shè)計(jì)模式。在這個(gè)范式之下各家系統(tǒng)有不同的實(shí)現(xiàn)方式有基于 PostgreSQL 擴(kuò)展而來的 Greenplum有純列式存儲(chǔ)的 Vertica有基于 PostgreSQL 的 Citus也有 ClickHouse 這種兼顧列式存儲(chǔ)和分布式查詢的引擎。理解了這一點(diǎn)再去討論平臺(tái)支持就有意義了。因?yàn)?MPP 不是一個(gè)孤立的軟件而是一種架構(gòu)選型這意味著你在選型時(shí)更多是在選“哪套平臺(tái)對(duì) MPP 的實(shí)現(xiàn)更貼合我的業(yè)務(wù)”而不是在選“哪個(gè)數(shù)據(jù)庫支持 MPP”。從這個(gè)角度看MPP 的架構(gòu)拆解反而是更值得花時(shí)間的地方因?yàn)闊o論底層是哪家系統(tǒng)它們的核心模型基本一致理解了共性再看差異就是分分鐘的事。2. MPP 的核心架構(gòu)拆解2.1 三個(gè)關(guān)鍵角色協(xié)調(diào)節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、存儲(chǔ)層一套標(biāo)準(zhǔn)的 MPP 架構(gòu)里無論外觀怎么變內(nèi)部基本都跑不了這三個(gè)角色。協(xié)調(diào)節(jié)點(diǎn)Coordinator有的系統(tǒng)叫 Master、Leader、Query Planner負(fù)責(zé)接收用戶的 SQL做語法解析、邏輯優(yōu)化、生成執(zhí)行計(jì)劃然后把計(jì)劃分發(fā)到各個(gè)計(jì)算節(jié)點(diǎn)上執(zhí)行。它不存儲(chǔ)真正的業(yè)務(wù)數(shù)據(jù)或者說只有元數(shù)據(jù)、統(tǒng)計(jì)信息、分布策略這類輕量數(shù)據(jù)。這里很多人會(huì)有個(gè)誤區(qū)以為協(xié)調(diào)節(jié)點(diǎn)就是瓶頸其實(shí)在成熟的 MPP 系統(tǒng)里協(xié)調(diào)節(jié)點(diǎn)的作用更接近“指揮中樞”而不是“數(shù)據(jù)搬運(yùn)工”。它負(fù)責(zé)拆任務(wù)但不負(fù)責(zé)算數(shù)據(jù)數(shù)據(jù)還是在各個(gè)計(jì)算節(jié)點(diǎn)本地完成的這樣協(xié)調(diào)節(jié)點(diǎn)的壓力就能控制在一定范圍內(nèi)。計(jì)算節(jié)點(diǎn)Segment、Worker、Executor是最核心的角色。它們各自持有數(shù)據(jù)的一部分通常是以分片Shard或分區(qū)Partition的形式存儲(chǔ)。當(dāng)一個(gè)查詢被協(xié)調(diào)節(jié)點(diǎn)拆分后每個(gè)計(jì)算節(jié)點(diǎn)只需要處理自己本地的那份數(shù)據(jù)這個(gè)過程叫本地計(jì)算Local Compute也是 MPP 能獲得線性擴(kuò)展能力的基礎(chǔ)。存儲(chǔ)層在 MPP 里有兩種形態(tài)一種是存儲(chǔ)和計(jì)算耦合的本地盤模式像 Greenplum、ClickHouse 集群數(shù)據(jù)直接落在各節(jié)點(diǎn)的本地存儲(chǔ)上數(shù)據(jù)分布策略決定了數(shù)據(jù)落在哪些節(jié)點(diǎn)另一種是存儲(chǔ)和計(jì)算分離的模式像云數(shù)倉 Redshift Spectrum、Snowflake數(shù)據(jù)放在對(duì)象存儲(chǔ)上計(jì)算節(jié)點(diǎn)按需加載數(shù)據(jù)到本地緩存。后一種在彈性擴(kuò)縮容上更有優(yōu)勢但數(shù)據(jù)傳輸?shù)男释蔀樾碌钠款i這也是為什么云廠商都在搞緩存親和性和數(shù)據(jù)本地性優(yōu)化。2.2 數(shù)據(jù)分布策略分布鍵是 MPP 的靈魂如果說協(xié)調(diào)節(jié)點(diǎn)是 MPP 的大腦那分布鍵就是血液。MPP 的數(shù)據(jù)分布策略直接決定了后續(xù)所有查詢的性能表現(xiàn)。以 Greenplum 為例建表時(shí)通過 DISTRIBUTED BY 指定分布鍵數(shù)據(jù)會(huì)根據(jù)該鍵的哈希值散列到各個(gè) Segment 節(jié)點(diǎn)上如果不指定系統(tǒng)會(huì)默認(rèn)按第一個(gè)字段的哈希分布。這個(gè)分布鍵的選擇極其講究因?yàn)樗鼪Q定了關(guān)聯(lián)查詢時(shí)數(shù)據(jù)能否在本地完成。舉個(gè)例子一個(gè)訂單表和一個(gè)訂單明細(xì)表如果兩張表都用“訂單ID”作為分布鍵那么在關(guān)聯(lián)查詢時(shí)每個(gè)計(jì)算節(jié)點(diǎn)上都能找到自己本地對(duì)應(yīng)的訂單和明細(xì)數(shù)據(jù)整條關(guān)聯(lián)鏈路完全走本地執(zhí)行不需要任何跨節(jié)點(diǎn)數(shù)據(jù)傳輸。反之如果訂單表按訂單ID分布明細(xì)表按商品ID分布那關(guān)聯(lián)時(shí)系統(tǒng)就得把明細(xì)表的數(shù)據(jù)按訂單ID重新洗牌Redistribute到對(duì)應(yīng)節(jié)點(diǎn)上這一下會(huì)帶來巨大的網(wǎng)絡(luò)開銷查詢可能從秒級(jí)直接變成分鐘級(jí)。這種“按分布鍵對(duì)齊”的設(shè)計(jì)在 MPP 術(shù)語里叫 co-located join。不僅是關(guān)聯(lián)分組聚合、去重這類操作同樣受分布鍵影響。比如要按用戶維度做聚合用戶ID作為分布鍵時(shí)每個(gè)節(jié)點(diǎn)只需要聚合本地的那部分用戶完全不需要 shuffle 數(shù)據(jù)。所以分布鍵的選擇絕不是建表時(shí)隨便填一個(gè)字段那么簡單它需要結(jié)合業(yè)務(wù)最常見的查詢模式來做設(shè)計(jì)。這也是我后面要重點(diǎn)講的實(shí)操要點(diǎn)之一。2.3 為什么 Shared-Nothing 架構(gòu)是 MPP 的主流MPP 領(lǐng)域最經(jīng)典的架構(gòu)分類是 Shared-Nothing 和 Shared-Disk。Shared-Disk 指的是所有計(jì)算節(jié)點(diǎn)共享同一套存儲(chǔ)系統(tǒng)比如 Oracle RAC數(shù)據(jù)只有一份所有節(jié)點(diǎn)都能訪問但為了保證一致性需要額外的鎖機(jī)制和緩存融合機(jī)制這在高并發(fā)下非常容易出現(xiàn)阻塞。Shared-Nothing 指的是每個(gè)節(jié)點(diǎn)獨(dú)享自己的 CPU、內(nèi)存和磁盤節(jié)點(diǎn)之間只通過網(wǎng)絡(luò)交換數(shù)據(jù)不存在共享存儲(chǔ)的競爭問題。MPP 數(shù)據(jù)庫絕大多數(shù)都采用了 Shared-Nothing原因很直接第一擴(kuò)展性更好加一個(gè)節(jié)點(diǎn)數(shù)據(jù)就多一份分布落點(diǎn)計(jì)算能力跟著線性增長不需要考慮存儲(chǔ)層面的共享瓶頸第二數(shù)據(jù)本地性更好每個(gè)節(jié)點(diǎn)只需要處理本地?cái)?shù)據(jù)不需要遠(yuǎn)程讀取I/O 延遲大幅降低第三故障隔離更好某個(gè)節(jié)點(diǎn)宕機(jī)其他節(jié)點(diǎn)還可以繼續(xù)工作配合副本機(jī)制可以實(shí)現(xiàn)高可用。當(dāng)然 Shared-Nothing 也有代價(jià)。數(shù)據(jù)需要冗余多份存儲(chǔ)成本高一些節(jié)點(diǎn)間通信依賴網(wǎng)絡(luò)質(zhì)量萬兆網(wǎng)卡和低延遲交換機(jī)幾乎是標(biāo)配數(shù)據(jù)重分布的操作代價(jià)也比較大比如集群擴(kuò)容時(shí)要重新平衡數(shù)據(jù)如果節(jié)點(diǎn)間傳輸?shù)臄?shù)據(jù)量巨大這個(gè)過程可能持續(xù)數(shù)小時(shí)。但整體上看Shared-Nothing 在大規(guī)模并行計(jì)算場景下依然是性價(jià)比最高的選擇這也是從 Teradata 到 Greenplum再到云上 Snowflake 都堅(jiān)持這一架構(gòu)的根本原因。2.4 控制平面與數(shù)據(jù)平面的分離成熟的 MPP 系統(tǒng)在設(shè)計(jì)上會(huì)把控制平面和數(shù)據(jù)平面分開??刂破矫嫣幚碓獢?shù)據(jù)、鎖管理、會(huì)話管理、調(diào)度決策數(shù)據(jù)平面負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)、傳輸和計(jì)算。這種分離帶來的好處非常實(shí)際控制平面負(fù)載很輕即使集群規(guī)模很大協(xié)調(diào)節(jié)點(diǎn)也能輕松應(yīng)對(duì)數(shù)據(jù)平面則可以充分水平擴(kuò)展每個(gè)計(jì)算節(jié)點(diǎn)獨(dú)立處理自己的數(shù)據(jù)分片互不干擾。以 Greenplum 為例控制平面由 Master 節(jié)點(diǎn)承擔(dān)數(shù)據(jù)平面由多個(gè) Segment 節(jié)點(diǎn)構(gòu)成。Master 節(jié)點(diǎn)的硬件要求反而沒有那么夸張因?yàn)樗穆氊?zé)只是接收 SQL、生成計(jì)劃、匯總結(jié)果真正耗資源的計(jì)算都發(fā)生在 Segment 上。這個(gè)架構(gòu)設(shè)計(jì)的另一個(gè)好處是在做性能調(diào)優(yōu)時(shí)定位問題會(huì)清晰很多如果查詢計(jì)劃階段耗時(shí)高問題大概率在控制平面如果執(zhí)行階段耗時(shí)高再去看數(shù)據(jù)平面的節(jié)點(diǎn)負(fù)載和網(wǎng)絡(luò)傳輸。3. 平臺(tái)支持全景從傳統(tǒng)數(shù)倉到大數(shù)據(jù)庫生態(tài)再到云上數(shù)倉3.1 傳統(tǒng)數(shù)倉陣營里MPP 是怎么站穩(wěn)腳跟的MPP 在傳統(tǒng)數(shù)據(jù)倉庫領(lǐng)域的代表有 Teradata、Vertica、Greenplum、Netezza 等。Teradata 是鼻祖級(jí)的存在1990 年代就開始大規(guī)模應(yīng)用在金融、電信、零售行業(yè)它的節(jié)點(diǎn)間通信機(jī)制和優(yōu)化器設(shè)計(jì)影響了后來很多產(chǎn)品。Teradata 的架構(gòu)是典型的 Shared-Nothing每個(gè)節(jié)點(diǎn)也叫 AMP數(shù)據(jù)按主索引分布在各個(gè) AMP 上這個(gè)設(shè)計(jì)和 Greenplum 的分布鍵幾乎是一個(gè)邏輯。Vertica 很有意思它是列式存儲(chǔ)和 MPP 結(jié)合的典范最早源自 C-Store 研究項(xiàng)目后來被 HP 收購現(xiàn)在是 Micro Focus 旗下的產(chǎn)品。Vertica 最大的特點(diǎn)是壓縮率極高列式存儲(chǔ)配合高級(jí)壓縮算法相同的數(shù)據(jù)量比行式存儲(chǔ)省 5-10 倍空間在這個(gè)基礎(chǔ)上再跑 MPP 查詢I/O 量就明顯小下去。Greenplum 則是開源領(lǐng)域最有代表性的 MPP 數(shù)據(jù)庫它基于 PostgreSQL 改造兼容 PostgreSQL 語法這大概是它能在互聯(lián)網(wǎng)公司大規(guī)模落地的重要原因。Greenplum 在 6.x 版本后引入了增強(qiáng)的 ORCA 優(yōu)化器對(duì)復(fù)雜查詢的優(yōu)化能力大幅提升。但要注意Greenplum 更像是一個(gè)分析型數(shù)倉OLTP 類的高并發(fā)點(diǎn)查并不是它的強(qiáng)項(xiàng)。Netezza 則被 IBM 收購它獨(dú)特的地方在于使用了 FPGA 加速在硬件層面做數(shù)據(jù)過濾和聚合這個(gè)設(shè)計(jì)理念至今仍有參考意義。3.2 大數(shù)據(jù)生態(tài)里的 MPPClickHouse、Trino、Impala大數(shù)據(jù)生態(tài)里掛 MPP 名字的系統(tǒng)更多ClickHouse、Trino前身 Presto、Impala 都常被歸入 MPP 陣營但它們的實(shí)現(xiàn)風(fēng)格差別很大。ClickHouse 是俄羅斯公司 Yandex 開源的列式數(shù)據(jù)庫它的 MPP 實(shí)現(xiàn)方式非常激進(jìn)。ClickHouse 默認(rèn)不做跨節(jié)點(diǎn)的數(shù)據(jù)關(guān)聯(lián)它更鼓勵(lì)通過預(yù)先設(shè)計(jì)好的分布式表和大寬表來規(guī)避 shuffle。ClickHouse 的分布式查詢走的是“每個(gè)分片獨(dú)立執(zhí)行完再由協(xié)調(diào)節(jié)點(diǎn)合并”的模式如果查詢涉及跨分片的數(shù)據(jù)關(guān)聯(lián)性能會(huì)退化得非常明顯。所以 ClickHouse 在多數(shù)場景下是被當(dāng)作“單機(jī)性能極強(qiáng)的分布式聚合引擎”來使用而不是一個(gè)完整的分布式數(shù)據(jù)倉庫。Trino 則走的是另一條路線它定位是分布式 SQL 查詢引擎本身不存儲(chǔ)數(shù)據(jù)數(shù)據(jù)源可以接 Hive、對(duì)象存儲(chǔ)、MySQL、PostgreSQL 等。它的 MPP 能力體現(xiàn)在查詢執(zhí)行階段數(shù)據(jù)從數(shù)據(jù)源并行讀入在內(nèi)存里完成 join 和 aggregation。Trino 的優(yōu)勢是靈活能跨多種數(shù)據(jù)源做聯(lián)邦查詢劣勢則是它完全依賴網(wǎng)絡(luò)傳輸數(shù)據(jù)如果數(shù)據(jù)源到引擎的網(wǎng)絡(luò)帶寬不夠查詢性能就上不去。Impala 是 Cloudera 推出的查詢引擎和 Trino 類似也依賴底層存儲(chǔ)如 HDFS 或 S3。Impala 的無共享架構(gòu)在查詢優(yōu)化和并行執(zhí)行上做得不錯(cuò)尤其在搭配 Kudu 時(shí)可以實(shí)現(xiàn)分鐘級(jí)數(shù)據(jù)更新的分析場景。但它對(duì)內(nèi)存的要求很高深度分頁或者大聚合時(shí)內(nèi)存溢出是常見的事故源頭。3.3 云數(shù)倉對(duì) MPP 的重塑Snowflake、Redshift、BigQuery云數(shù)倉把 MPP 從“物理集群”變成了“虛擬資源池”這是對(duì)傳統(tǒng)架構(gòu)的一次重大修正。Snowflake 的做法最有代表性存儲(chǔ)層用對(duì)象存儲(chǔ)計(jì)算層用虛擬 warehouse多個(gè)計(jì)算集群可以同時(shí)掛載在同一個(gè)存儲(chǔ)層上互不共享計(jì)算資源但共享同一份數(shù)據(jù)。這種架構(gòu)下擴(kuò)縮容只是啟停虛擬計(jì)算集群的事按需計(jì)費(fèi)而且讀寫隔離做得很好不會(huì)出現(xiàn)一個(gè)慢查詢拖垮其他查詢的情況。Redshift 是 AWS 的老牌數(shù)倉它的核心用的是基于 PostgreSQL 改造的 MPP 引擎。Redshift 早期是典型的 Shared-Nothing節(jié)點(diǎn)掛本地存儲(chǔ)后來推出 RA3 節(jié)點(diǎn)類型把數(shù)據(jù)落地到 S3 并引入本地緩存走向了存儲(chǔ)計(jì)算分離的方向。Redshift 的分布鍵和排序鍵設(shè)計(jì)非常關(guān)鍵和 Greenplum 的分布鍵是同一個(gè)邏輯但 Redshift 還額外增加了分布方式的選擇比如 ALL 分布適合小表廣播EVEN 分布適合按順序輪詢KEY 分布則是哈希分布。BigQuery 則是 Google 的云數(shù)倉它的 MPP 能力藏在柱狀存儲(chǔ)和分布式執(zhí)行引擎 Dremel 的背后。BigQuery 對(duì)用戶屏蔽了分片和節(jié)點(diǎn)概念用戶只管寫 SQL系統(tǒng)自動(dòng)調(diào)度執(zhí)行。它的優(yōu)化器依賴統(tǒng)計(jì)信息自動(dòng)選擇執(zhí)行策略因此用戶不需要手動(dòng)指定分布鍵但反過來也意味著如果表數(shù)據(jù)的統(tǒng)計(jì)信息陳舊執(zhí)行計(jì)劃可能不理想。云數(shù)倉的共性趨勢是存儲(chǔ)和計(jì)算分離、彈性擴(kuò)縮容、按量計(jì)費(fèi)這些本質(zhì)上都是 MPP 架構(gòu)的延伸和優(yōu)化只是把資源管理的維度從物理節(jié)點(diǎn)提升到了虛擬資源池。對(duì)用戶來說運(yùn)維復(fù)雜度降低了很多但架構(gòu)理解和查詢優(yōu)化的工作量并沒有減少反而因?yàn)槠帘瘟说讓蛹?xì)節(jié)更考驗(yàn)工程師對(duì)執(zhí)行計(jì)劃的把握。3.4 一個(gè)真實(shí)例子MPP 引擎處理一條查詢的全流程為了更直觀地理解 MPP 的工作流程我用 Greenplum 處理一條 SQL 來串一遍整個(gè)過程。假設(shè)有兩張表用戶表包含用戶ID、注冊(cè)城市、注冊(cè)時(shí)間訂單表包含訂單ID、用戶ID、訂單金額、下單時(shí)間。查詢需求是統(tǒng)計(jì)每個(gè)城市的訂單總額。這條 SQL 到達(dá) Master 節(jié)點(diǎn)后先是解析和驗(yàn)證生成語法樹然后走優(yōu)化器。優(yōu)化器會(huì)做兩件事代價(jià)估算和執(zhí)行計(jì)劃生成。這里關(guān)鍵的點(diǎn)是優(yōu)化器需要知道兩張表的分布鍵是什么。如果用戶表按用戶ID分布訂單表也按用戶ID分布那優(yōu)化器會(huì)認(rèn)為這種 join 可以走本地關(guān)聯(lián)于是采用 co-located join 策略每個(gè) Segment 節(jié)點(diǎn)只處理本地那部分用戶的訂單。之后按注冊(cè)城市做分組聚合每個(gè) Segment 節(jié)點(diǎn)本地做一次聚合得到部分結(jié)果然后把結(jié)果發(fā)回 MasterMaster 再做最終合并返回給客戶端。如果分布鍵不匹配執(zhí)行計(jì)劃里就會(huì)多出一步 Redistribute 或者 Broadcast。Redistribute 是把一張表的數(shù)據(jù)按目標(biāo)字段重新哈希后發(fā)送到對(duì)應(yīng)節(jié)點(diǎn)Broadcast 則是把小表復(fù)制到所有節(jié)點(diǎn)。這兩種數(shù)據(jù)移動(dòng)都會(huì)增大網(wǎng)絡(luò)開銷也是 MPP 查詢變慢最常見的可視化原因。通過 EXPLAIN 查看執(zhí)行計(jì)劃時(shí)如果看到運(yùn)動(dòng)節(jié)點(diǎn)Motion非常多就該懷疑分布鍵設(shè)計(jì)是否有問題了。另外MPP 執(zhí)行還有一個(gè)值得注意的細(xì)節(jié)——物化中間結(jié)果。有些 MPP 引擎會(huì)把 shuffle 的中間結(jié)果寫磁盤Greenplum 在內(nèi)存不足時(shí)也會(huì)做磁盤溢出這會(huì)進(jìn)一步放大 I/O 開銷。所以控制中間結(jié)果集的大小比如盡早做過濾、避免 SELECT 全字段、盡量在聚合前壓縮數(shù)據(jù)量是 MPP 查詢優(yōu)化的重要思路。4. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)4.1 環(huán)境選型與節(jié)點(diǎn)規(guī)劃在規(guī)劃一套 MPP 集群時(shí)第一個(gè)要決定的是“要不要上 MPP”而不是“上哪個(gè) MPP”。當(dāng)數(shù)據(jù)量在幾百 GB 到幾個(gè) TB 級(jí)別、查詢模式以 SQL 聚合分析為主、對(duì)實(shí)時(shí)寫入沒有極端要求時(shí)MPP 是一個(gè)非常合理的選擇。但如果數(shù)據(jù)量只有幾十 GB且頻繁的并發(fā)點(diǎn)查占比很高傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或者單機(jī) PostgreSQL 反而是更好的選擇。選型確定之后節(jié)點(diǎn)規(guī)劃有一些實(shí)戰(zhàn)經(jīng)驗(yàn)可以分享。計(jì)算節(jié)點(diǎn)數(shù)量和 CPU 核數(shù)的配比要結(jié)合查詢復(fù)雜度來看。一般建議單個(gè) Segment 節(jié)點(diǎn)分配 8 核到 16 核內(nèi)存和 CPU 核心數(shù)按 8GB 到 16GB 每核心來配。比如一個(gè) 4 節(jié)點(diǎn)的 Greenplum 集群每個(gè)節(jié)點(diǎn) 16 核、128GB 內(nèi)存總共 64 核、512GB 內(nèi)存這樣的規(guī)模應(yīng)對(duì) 5TB 左右的數(shù)倉數(shù)據(jù)是夠用的。另外要考慮網(wǎng)絡(luò)。MPP 集群的節(jié)點(diǎn)間通信對(duì)網(wǎng)絡(luò)延遲和帶寬非常敏感強(qiáng)烈建議上萬兆網(wǎng)絡(luò)。我見過一個(gè)集群因?yàn)橛昧饲д拙W(wǎng)絡(luò)結(jié)果在數(shù)據(jù)重分布階段網(wǎng)絡(luò)成了瓶頸整個(gè)集群跑一個(gè)跨節(jié)點(diǎn)的 join 都要十幾分鐘后來換成萬兆網(wǎng)絡(luò)同一個(gè)查詢只需要不到一分鐘這個(gè)差距非??鋸?。4.2 建表語句里的分布鍵設(shè)計(jì)現(xiàn)場在建表時(shí)分布鍵的選擇需要結(jié)合業(yè)務(wù)的實(shí)際查詢模式。一個(gè)來自生產(chǎn)環(huán)境的經(jīng)驗(yàn)做法是找出查詢頻率最高的三張表和它們最常用的關(guān)聯(lián)條件把這些關(guān)聯(lián)字段作為分布鍵的首選。比如前面的用戶表和訂單表如果訂單表是事實(shí)表用戶表是維度表那么訂單表按用戶ID分布用戶表也按用戶ID分布就能讓最常見的關(guān)聯(lián)查詢走本地關(guān)聯(lián)。另一個(gè)關(guān)鍵技巧是處理數(shù)據(jù)傾斜。如果分布鍵的取值分布不均比如用戶ID集中在少數(shù)幾個(gè)值上例如某個(gè)頭部用戶貢獻(xiàn)了絕大多數(shù)訂單那么這些熱點(diǎn)數(shù)據(jù)會(huì)全部落到同一個(gè)節(jié)點(diǎn)上導(dǎo)致該節(jié)點(diǎn)的負(fù)載遠(yuǎn)高于其他節(jié)點(diǎn)形成“木桶效應(yīng)”。解決方法是使用復(fù)合分布鍵或者在前綴字段上增加一個(gè)隨機(jī)因子也可以在建模時(shí)把大用戶的數(shù)據(jù)單獨(dú)分桶處理。簡單的檢查方法是執(zhí)行一個(gè)“SELECT 分布鍵, COUNT(*) FROM 表 GROUP BY 分布鍵”的查詢觀察各個(gè)取值的數(shù)據(jù)量如果發(fā)現(xiàn)有明顯的長尾分布就要考慮調(diào)整分布策略。在 Redshift 里還有一個(gè) ALL 分布的選擇。對(duì)于數(shù)據(jù)量較小的維度表比如幾百 MB 的國家表、城市表直接用 ALL 分布在每個(gè)節(jié)點(diǎn)都放一份全量數(shù)據(jù)join 時(shí)就可以完全避免廣播操作。這個(gè)技巧雖然簡單但在實(shí)際優(yōu)化中的效果非常顯著。4.3 查詢優(yōu)化從執(zhí)行計(jì)劃里找運(yùn)動(dòng)節(jié)點(diǎn)在實(shí)際做性能調(diào)優(yōu)時(shí)第一件事永遠(yuǎn)是看執(zhí)行計(jì)劃。以 Greenplum 為例EXPLAIN ANALYZE 輸出中的關(guān)鍵信息有三個(gè)每步操作的行數(shù)估算和實(shí)際行數(shù)、Motion 的類型和行數(shù)、以及每個(gè)節(jié)點(diǎn)的執(zhí)行耗時(shí)。Motion 在 Greenplum 執(zhí)行計(jì)劃里就是數(shù)據(jù)移動(dòng)的標(biāo)志如果在計(jì)劃里看到很多 Redistribute Motion 或者 Broadcast Motion且涉及的行數(shù)很大那這個(gè)查詢必然快不了。一個(gè)經(jīng)常被忽略的問題是統(tǒng)計(jì)信息的時(shí)效性。MPP 優(yōu)化器依賴統(tǒng)計(jì)信息來做代價(jià)估算如果一張千萬級(jí)的表從創(chuàng)建后就沒跑過 ANALYZE優(yōu)化器可能認(rèn)為它是空表或者在過濾條件上嚴(yán)重低估行數(shù)導(dǎo)致選錯(cuò) join 順序。比如一張大事實(shí)表和維度表關(guān)聯(lián)維度表過濾后的數(shù)據(jù)量被低估了 10 倍優(yōu)化器就可能選擇把維度表廣播到所有節(jié)點(diǎn)產(chǎn)生大量無效數(shù)據(jù)傳輸。解決辦法是定期對(duì)關(guān)鍵表執(zhí)行 ANALYZE以及在大批量數(shù)據(jù)導(dǎo)入后立刻做一次統(tǒng)計(jì)信息更新。另外MPP 查詢中常見的高成本操作是“帶 ORDER BY 的聚合”和“窗口函數(shù)”。窗口函數(shù)在 MPP 下的執(zhí)行往往需要把數(shù)據(jù)按窗口字段重分布這是一個(gè)全量數(shù)據(jù)洗牌的過程。如果窗口函數(shù)用得太隨意比如 OVER (PARTITION BY 某個(gè)高基數(shù)字段)那代價(jià)極高。優(yōu)化思路是提前過濾數(shù)據(jù)、只在所需的數(shù)據(jù)范圍上做窗口計(jì)算或者拆分成更小的數(shù)據(jù)集分別處理再合并結(jié)果。4.4 資源管理隊(duì)列與并發(fā)控制MPP 集群的資源不是一個(gè)無限平攤的資源池每個(gè)查詢都會(huì)消耗一定配額。Greenplum 里的資源隊(duì)列Resource Queue就是用來控制并發(fā)的它定義了每個(gè)隊(duì)列的 CPU、內(nèi)存、并發(fā)數(shù)量限制。生產(chǎn)環(huán)境里常犯的錯(cuò)誤是把所有查詢都放進(jìn)默認(rèn)隊(duì)列也不限制并發(fā)數(shù)結(jié)果幾個(gè)大查詢同時(shí)跑內(nèi)存直接耗盡集群狀態(tài)瞬間變得不可用。合適的做法是把查詢按業(yè)務(wù)優(yōu)先級(jí)分成幾個(gè)隊(duì)列實(shí)時(shí)報(bào)表一個(gè)隊(duì)列并發(fā)數(shù)限制在 5 個(gè)以內(nèi)內(nèi)存配額給足批量任務(wù)一個(gè)隊(duì)列并發(fā)數(shù) 2-3 個(gè)執(zhí)行時(shí)間長也沒關(guān)系臨時(shí)查詢一個(gè)隊(duì)列優(yōu)先級(jí)最低。這樣即使有人提交了一個(gè)跑 2 小時(shí)的大查詢也不會(huì)把實(shí)時(shí)報(bào)表的通道堵死。Redshift 里也有對(duì)應(yīng)的 WLMWorkload Management隊(duì)列配置原理完全一致。還有一個(gè)實(shí)踐中很有效的做法是設(shè)置 statement_mem 或類似的查詢內(nèi)存限制防止單個(gè)查詢吃掉整個(gè)節(jié)點(diǎn)內(nèi)存。大查詢?nèi)绻麅?nèi)存不足可以接受它落磁盤來換穩(wěn)定性但絕不能讓一個(gè)失控查詢把整個(gè)集群搞掛。4.5 常見問題與排查技巧實(shí)錄MPP 集群的常見故障我按大類整理了一份速查表現(xiàn)象可能原因排查手段解決思路查詢整體變慢但無報(bào)錯(cuò)數(shù)據(jù)分布傾斜查看各節(jié)點(diǎn) CPU/IO 負(fù)載調(diào)整分布鍵增加隨機(jī)前綴執(zhí)行計(jì)劃中的 Motion 行數(shù)異常大分布鍵不匹配或統(tǒng)計(jì)信息過期EXPLAIN ANALYZE 對(duì)比估算與真實(shí)行數(shù)更新統(tǒng)計(jì)信息拆分子查詢單節(jié)點(diǎn)內(nèi)存溢出OOM并發(fā)過高或查詢中間結(jié)果過大查看資源隊(duì)列活躍查詢限制并發(fā)拆分大查詢集群擴(kuò)容后數(shù)據(jù)長期不均衡擴(kuò)縮容后數(shù)據(jù)重分布未完成查看系統(tǒng)表 rebalance 狀態(tài)手動(dòng)執(zhí)行數(shù)據(jù)重分布任務(wù)高并發(fā)點(diǎn)查性能差未遵循 MPP 設(shè)計(jì)規(guī)則查看是否觸發(fā)了全表掃描在維度表和主鍵上建立索引或更換為 OLTP 類數(shù)據(jù)庫跨庫關(guān)聯(lián)頻繁出現(xiàn) Broadcast維度表未用 ALL 分布查看執(zhí)行計(jì)劃中的 Broadcast Motion小維度表改為 ALL 分布這里面最值得強(qiáng)調(diào)的是第一個(gè)問題——數(shù)據(jù)傾斜。傾斜問題的隱蔽性強(qiáng)集群看起來所有節(jié)點(diǎn)都在工作但只有一個(gè)節(jié)點(diǎn)負(fù)載接近 100%其他節(jié)點(diǎn)閑得發(fā)呆。排查起來也簡單Ganglia、Prometheus 這類監(jiān)控工具看節(jié)點(diǎn)負(fù)載圖對(duì)比各節(jié)點(diǎn) CPU 曲線的差異如果一條線豎得老高而兩側(cè)都是平線基本就是傾斜無疑了。之前在生產(chǎn)環(huán)境處理過一個(gè)問題一個(gè)按商品維度統(tǒng)計(jì)銷量的查詢某個(gè)頭部商品的數(shù)據(jù)占了全表 35%這一個(gè)值讓單節(jié)點(diǎn)負(fù)載比平均高出 4 倍查詢從預(yù)期的 30 秒拖到了 5 分鐘。后來把分布鍵改成了“商品ID 一個(gè)城市字段”的復(fù)合鍵讓大數(shù)據(jù)量的商品也能在不同節(jié)點(diǎn)上散開查詢恢復(fù)到了 40 秒以內(nèi)。第二個(gè)要提的坑是“MPP 未必比單機(jī)快”。當(dāng)數(shù)據(jù)量不大、單機(jī)完全能放下時(shí)MPP 的網(wǎng)絡(luò)通信開銷反而會(huì)讓性能更差。我有一次在同一套數(shù)據(jù)上對(duì)比測試數(shù)據(jù)量 200GBMPP 集群是 4 節(jié)點(diǎn)單機(jī)是 64 核大內(nèi)存。一個(gè)中等復(fù)雜度的 join 聚合查詢MPP 跑了 45 秒單機(jī) PostgreSQL 只跑了 28 秒。原因很簡單MPP 執(zhí)行計(jì)劃里有兩處 Redistribute Motion數(shù)據(jù)傳輸占了大半時(shí)間而這個(gè)查詢?cè)趩螜C(jī)上完全不需要移動(dòng)數(shù)據(jù)。所以MPP 的“快”是有前提的數(shù)據(jù)量足夠大到單機(jī)無法合理承載或者查詢本身能通過并行化受益。數(shù)據(jù)量小的時(shí)候不要迷信分布式。第三個(gè)是關(guān)于并發(fā)和慢查詢互相干擾的典型事故。某個(gè)周五晚上一條數(shù)據(jù)清洗 SQL 和線上報(bào)表查詢同時(shí)運(yùn)行清洗任務(wù)一次性 UPDATE 了全表 80% 的行這個(gè) UPDATE 在 MPP 里會(huì)生成巨大的中間結(jié)果并且鎖定大量行導(dǎo)致線上報(bào)表查詢被阻塞。最終的結(jié)果是清洗任務(wù)運(yùn)行了 3 小時(shí)期間線上報(bào)表一直超時(shí)。事后復(fù)盤下來核心問題是沒做資源隔離和鎖管理。后來把清洗任務(wù)放到專門的維護(hù)窗口并且提交前加上超時(shí)控制和鎖等待時(shí)間限制這類問題就再?zèng)]出現(xiàn)過。5. 繼續(xù)深挖的兩個(gè)方向其實(shí)聊到這里MPP 的基本盤已經(jīng)說完了架構(gòu)上理解 Shared-Nothing 和分布鍵平臺(tái)上理解各家的差異實(shí)操上理解執(zhí)行計(jì)劃和資源管理。但如果真想在這一塊繼續(xù)深入還有兩個(gè)方向值得花時(shí)間。第一個(gè)方向是“MPP 和 NewSQL”的邊界。MPP 在分析型場景里有統(tǒng)治力但在高并發(fā)事務(wù)場景里表現(xiàn)不理想。TiDB、OceanBase 這類 NewSQL 數(shù)據(jù)庫雖然也用了分布式存儲(chǔ)和計(jì)算分離的思路但它們的目標(biāo)是兼顧 OLTP 和 OLAP執(zhí)行引擎的設(shè)計(jì)和 MPP 有本質(zhì)差異。理解這個(gè)邊界對(duì)做技術(shù)選型的人非常重要——不是說分布式數(shù)據(jù)庫就能解決所有問題選型的關(guān)鍵前提要厘清“這個(gè)系統(tǒng)處理的是什么類型的查詢”。第二個(gè)方向是“湖倉一體”里的 MPP 角色。數(shù)據(jù)湖和數(shù)據(jù)倉庫的界限在模糊像 Trino、Hive 這類引擎已經(jīng)可以把數(shù)據(jù)湖文件當(dāng)作源來做 MPP 查詢Doris、StarRocks 也把數(shù)據(jù)湖聯(lián)邦查詢做成了常態(tài)化能力。在這個(gè)背景下MPP 的定位不再局限于數(shù)倉內(nèi)部它正在變成一個(gè)統(tǒng)一查詢計(jì)算層。這個(gè)演進(jìn)非??熘档贸掷m(xù)跟蹤。從我個(gè)人實(shí)際應(yīng)用的角度來說最好的學(xué)習(xí)方式不是在文檔里背概念而是找一個(gè)真實(shí)的業(yè)務(wù)場景拿一套小規(guī)模的 MPP 環(huán)境親手建表、設(shè)計(jì)分布鍵、跑 EXPLAIN ANALYZE 去觀察 Motion再故意選錯(cuò)一次分布鍵感受一下性能回退。這個(gè)過程走一遍你對(duì) MPP 的理解會(huì)遠(yuǎn)超讀十篇文章。最后再分享一個(gè)小經(jīng)驗(yàn)MPP 集群里執(zhí)行計(jì)劃里的 Motion 數(shù)量永遠(yuǎn)和性能成反比優(yōu)化目標(biāo)就是盡可能減少數(shù)據(jù)移動(dòng)所有的分布鍵設(shè)計(jì)、SQL 改寫、統(tǒng)計(jì)信息更新本質(zhì)上都是圍繞這一件事在轉(zhuǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠搞狠狠操| 激情综合网色五月| 99热99在线| 亚洲视频色色| 久久久999精品| 俺也去五月婷婷丁| 六月丁香网| 天天爽天天操| 六月丁香综合| 四色AVwww| 五月天啪啪| 99在线视频喷水| 思思热在线观看| 久久婷婷综合五月趴| 综合激情五月四射婷婷| 99热18| 亚洲欧洲美女在线观| 色色综合网站| 久久婷色| 成片免费播放| 久色网| 丁香婷婷色五月激情综合| 久一这里有精品国产| 91黄址| AV大片在线观看| 极品少妇高潮啪啪AV无码| 久久99久久99精品免视看婷| 五月丁香操婷逼| 99re热视频这里只精品| 丁香五月开心亚洲| 成人片在线免费看| 99久久新视频| 99热九九在线| 久久刺激网| 九色PORNY在线精品酒店| 在线中文AV| 26uuu国产| 国产成人网址| 99久热| 九色视频91| 色色国产| 婷婷丁香久久| 99热97| 精品久久99码| 狠狠爱综合| 99热免费精品| 八戒青柠影视剧在线观看| 五月婷丁香| 久久婷色| 青青青在线视频国产| AV性爱在线| 啪啪啪大香蕉| 99噜噜噜在线播放| 伊人激情综合| 色婷婷天堂| 欧美久久久久久久久中文字幕| 久久精99| 国产av影片| 综合色吧| 青草网在线观看| 精品九九在线观看视频| 五月丁香六月婷婷免费视频| 亚洲va欧洲va国产va不卡| 深爱激情六月| 熟女网站久久| 亚洲精品视频在线| 丁香婷婷浪潮AV久久综合| 99精品久久久久久久久| 曰曰久久| 丁香五月激情综合网激情五月| 狠狠色丁香99| 六月激情综合| 五月天.com| 狠狠综合网| 99精品免费| 亚洲精品久久久久久久久久吃药| 免费观看2018www黄色操逼网站| 五月婷婷丁香网| 色色色色区| 99热在线观看精品| 天天操天天爽天天爱| 五月丁香欧美| 九月丁香亭亭| 99久久国产宗和精品1上映| 99热8在线| 丁香婷婷午夜| 人人草成人视频| 99热这只有| 五月天久久小说| 亚州男人天堂婷婷五月| 九九99在线免费在线观看视频| site:hcxsz888.com| 思99热精品久久只有精品| 丁香五月综合在线观看| 亚洲激情av| 久久丁香五月婷婷| 91好好热日本在线| 先锋资源996| 天天做天天爱天天做| 这里只有精品1| 五月久久婷婷丁香| 五月婷婷先锋| 丁香婷婷精品视频| 六月丁香五月婷婷| 男人操女人高潮91视频| 狠狠综合网| 激情网第四色| 99∨VTV| 婷婷五月天淫荡| 五月天婷婷亚洲| 五月天丁香六月综合| 牛牛碰免费| 超碰人人操在线| 亚洲乱码日产精品BD| www:99热视频| 欧美毛卡| 色婷婷六月精品| 五月久久婷婷丁香| 亚洲成片在线观看| 天天操天天日天天操| www.久久久久久久| 婷婷五月色惰| 噜噜网免费视频| 亚洲激情另类| 色久九| 色五月丁香伊人| 特级西西4444www无码| 色综合色色色色色色综合| 99久久精彩视频。| 国产精品大香蕉| 色婷婷五月综合色婷婷| 操一操| 丁香五月六月| 综合色图区| 五月五婷婷| 九九这里有精品| 99色| 五月丁香六月婷婷姐| 亚洲综合五月天婷婷丁香| 99男人天堂| 思思热再线视频| 综合色久| 99日本黄站| 五月丁香六月激情欧美综合| 极品人妻VideOssS人妻| 日本三级色| 色婷婷国色天香综合| 9999久久久久| 九九黄色网| 婷婷九月在线| 91啪啪网| 亚洲网站999| 中文字幕欧美精品久久| 久久婷婷五月天蜜桃| 国产精品18久久久| 婷婷激情五月天色| 色丁香五月婷婷| 久久丁香五月婷婷| 三级黄网站| 99综合自拍| 日本熟女二区| 九月婷婷综合网| 天天爽夜夜爽天天爽夜夜爽| 婷婷五月激情小说| AA丁香综合激情| 殴美97色| 国产毛片精品一区二区色欲黄A片| 99色免费观看全部| 一起草性爱不卡视频| www.9操| 日本本土色网第一区| 欧美日韩99| 偷拍91九色| 丁香五月人妻| 丁香五月综合婷婷| www.zbzhongsen.com| 天搞天天天天天| 成人AV在线电影| 色噜噜狠狠色综合网| 天天肏高清在线| 超碰资源在线| 极品人妻VideOssS人妻| 五月丁香直播| 丁香五月九九| 五月玖玖| 色五月丁香一区在线| http:色情日本com| 思思久久99| 97亚洲婷婷| 久久婷婷五月综合伊人| 南京搡BBBB搡BBBB| 美女91一起草| 婷婷另类小说| 久久欧洲综合网| ztEJj| 99精品小视频| 99热这里只有精品268| 色五月激情综合网| 人草人人| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 丰满少妇猛烈A片免费看观看 | 激情婷婷五月基地| 色噜噜夜夜夜综合网| www.色综合| 另类五月婷婷| 在线看av| 五月丁香在线| 五月丁香六月激情综合 | 久久xxxx| 就爱射中文字幕资源网| 99热老司机| 国产毛片精品一区二区色欲黄A片 极品人妻VIDEOSSS人妻 | 五月天婷婷狠狠| 亚洲成人在线播放| 香蕉AV777XXX色综合一区| 国产综合视频婷婷| 欧美日韩成人h| 欧美综合五月丁香六月婷| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 四虎成人精品永久免费AV九九| 操91| 日日爽日日| 无码色综合| 亚洲AV成人精品日韩在线播放| 丁香丁婷五月激情| 五月婷婷啪啪啪啪| 色噜噜狠狠色综合网| 五月丁香六月婷婷精品| 综合激情在线观看| 亚洲激情AV| 精品草原久久视频| 久青青久| 狠狠久久婷婷| 精品成人无码A片观看香草视频| 逼里香不卡| 亚洲综合字幕色色| 婷婷中文字暮| 国产精品a无线| 草逼大片| 色婷婷最爱五月| 99精品网址| 啊v视频在线观看| 久热播这里只有精品| 色婷婷亚洲| 日韩黄色影院| 丁香五月Av| www.成人婷婷综合| 色综合播放| 一本久道综合99| 亚洲色五月| 色综合色综合色综合色综合| 激情五月天综合图片小说网站| www.com.色色| 日韩AC在线免费观看| 天天操加勒比| 九月色婷婷综合| 婷婷五月天无码视频| 性爱七区| 黄色三级毛片中字| 97综合在线| 五月天婷婷7米| 丁香五月在线伊人| 婷婷丁香射射| 婷婷五月天堂| 亚洲成人网站在线播放| 激情碰碰碰| 91久久久久久久| 久久偷拍综合五月天| 五月婷婷 六月丁香| 久月婷婷| 91成人电影| 久久久久久99日本| 99视频在线观看地址| 99热6精品| 亚洲愉拍99热成人精品| 五月丁香色综合| 婷婷四色成人综合色视| 国产五月天激情小说| 久久久91| 高清视频一区| 色综久久久| 亚洲视频一区| 亚洲亚洲人成综合网络| 超碰碰碰碰| 碰碰女| 天天日天天干天天天| 五月婷婷成人网首页| 美女天天艹人人爽| 天天插天天插天天日| 国产免费一区二区三区三州老师F1F1.CC | 亚洲色热| 激情丁香五月婷婷| 99热这里只有精品青草| 亚洲热热视频| 日韩99视频| 天天操天天曰| 婷婷色六月| 精品人妻久久久久| 日日.c| 九九性视频| 午夜丁香五月天综合| 激情五月丁香六月婷婷| 亚洲色无码| 久久久五月激| 九九综合久久| 亚洲这里只有精品| 丁香五月久久| 久99热| 五月丁香大香蕉| 五月天婷婷小说| 丁香五月天社区| 亚洲天堂色色| 五月伊人91| 五月天福利影院导航| 苗黎美女四级成人版一级二级毛片| 色噜噜狠狠色综无码久久合欧美| 中国操逼99| 日本啪啪视频HD| 夜夜爽天天爽| 狠狠操狠狠色| 亚洲AV无码影院| 欧美三级黄色片久久| 久久9精品视频| 丁香五月综合激情啪啪| 99热这只有| 人人色AV| 丁香五月天堂网| 99色在线观看视频| 婷婷五月天电影网| 精品一二三区久久AAA片| 开心婷婷五月综合| www.91在线观看| 91九色国产| 无码一区二区三区四区五区| 色色免费网战视频| 色婷另类| 天天艹夜夜艹| 91干在线视频| 色色热99| 天天爽天天草| 中文字幕av在线| 激情丁香五月婷婷| 丁香婷婷五月综合| 亚洲性爱99| 思思热久久久在线| 成人AV在线网站| 六月婷婷中文字幕| 免费观看日韩成人av| 国产脫衣舞一区二区三区| 日韩中文欧美| 婷婷午夜天| 日日综合网| 九九热内射| 欧美激情综合色综合啪啪五月| 色八月婷婷| 丁香五月乱中文字幕| 久久停停超碰| 久草网大香视频| 五月天色色网站| 久久亚洲色导航| 久色欧美| 欧美成人精品A片免费一区99| tingtingseav| 亚洲 日韩色色| 亚洲热视频在线| 最近中文字幕大全免费版在线 | 成人婷99最新| 丁香五月婷久久| 成人av免费观看| 五月日韩中文字幕| 亚洲性图一区二区三区| 182TV大香蕉| 777精品久无码人妻蜜桃| 五月婷婷性爱视频| 天天成人五月天| 天堂综合久久 | 五月草视频| 婷婷五月天影院| av在线观看网址| 就爱操www com| 成人精品人妻| 天综合日日夜综合7799| 亚洲婷婷六月天| 成人一级片| 婷婷五月丁香激情图片 | 激情五月丁香亭亭| 国产女生爱爱AA| 99热这里只有99| 五月激情小说| 九九九九成人| 午夜丁香六月婷| 久99久精品视频| 亚洲精品一区中文字幕乱码| 婷婷综合| 五月丁香黄色视频| 激情综合五月天| 免费不卡狠操美女视频网 | 五月夜丁香| 丁香六月婷婷色XXXXX| 日韩成人电影Av| 欧美噜一噜| 六月激情综合| 五月婷婷六月丁香免费| 99碰碰| av网址在线| 日本在线va| 在线免费视频caop| 色六月天| 久久丁香婷婷色情综合| 99热精品免费在线观看| 超碰免费人人肏| 五月天婷婷丁香花| 五月丁久久| 这里只有精品在线播放| 91精品久久久久久久久久| 亚洲色色色色色| 成人五月丁香社区| 噜噜噜噜噜在线| 天天干电影| 啪色综合| 色婷精品91| 五月天停停日日| 五月激情影视| 五月天婷婷伊人| 最新av在线观看| 国产激情在线| 丁香五月婷婷啪| 日本视频99| 五月丁香色婷婷色| 色婷婷五月综合在线| 91视频综合网| 日韩成人无码人妻| 五月天色不卡| bbwcuckold精品熟妇| 99综合视频| 久久视屏这里只有久久| 欧美成人AAA片一区国产精品| 婷婷五月天Av| 国内自拍1区| 五月开行婷婷色五月| 69精品无码一区二区三区| 99色免费观看全部| 日本一级| 激情五月综合婷婷| 亚洲亚洲永久无码777777| 夜夜撸天天操| 婷婷五月激情片| 人妻熟人中文字幕一区二区 | 久青操| 玖玖99免费视频| 婷婷激情性爱| 狠狠 婷婷| 级人人91| 亚洲99精品欧美一区| 99精品人人| 五月激情综合网| 国产日产成人亚洲欧美国产VA| 色五月综合| 狠狠狠激情网| 婷婷玖玖五月天| 五月丁香婷婷色色| 亚洲色域网| 丁香六月综合| 激情综合五月| 色播激情五月天| 亚洲AV网站在线观看| 日本五月婷| 亚洲五月综合色播| 六月婷婷网| 日本狠狠干| 五月丁香婷婷三级| 九九精品热| 久久日婷婷| 99激情在线| 色 丁香婷婷| 另类图片五月天激情| 玖玖爱综合网| 操操操AV| 五月综合视频在线| 玖玖婷婷视频| 国产精品VIDEOSSEX久久发布| 日操夜撸| 人人色性网| 伊人久久大香天蕉亚洲特级| 专区无日本视频高清8| 天堂草在线看www| 大香蕉欧美在线| 亚洲国产精品VA在线看黑人| 五月婷婷丁香大陆免费| 天天肏天天爽夜夜爽| 99干日本| 99热草草| 9久久精品| 丁香五月婷婷AV在线| 天天人人天天爽| 碰碰人人漕| aV直接看| 婷婷天堂站| 激情五月天婷婷| 五月天色综合服务平台| 伊人久久婷婷| 婷婷色啪| 激情婷婷五月天丁香| 天天插天天干| 色婷婷狠狠18禁| 色五月av| 婷婷五月情天| 日日鲁鲁夜夜爽爽| 亚洲激情综合色站| 丁香六月色婷婷| 伊人超碰在线| 伊人网色婷婷五月天| 欧美色色色色色| 九色自拍| 天天操夜夜操| 九九热最新地址| 色五月aV| 天天爽天天日人人爱| 操人无码| 丁香五月网址| 91九色中文字幕女在线观看| 热99.com婷婷| 色婷婷成人久久| 日本视频不卡123区| 久热这里只有精品99re| 色99日韩| 丁香五月激情网| www.婷婷| 九九视屏| 亚洲婷婷五月| 综合伊人久久| 五月婷婷啪| 婷婷五月色综合| 婷婷六月啪啪| 青草五月天| 婷婷爱五月天人人爱| 我爱宗和色| 婷婷丁香六月五月天| 久久激情五月| 激情综合啪啪啪| 亚洲美女婷婷五月天| 色色色999| 亚韩在线视频| 大香蕉久艹| 99热最新地址在线| 色色色精品无码区| 很很操很很操| 久久久99精品| 婷婷色五月在线视频| 十月丁香九月婷婷综合| av操一操| 99激情| 色婷婷国产精品综合在线观看| 国产综合婷婷| 激情五月丁香五月| 天天日天天插| 五月网站| 国产4P视频精品五区| 婷婷五月激情综合啪啪| 色色色在线观看| 丁香六月婷婷综合欧美| 色五月婷婷操逼| 五月丁香六月激情综合| 激情婷婷丁香五月天小说| 99免费综合网| 色小说婷婷五月天天天| 色色哒五月婷婷六月丁香| 一起操 91N.com| 91日本在线免费| 六月丁香成人| 激情五月天婷婷激情| 激情五月天综合图片小说网站| 色亚洲中文| 久久精品永久免费| 深爱激情综合网| 超碰在线视屏| 亚洲无AV在线中文字幕| 97超喷视频在线观看| 亚洲爱婷婷| 久久九九怡红院| 丁香五月激情六月| 99re思思久久| 日日噜狠狠| 色五月婷婷7777| 激情文学 综合 九月| 日韩高清成人| 天天干天天操天天干天天操天天干天天操| 久久丁香五月| 五月丁香色情| 久久99免费视频| 五月丁香另类图片| 婷婷天天插天天爱| 开心激情五月天网| 五月亭亭直播| 婷婷综合久久综合| 91vip在线观看| 婷婷丁香五月天综合网| 色色无码| 精品久久久91久久影视网| 久久久久98| 欧美成人无码高清一区二区三区| 五月婷婷激情久久| 色婷婷六月天| 九月丁香八月婷婷久久综合久97| 天天开心婷婷丁香五月| 97色色综合| 五月丁香成人网| 青草视频在线播放| 99热18| 久久九九经典| 涩涩五月天综合| 看久久性爱99视频| 99人妻碰碰久久久禁片| 久婷| 五月开心激情| 欧美搡BBBBB摔BBBBB| 国产97色在线 | 日韩| 丁香久色| 色五月激情| 97碰 在线视频观看| 五月天激情小说婷婷| 日本天堂免费99| 91在线就要啪| 看婷婷五月天网| 天天摸天天舔| 激情婷婷。| 天天日人人| 久久婷婷网| 成人性生活免费观看。| 五月丁香av在线| 色婷婷久久久| 色色色色区| 婷婷色播色五月五色五月天色妇| www九九| 成人午夜在线视频| 色5月婷婷| 操久久网| av网址在线| 26uuu在线观看| 国产XXXX搡XXXXX搡麻豆| 操操国产| 色五月影视| 伊人婷婷福利网| 亚洲日韩人妻操逼| 婷婷婷婷色| 人妻久热| 射久久丁香五月| 人人操91色| 2025色婷婷| 五月丁香亭亭电影久久| 五月婷色丁香| 夫妇交换刺激做爰| 丁香五月综合在线播放| 午夜不卡久久精品无码免费| sisi热国产| 久久九九国产精品怡红院| www婷婷| 天堂久久精品| 性生活视频98791| 色婷婷综合成人| 久热这里只有精品6| Www.sesese丁香| 五月婷婷插一插| 色九九综合色| 激情综合丁| 99热网精品| 久久996re热这里只有精品无码| 国产精品久久久久久亚洲毛片| 成人操呦av| 久久九九网| 婷婷五月,偷窥偷拍网| 免费AV在线| 在线观看996精品| 丁香五月婷婷五月天| 日本一级特黄大片AAAAA级| 婷婷五月激情的图片| 99亚洲精品视频| 激情久久久久久久久| 99操中文视频| 天天天天操| 久久黄色免费视频| 五月婷婷爽爽爽| 天天综合天综合| 狠干综合| 99热这里都是精品| 99精品这里只有免费视频| 亚洲精品又粗又大又爽A片| 五月视频日本免费观看| 婷婷久久色五月婷婷久久久| 五月丁香亚洲综合| 天堂久久精品| 五月婷婷六月激情| 五月色情网| 色婷婷色| 99精品在线观看| 色婷婷内射| 婷婷综合国产| 一起草无码| 丁香5月激情网| 夜夜操夜夜操| 五月婷婷自拍| 五月色色网| 另类小说五月天| 日本色色视频| 婷婷九月丁香| 91精品激情9| 丁香六月婷| 五月丁香爱婷婷深深| 丁香五月欧美婷婷综合| 婷婷欧美| 678五月丁香亚洲综合| www.99操.com| 中文字幕成人| 九九热最新地址| www狠狠| 极品人妻VIDEOSSS人妻| 亚洲成人婷婷| 激情婷婷五月天网址| 另类图片五月天激情| 中文字幕综合网| 色狠狠色噜噜噜a天堂一区| 99色五月| 九九在线视频| 开心五月婷婷婷美女| 国产毛片精品一区二区色欲黄A片| 人人看人人草人人摸| 99九九在线视频| 99精品网| 开心五月天激情网| 婷婷六月激情啪啪| AV成人在线播放| 九九婷婷五月天| 999婷婷综合| 五月丁香亚洲五月| 激情网第九色| 玖玖综合玖玖| 风流少妇A片一区二区蜜桃| 天天操综合网| 天天做天天爱天天玩夜夜爽| 99九九久久| 人妻内射一区二区在线视频| 久久久ww| 99精在线| 久久有码| 国产人妻操逼| 国产99久久久| 69精品人妻不卡视频| 国产又爽又猛又粗的视频A片| 五月婷婷在线视频观看| yazhouzonghesese| 99人妻碰碰碰久久久久禁片| www.91AV.com| 丁香五月天堂婷婷| 日本久久99| 91碰| 色99在线观看| 久机视频这只有精品| 日韩一66精品| 99亚洲综合| 婷婷综合色| 91丨九色丨老农村| av在线观看网址| 激情综合色五月丁香| 天天爽天天日| 99热这里只有精品9| 欧美在线视频免费播放| 五月婷婷免费看| 99视频精品8| www.狠狠操.com| AV堂狠狠干| 五月丁香六月激情综合| 五月丁香自拍| 亚洲精品无码久久| 射区导航| 婷婷五月综合网| 啪啪色区| 99热免费| 欧美日本黄色| 亚洲色夜| 婷婷五月激情网| 97精品自拍视频| 成人精品亚洲性爱| 天天插天天操| 九九热这里| 日日夜夜狠狠操| 欧美婷婷色五月| 色婷婷丁香五月综合| 深爱五月天天| 六月婷婷私欲| 99亚洲色| 精品无码视频| 五月婷婷亞洲中文| 五月激情婷婷丁香| 婷婷va| 色色色热热热| 92久久| 婷婷久热| 色色性爱视频| 亚洲无AV在线中文字幕| 无码人妻少妇色欲AV一区二区| 天天做天天爱天天高潮| 中文字幕日本最新乱码视频| 免费观看18视频网站| 国产在线aaa片一区二区99| www.色多多婷| 五月婷婷久久爱| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久婷婷六月综合综合| 久久婷综合网| 女同激情久久av久久| 婷婷丁香六月五月天| 婷色成人| 国产日日操夜夜操的肉棒视频| 色五月色五天免费视频| 99ri视频在线播放| 91九色中文| 91色久| 六月丁香五月天| 天天日天天久久青青| www.久99| 色玖玖玖| av婷婷丁香 六月| 丁香伊人综合| 99久久精品网| 亚洲天堂啪啪| www.夜夜操.com| 日比视频91| 国产肏屄大片| 亚洲色涩视频| 国产精品五月天婷婷| 激情五月天色播| 就要爱综合| 99只有这里是精品| 五月天开心婷婷激情网站| 99ri在线观看视频| 激情性爱五月天网页| 国产色视频网站2| 激情五月丁香五月| 五月天激情子轮| 五月色丁香| 风流少妇A片一区二区蜜桃| 欧美操综合| 色五月综合网| 天堂婷婷丁香六月网| 日本精品99网站| 99精品偷自拍| 九色激情| 五月视频日本免费观看| 激情五月婷婷丁香| 婷婷五月天伊人| 人人操91色| 99在线观看视频免费| 五月天激情小说欧美激情| 大香蕉五月天婷婷| 色色色九九九五月婷婷| 欧美内射AA| 天天天天做夜夜夜夜做| 99热这里只有精品1025| 日韩一级淫乱片一区二区三区| 99日逼视频| 久久成人天| 狠狠干狠狠干| 婷婷爱五月| 天天日夜夜操五月| 激情伊人| 婷婷五月丁香四射| 色婷婷4| www久久艹| 国产五月视频| 深爱女色婷婷丁香五月亚洲图区| 五月亭亭性| 婷婷五月天福利| 亚洲综合五月天婷婷丁香| www.夜夜.com| 丁香五月伊人| 欧美在线操| 久久人妻视步| 嫩草极品| 国产人妻操逼| 天天噜| 日韩99无码| 婷婷五月天改成什么了| 久久丁香五月| 丁香五月天日韩无码| 婷婷五月天视| 97精品在线| 亚洲超碰中文字幕| 婷婷五月天激情偷拍| 丁香九月激情| 五月婷婷七月丁香| 五月色婷婷夜色| 婷婷夜夜夜夜| 大香蕉啪啪啪| 秋霞免费三级片| 99热综合在线| 黄色91在线观看| 婷婷丁香人妻天天| 日本一级黄色片。| 日日噜狠狠色综| 五月婷婷中文| 色热久| 五月丁香福利| 国产视频福利| 久久激情五月婷婷| 久久狠婷婷| 啄木鸟丝袜美女福利视频| 九九爱激情| 日 日干 日日做| 夜夜骑夜夜操| 蜘蛛女免费观看完整版高清电影| 99精品自拍| 综合网精品99| 日本激情综合| 91九色PORNY肉丝在线| 五月开心婷婷| 免费视频WWW在线观看网站| 人妻射精AV| 激情丁香五月婷婷| 广东99色在线| 91久久精品国产91性色TV| 婷婷五月 丁香六月| 色婷婷丁香五月| 免費亭亭成人| 最近中文字幕大全免费版在线| 美女va| www99热| oumeisesewang| 成人αV视频免费观看| www.十八禁不禁AV.com| 九月婷婷人人操人人舔人人爱| 五月丁香六月激情综合在线| 国产XXXX搡XXXXX搡麻豆| 五月婷久久在线| H亚洲| 色色色色色网站| 五月婷天堂视频| av色色国产| 日本一级| 色婷婷六月| 久热这里只有精品性色AV| 亚洲婷婷五月天| 国产成人VA| 丝袜熟女一区二区三区| WWW.婷婷| 97碰超级人人看| 久久丁香五月| 777久久综合视频| 精品一区久热| WWW.婷婷| AV大香蕉| AA片在线观看视频在线播放 | 成人网在线视频| 婷婷色丁香五月| 婷婷五月天影视网址| 婷婷丁香无码专区| 九九性视频| 啪啪夜久久| 99精品在这里| 99久久er| 九九九九九九综合| 五月天开心网| 五月丁香久久激情网| 色综合色色色色色色综合| 婷婷五月天激情综合| 五月激情婷婷图片基地| 亚洲九九99精品视频在线播放| 66色在线日韩| www.综合久久.com| 久久思思热| 激情小说视频图片网| 狼人久草| 超碰成人公开| 丁香五月激情啪| 99国产小视频免费观看| 刘玥精品一区| 9久久精品| www.狠狠操.con| 色婷婷五月天成人网| 色播五月丁香| 激情综合网亚洲色图| 丁香六月狠狠干| 午夜少妇在线观看视频| 亚洲另类视频| 五月天五月色婷婷综合| 婷色视频| 欧美激情性做爰免费视频| 色欲久久久久| 在线,国产,色,热视频| 日韩成人影片在线观看| 丁香六月天| 天天插AV丝袜中| 国产色丁香| 五月深情久久| 婷婷天堂站| 99热丁香| 婷婷激情五月综合丁| 色婷婷狠狠| 色噜婷婷| 青青草视频免费观看| 香蕉人在线香蕉人在线 | 亚洲五月丁香综合网| 久久综合婷婷五月| 天天肏在线| 六月婷婷中文字幕| 五月天涩涩| 久久99久久99精品免视看婷婷| 日韩色色一区| 粉嫩AV久久一区二区三区| 久久女婷| 天天天天天天操| 99热精品一| 五月色综合网欧美网| 久久久久网站| 无码碰碰| 96自拍视频九色在线观看| 伊人久久大香网| 五月天婷婷色播在线网| 色色无码日韩| 五月天停停日日| 大香伊人婷婷影院| 五月天激情小说| 五月婷激情| 婷婷久久综合| 噜噜视频| www五月天激情com| 99久久综合网| 人人操人人操919999| 日本色超碰| 夜夜嗨一区二区三区直播内容 | 婷婷六月丁香色| 婷婷久久综合久| 永久免费一区二区三区| 久久99精品久久久| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 亚洲女婷婷五月基地综合久久久| 玖玖国产视频一区| 狼友超碰| 午夜婷婷久久| 69精品无码一区二区三区| 狠狠色综合无线观看| 被强行糟蹋的女人A片| 婷婷五月天福利| 五月天播播中文字幕| 激情婷婷五月基地| 99热精品一| 五月欧美色色五月| 婷婷深爱网| 伊人在线婷婷草| 五月社区婷婷激情| 色综合播放| 五月色欧洲| 这里只有视频精品| 久久这里面只有精品视频| 97香蕉碰碰人妻国产欧美| 婷婷激情五月天桃花网| 操草草草| 五月停视频天堂| 182tv992tv人之初午夜免费观看| 亚洲爆乳无码精品AAA片蜜桃| 99精品国产乱码久久久人妻| 欧美在线干| 777影视理论片大全在线观看| 久久草大香蕉| 51精品国自产在线| 99热这里有精品| 尤物一区二区| 久久婷婷七月丁香| 亚洲日韩一页精品发布| 成人无码精品1区2区3区免费看| 99re在线播放| A片天天| 色涩视频久久| 丁香五月天激情四射网络不好 | 日韩在线99| 激情综合色图| 九九热99re8热免费观看 | 99热这里精品| 五月婷婷亚洲| 97碰久久| 91精品综合久久久久久五月丁香| 99精品在线| 久久性都花花世界成人免费视频| 在线看AV| 色婷婷a| 超碰免费人人| 五五月五月| 国产精品激情五月天色婷婷| 色色色色综合| 色色狼人综合| 91狠狠综合久久久| 国产伦亲子伦亲子视频观看| 六月丁香啪| 大香蕉久久婷婷| 天天狠天天狠| 五月婷婷激情69| 五月天com| 九九自拍网| 国产FREESEXVIDEOS性中国| 日本一級黃色一級片| 日91高清无玛| 成人av免费观看| 婷婷开心综合人妻小说网址| 五月综合激情综合久| 丁香五月激情啪啪| 久久97| 麻豆WWWCOM内射软件| www.五月婷| 婷婷五月天综合网| 欧美婷| 99精色| 激情五月丁香五月| 中文字幕网伦射乱中文| 丁香五月很很肏| 超碰人人超碰| 婷婷五月天激情综合网| 激情都市丁香婷婷| 97综合在线| 日日夜夜九九| 婷婷五月av| 五月丁香色婷婷基地| 亚洲激情婷婷| 国产毛多水多女人A片| 欧美乱码国产一级A片| 综合久久婷婷五月丁香| 欧美色色色色色| 天天干 夜夜爽| 红桃91人妻爽人妻爽| 久久精品4| 色婷婷视频综合| 丁香六月婷婷开心| 欧美日韩一区二区三区四区| 激情丁香五月| 久久视频婷婷视频| 天堂草在线观看| 五月婷婷片| 久久影视婷婷五月| 日韩砖区| 九九AV在线| 青青草青青草五月天| 欧美色婷婷| 亚洲激情.com| 大战熟女丰满人妻AV| 婷婷五月丁香超碰| 久久人妻高清中文| 五月婷在线| 综合超碰熟| 免费99情趣网视频| 色婷婷导航| 男女av免费看| 天天婷婷操| 五月丁香六月成人| 9999热免费视频视频| 五月丁香网av| 久久婷婷五月天激情四射| 亚洲黄色操逼| 99re思思热在线视频| 天堂久久婷婷| 人五月天婷婷喷水| 成人欧美一区二区三区在线观看| 国产精品色婷婷99久久精品| www九月婷婷| 成人婷婷深爱综合网| 97色色色| 影音先锋91| 婷婷六月天激情| 国产成人网| 色情五月婷婷| 97视频久久| 91xxxx九色| 人人人舔人人人操人人人摸人人人97| 久久丁香五月| 伊人干综合| 天天色99| 91疯狂操操操操| 五月天深爱激情网| 久草热8精品视频在线观看| 欧美在线干| 色综合久久天天综合网| 久久久久久久久99精品| 九九热在线99| 丁香六月婷婷姐网| 亚洲色图欧美色图日本视频| 91精品久久久久| 天天天综合网| 六月婷婷操逼| 丁香五月在线视频黑人| 天天插天天插| 狠狠色丁香五月婷巨| 狠狠综合| 激情五月天综合网| 夜夜爱伊人| 丁香五月婷综合| 婷婷激情5月| 欧美日本不卡黄色片| 伊人丁香婷婷东京| 国产69久久久欧美黑人A片| 五月天国产成人| 色色丁香| site:xmssd.com| 久热大香蕉| 五月婷婷欧美| 五月天堂色| www.色婷婷| 色欲av伊人久久大香线蕉影院 | 伊人色五月| 九九99久久| 激情五月天啪啪| 97在线碰| Av大香蕉| 久久激情五月| 青青操avbb| 色五月情| 天天日天天操天天干| 中文字幕91,综合| 一本色道久久综合狠狠躁小说| 人妻五月天激情开心网| 色五月婷婷综合在线| 色天使色婷婷| 色五月激情五月天| 97在线视频观看| 一本大道嫩草AV无码专区| 五月丁香五月天现场视频| 日本三级成人秘书精品片| 亚洲色A| Av免费网站在线| 丁香五月六月综合激情| 在线超碰精品| 六月丁香色色| 色婷婷狠狠干| 亚洲欧洲中文日韩久久AV乱码| 欧美亚洲操逼| 天天综合网色欲香| 噜噜噜久久| 婷婷精品免费久久| 丁香婷婷啪啪| 能看的av片| 婷婷色综合中心站| 久久婷婷综合基地| 99精品国产热久久91色欲| 天天噜噜| 五月天激情开心网| 综合久久伊人| 深爱婷婷网| 成人网站在线观看视频| 69精品人人人人人人人人人| 丁香五月天论坛| 中文字幕综合| 亚洲字幕AV一区二区三区四区| 婷婷五月天av网| 91综合网| 色情五月综合婷婷| 日日噜狠狠色综合久久| 五月天久久网站| 亚洲第一综合| 欧美日韩大黄| 五月天婷婷激情网| 久久五月丁香婷婷| 天天爽天天爽夜夜爽| 久久色五月| 深爱五月天| 亚洲熟妇无码乱子AV电影| 色婷婷五月综合| 九九久99免费视频| 岛国av网站| 99爱在线视频观看| 五月丁香久人妻中文|