精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

秒級響應!B站基于 Iceberg 的湖倉一體平臺構建實踐

大數據 數據湖
本文將介紹 B 站基于 Iceberg 構建秒級響應湖倉一體平臺的技術實踐。首先介紹使用 Iceberg 做湖倉一體的背景,接著分享針對湖倉一體平臺做的一些查詢加速和智能優化,以及一些重點研發方向,最后介紹平臺目前的落地情況。

一、背景

我們使用 Iceberg 構建湖倉一體平臺的初衷是希望解決業務方在使用 Hive 數倉時的一些痛點。主要包括以下幾大方面:

(1)Hive 的查詢性能達不到交互式分析的要求,所以經常需要把 Hive 的數據儲存到其它引擎當中。

(2)上一點造成了出倉鏈路越來越多,越來越復雜,維護成本高。

(3)另外,出倉的數據容易形成數據孤島,造成數據冗余,導致存儲成本上漲。

(4)最后,Hive 的時效性不好,即使用 FIink 流式的引擎寫入,延遲也會在小時級別。

我們希望我們的湖倉一體平臺能夠解決這些痛點,我們的目標是:

(1)首先,平臺要是互聯互通的,要支持各種引擎的訪問,避免數據孤島的出現。

(2)第二,查詢要高效,以滿足交互式分析的要求。

(3)第三,使用要盡可能的便捷,盡可能降低業務方的門檻。

圖片

我們的湖倉一體架構如上圖所示,采用 Iceberg 來存儲數據,數據是在 HDFS 上。入湖的幾條鏈路包括 FIink、Spark 引擎來寫入,也提供 java 的 API,業務方可以直接通過 API 來寫入數據,后臺有一個叫做 Magnus 的服務對 Iceberg 的數據進行不斷的優化。另外我們也用 Alluxio 來對數據進行緩存加速。我們使用 Trino 來進行交互式分析,對外提供查詢接口。寫入 Iceberg 的數據有一部分是要繼續寫入下游的 Iceberg 表。一般是數倉的分層建模的場景。雖然我們減少了 Hive 出倉的鏈路,但是有一些場景可能 Trino 的查詢還是達不到響應時間的要求。比如毫秒級的響應,可能還是會出倉到 ClickHouse、ES 等其它存儲中。

下面簡單介紹一下 Iceberg 的表結構,以及我們為什么選 Iceberg 作為存儲格式。

圖片

Iceberg 有文件級別的元數據管理。它基于 snapshot 來做多版本的控制。每一個 snapshot 對應一組 manifest,每一個 manifest 再對應具體的數據文件。我們選 Iceberg 的一個比較重要的原因是其開放的存儲格式。它有著比較好的 API 和存儲規范的定義,方便我們在后續對它做一些功能上的擴展。

二、查詢加速

接下來介紹我們目前的一些比較重要的工作。其中最核心的一項是查詢加速。

因為我們面對的是 OLAP 的場景,一般是會有過濾條件的。所以我們第一個思路是如何盡可能過濾掉不需要掃描的數據。Iceberg 在文件級別記錄了每一個列的一些統計信息,比如說 MinMax 值,這些統計可以在查詢計劃階段就把一些不需要的文件過濾掉。我們很直觀的一個想法是,如果對數據進行排序,就會讓相同的數據有更好的聚集效果,在過濾的時候就會過濾掉更多的文件。

所以我們最早是做了多維的排序。過濾字段可能有多個,不能用簡單的線性排序來做。線性排序只對靠前的排序字段有比較好的聚集效果。所以我們比較了 Z-ORDER 和 Hibert Curve 這兩種排序方式。從多維排序的實現來比較,發現 Hibert 的聚集性會更好一點。所以我們目前都是采用 Hibert 的方式。不管是 Z-ORDER 還是 Hibert ,都要求參與排序的字段是一個整型值。對于非整型的數據,我們用 Boundary Index 的方式來參與計算。

圖片

我們會把數據按照需要多少區間,來切出不同的 Boundary。根據它的 Boundary Index 來參與 Z-ORDER 和 Hibert Curve 的計算。

有了排序以后,另一個問題是多維的排序字段是不可以無限增加的。一般來說排序字段的個數越多,其聚集效果會越差。我們對業務方的建議是一般不要超過四個排序字段。如果有更多的過濾字段怎么辦?我們考慮到對于一些基數比較高的過濾字段,不去做排序,而是通過創建索引的方式,也能有一個比較好的過濾效果。

圖片

我們實現的索引是為了判斷一個數據文件是否滿足查詢條件的要求。所以我們的索引是文件級別的,一個表可以針對不同的列創建不同的索引。一個 DataFile 可能會關聯多個索引文件,我們把索引文件和 DataFile 的元數據一起存儲在 manifest 里。

下面介紹一下我們支持的索引種類:

(1)BloomFilter:計算比較簡單,占用空間也比較小。存在 false positive 的問題,只支持等值的查詢。

(2)Bitmap:功能更強大,支持等值和范圍查詢,匹配更精準,更精準是因為可以對多個條件匹配到的數據進行交并補計算,同時它返回的行號也可以幫助進一步 skip 數據。Bitmap 的缺點是占用空間比較大,尤其是對一些高基數的字段,創建 Bitmap 索引,可能加載索引的時間已經超過了過濾掉數據所節約的時間,甚至會產生一些負向的效果。

(3)BloomRF:我們參考一篇論文,實現了一種 BloomRF 索引,它與 BloomFilter 的原理類似,但是用了多段的有序哈希函數來支持等值和范圍的查詢。它的存儲開銷也與 BloomFilter 類似。其問題也是會有 false positive。

(4)TokenBloomFilter、NgramBloomFilter,TokenBitmap、NgramBitmap:是針對 token 的索引,是為日志場景設計的。相當于對日志做一些分詞的操作。分詞完成以后,構建 BloomFilter 或者 Bitmap 這樣的索引。TokenBloomFilter 和 TokenBitmap 針對的是英文的分詞,Ngram 針對的是中文的分詞。

除了索引以外,我們也在做對預計算的支持,內部叫做 Cube,或者 AggIndex,是針對聚合計算的加速。目前支持單表和星型模型的查詢。一個 Cube 的定義,主要定義兩個信息:一個是 Cube 的維度字段;另一個是 Cube 需要的聚合計算,常見的如 count、min、max、count distinct 等都是支持的。另外聚合是做在文件級別的。

舉一個例子:

圖片

它是一個星型模型,lineorder 表是事實表,會關聯 dates 、part 和 supplier 維表。如果要對這樣一個查詢場景去定義 Cube,所有需要在 group by 、where 語句中使用的字段都要作為維度字段。大家可以看到預計算是定義在事實表上的。它的預計算的定義是跟 lineorder 表關聯的。但是這里使用到的一些列可能是有維表當中的列。我們做了一個叫做關聯列的實現。事實表不僅可以用關聯列來定義 Cube,同時也能用關聯列對事實表的數據來進行排序和索引。像查詢里,p_brand 上有一個過濾條件,Cube 數據也可以用到索引來進行過濾。上面的過濾條件也可以用來過濾事實表的數據。

圖片

定義了 Cube 以后,Magnus 服務會在后臺去負責 Cube 文件的生成。因為是文件級別的聚合,所以生成的邏輯是每一個文件會去關聯其他的文件。比如這是事實表當中的一個 DataFile,它會去關聯三張維表。這三張維表關聯完以后會計算聚合值,最終會生成一個 CubeFile。CubeFile 與索引的情況類似,它會跟 DataFile 關聯起來,一起保存在 Manifest 當中。

對聚合值的處理,因為我們做的是文件級別的聚合。所以真正查詢的時候,還需要把文件級別的聚合再做 global merge, 才能得到最終的一個聚合效果。這里分兩種情況:

一種是可以直接累加的一些聚合值,如 min、max、count,在生成 Cube 文件的時候,可以直接存儲聚合結果;有一些不能直接累加,比如 Average,存儲的是中間狀態。查詢時需要判斷能否用 Cube 來響應,比如下圖中展示的查詢:

圖片

它是一個原始的邏輯計劃。我們會去找查詢當中的 aggregation 節點。對于 aggregation 節點,判斷其 source 表中是否存在一個 Cube 能滿足聚合計算的要求。如果找到,會把邏輯計劃進行轉換。轉換完以后,原來的 table scan 就會切換成 Cube 模式,就不去讀原始的數據了,而是去讀 Cube 文件的數據。因為 Cube 文件是異步生成的,所以就肯定會存在一種情況,可能有一些文件已經構建了 Cube,有一些文件可能還沒有生成 Cube。查詢改寫這一側會稍微有一點不一樣。對于這種情況,我們的處理思路是把有 Cube 的部分,保持跟原來一樣的改寫方式;沒有 Cube 的部分,現場把 Cube 的數據算出來,與已有 Cube 的數據做一次 union 以后,再做 global merge,這樣可以得到一個最終的結果。

當然這個做法只適用于只有少量文件還沒有 Cube 的情況。如果大部分文件都沒有 Cube,那么直接退化成原始的計算會更好。

圖片

Cube 做好之后,我們目前在探索用 star-tree index 對 Cube 來做一個增強。我們參考了 Apache Pinot 的實現。

圖片

要解決的問題是,Cube 是可以響應不同的維度組合的。比如 Cube 的定義可能選了三個維度,查詢的時候只用到了其中的兩個或者一個,Cube 也是可以響應的。所以從節省存儲的角度來說,用最細粒度的維度來定義 Cube。這樣只需要一個 Cube,就可以響應所有維度組合的查詢。

但是如果維度選的比較多,生成的 Cube,它的數據量也會比較大。而且維度多了以后,聚合效果會變差。如果用最細粒度定義的 Cube,去響應很少維度的查詢,中間還需要額外做很多聚合的計算。

如果針對每一個查詢都去定義特定的 Cube,可以保證查詢的時候 Cube 一定是最優的。但是它的問題是所需要的存儲成本就會比較高,所有不同的組合,都要實現,生成不同的 Cube 文件。

Star-Tree Index 希望在兩者之間做一個折中。針對我們的 Cube 生成 Star-Tree Index 這樣一個數據結構。

圖片

舉一個例子,比如我的 Cube 的定義是 Dim1、Dim2、Dim3 這三個字段,聚合值是 count。雖然維度一共有三個,但是常用的可能是 Dim1、Dim2 這兩個。這時候就可以按照 Dim1、Dim2 指定這兩個維度字段來生成 star tree。star tree 是一個多叉樹,每一層對應一個維度。每一層的節點是當前這一個維度的取值。比如 Dim1 的取值是 1、2、3,Dim2 的取值是 a、 b 、c。Star-Tee Index 會針對不同的取值來構造樹的節點。每一層還會有一個特殊的 star 節點,star 節點的含義是忽略掉這一層的取值,或者我們認為 star 是一個通配符。全部聚合在一起以后,它的聚合的結果是多少。對于 star 節點,會額外生成一些 star record。star 節點下面的這些節點都會生成具體的一個 star record。比如例子里面,Dim1 取值是 “*” 的時候,Dim2 可能有 a、d 這兩種。如果查詢當中只用到了 Dim2 這一個維度,那么可以通過 star record 來進行響應。因為我只需要考慮 Dim1 為 “*” 的情況。

三、智能優化

介紹完查詢加速以后,再來講一下我們目前做的智能優化的一些工作。

針對的是我們的 Magnus 服務。我們最根本的目標是希望盡可能降低用戶的使用門檻。比如 Hive 用戶,他可能需要了解一些大數據的原理;小文件多了,應該怎么處理,可能需要做一些合并;Hive 表應該怎么做分桶,文件內部怎么做排序。我們目前所處的一個階段,叫做自動化的階段。用戶不需要知道這么多底層的知識。但是他還是需要告訴我一些業務上的邏輯。比如常用的過濾字段是哪些,常用的聚合的模型是什么樣子的。我們再根據用戶提供的信息來自動幫他去創建索引,去創建 Cube。

圖片

最終我們是希望進一步簡化,用戶只是建表。表在建出來的使用過程當中,我們可以對它做一個智能的持續的優化。Magnus 服務就是以此為目的來開發的。它主要負責的功能包括:

(1)一個是自動的后臺優化,目前所有 Iceberg 表的寫入操作,Magnus 都會監聽,當監聽到寫入事件后,它會根據自己內部的一些調度邏輯,通過 spark 任務對表進行一些操作,比如排序、創建索引、構建 Cube 等。

(2)另一個比較重要的功能是,它可以幫助我們把 Iceberg 表的一些詳情做一個圖形化的展示,便于我們定位和排查問題。比如下圖中顯示的一張 Iceberg 表。

圖片

可以看到表是定義了排序字段的,在界面上可以看到它某一個分區下有多少個文件,這些文件有哪些已經按照用戶的要求做了排序,有哪些已經按照用戶的要求去構建了索引等等。

(3)第三個功能是智能化的推薦。實現方式是使用 Trino 把查詢明細全部落庫。

圖片

查詢明細當中包含了每張表用到的過濾字段,Magnus 服務會去定期去分析這些查詢明細,結合用戶的歷史查詢以及 Iceberg 表本身的統計信息。當然有一些統計信息可能是需要用 Trino 去現場計算出來的。結合這些信息以后,會給出一些優化建議。

圖片

上面的例子展示的是 Magnus 對某一張表的一次優化建議。可以看到表里面用戶原本是定義了排序和索引字段的。Magnus 分析結果來看,首先是排序可以增加幾個字段,同時可以刪掉一些不必要的字段。索引也是可以去掉一些用不到的索引。后續我們會考慮根據推薦去驗證效果。如果效果好,后面可以考慮去自動幫助用戶進行修改。

四、現狀

最后來介紹一下我們目前落地的情況。

目前主要場景包括 BI 報表、指標服務、A/B Test、人群圈選和日志等。

Iceberg 表總量大約為 5PB,日增 75TB。Trino 查詢每天在 20 萬左右,P95 的響應時間是 5 秒。我們給自己的定位為秒級到 10 秒級。過濾的數據量(估算)為 500TB/ 天,占比約 100%~200%。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2022-06-24 10:41:53

日志數據

2021-06-11 14:01:51

數據倉庫湖倉一體 Flink

2023-04-19 15:52:15

ClickHouse大數據

2024-03-05 08:21:23

湖倉一體數據湖數據倉庫

2023-12-14 13:01:00

Hudivivo

2023-06-28 07:28:36

湖倉騰訊架構

2021-06-07 10:45:16

大數據數據倉庫數據湖

2023-05-16 07:24:25

數據湖快手

2022-12-13 17:42:47

Arctic存儲湖倉

2023-03-27 21:24:18

架構數據處理分析服務

2023-08-30 07:14:27

MaxCompute湖倉一體

2022-09-29 09:22:33

數據倉

2024-02-20 07:55:48

數據平臺架構湖倉一體Alluxio

2024-09-03 14:59:00

2025-08-21 09:29:11

2021-06-07 11:22:38

大數據數據倉庫湖倉一體

2021-09-13 13:46:29

Apache HudiB 站數據湖

2023-10-16 07:22:50

點贊
收藏

51CTO技術棧公眾號

成人黄色免费看| 亚洲天堂2020| 丰满少妇大力进入| 水中色av综合| 免费成人在线影院| 久久天天躁狠狠躁夜夜躁2014| 特种兵之深入敌后| 手机在线观看av| 亚洲国产精品成人综合色在线婷婷| 国产欧美精品va在线观看| 欧美黄片一区二区三区| 自拍视频一区| 日韩免费视频一区| 欧美视频免费播放| 91在线中文| 91女人视频在线观看| 国产精品久久久久久亚洲调教| 欧洲猛交xxxx乱大交3| 亚洲最好看的视频| 欧美一卡2卡3卡4卡| 久久精品.com| 四季久久免费一区二区三区四区| 国产欧美日韩精品在线| 国产精品v欧美精品∨日韩| 少妇无套内谢久久久久| 亚洲免费高清| 久久成人18免费网站| 色无极影院亚洲| 精品久久久网| 色94色欧美sute亚洲13| 无码人妻少妇伦在线电影| 免费黄网站在线播放| 久久免费视频一区| 国产精华一区二区三区| 国产深喉视频一区二区| 蜜桃一区二区三区四区| 热门国产精品亚洲第一区在线| 91视频免费在线看| 欧美激情偷拍自拍| 一区二区国产精品视频| 亚洲熟女乱综合一区二区三区| 在线日韩三级| 欧美三日本三级三级在线播放| 欧美久久久久久久久久久久久| 韩国中文字幕在线| 国产精品久久久久久久久快鸭 | 欧美精品免费在线观看| 亚洲精品视频网址| 欧美日韩伦理在线免费| 亚洲午夜精品久久久久久性色| 欧美双性人妖o0| 波多野结衣欧美| 日韩视频免费观看高清在线视频| 亚洲视频第二页| 国产韩日精品| 欧美中文字幕亚洲一区二区va在线| 国产在线青青草| 欧美在线极品| 色婷婷综合久久久中文字幕| 日本www高清视频| 欧美18—19sex性hd| 色婷婷久久99综合精品jk白丝| 欧美老熟妇喷水| 亚洲欧美韩国| 91精品福利视频| 男女污污的视频| 久久亚洲人体| 在线播放欧美女士性生活| 美女网站免费观看视频| a成人v在线| 欧美群妇大交群中文字幕| 色片在线免费观看| 99视频有精品高清视频| 日韩视频在线观看一区二区| 色婷婷狠狠18禁久久| 国产精品白丝av嫩草影院| 亚洲国模精品一区| av网在线播放| 国产大片一区| 欧美激情在线观看| 特黄视频免费看| 免费成人av在线播放| 亚洲www永久成人夜色| 亚洲精品国产一区二| 91在线porny国产在线看| 久久亚洲免费| 日p在线观看| 亚洲国产一区在线观看| 成人性视频欧美一区二区三区| 精品福利在线| 亚洲国产三级网| 国产美女免费无遮挡| 国产精品7m凸凹视频分类| 久久91亚洲精品中文字幕奶水| 欧美bbbbbbbbbbbb精品| 美洲天堂一区二卡三卡四卡视频 | 一区二区日韩视频| 国产精品1024久久| 欧美一区二区三区成人久久片| 97超碰人人在线| 亚洲夂夂婷婷色拍ww47| 国产男女无遮挡| 精品国产第一国产综合精品| 日韩成人在线免费观看| 北条麻妃在线观看视频| 99视频精品| 成人欧美一区二区三区在线| 天天干天天干天天干| 中文字幕日韩一区二区| 国模吧无码一区二区三区| av在线亚洲一区| 亚洲欧美制服第一页| 中文字幕影音先锋| 蜜桃一区二区三区在线| 久久久久久久久久久久久久久久av| 欧美日本高清| 色94色欧美sute亚洲13| 国产高潮视频在线观看| 五月开心六月丁香综合色啪| 日韩暖暖在线视频| 人妻妺妺窝人体色www聚色窝 | 丝袜诱惑一区二区| 日韩精品一区二区三区视频在线观看| 日本乱子伦xxxx| 亚洲精品美女| 超碰97人人在线| 一级毛片视频在线| 在线视频观看一区| 久久久国产精品无码| 欧美日韩国产色综合一二三四| 国产在线观看精品| 国产乱视频在线观看| 粉嫩老牛aⅴ一区二区三区| 久久久国产精品久久久| 9191国语精品高清在线| 国产精品久在线观看| 韩国福利在线| 色婷婷久久久亚洲一区二区三区| 久久久久久久无码| 999在线观看精品免费不卡网站| 亚洲综合大片69999| 成人av黄色| 欧美精品在线观看一区二区| 99久久99久久精品免费看小说.| 久久亚洲影院| 日本亚洲导航| 日韩精品影院| 国产一区二区三区日韩欧美| www.久久久久久久| 国产日韩亚洲欧美综合| 成人在线免费播放视频| 九九视频精品全部免费播放| 国产福利精品av综合导导航| 黄色小视频在线观看| 色播五月激情综合网| a级大片在线观看| 日韩精品视频网| 亚洲国产日韩综合一区| 欧美一级网址| 久久精品视频在线播放| 精品国产av一区二区| 一二三区精品视频| 国产精品久久AV无码| 夜夜精品视频| 欧美裸体网站| 国产精品伦一区二区| 日韩有码在线观看| www.五月激情| 精品久久香蕉国产线看观看gif| 国产人妻人伦精品1国产丝袜| 国产精品久久久久久模特| 欧美一区二区综合| 久久久久久久性潮| 欧美成人在线网站| 天天综合网在线观看| 欧美在线制服丝袜| 婷婷在线精品视频| 91亚洲精品久久久蜜桃网站| 亚洲男人天堂色| 成人网18免费网站| 91福利视频导航| 竹内纱里奈兽皇系列在线观看| 一区二区三区四区在线观看视频| 国产精品无码专区av免费播放| 亚洲最新视频在线播放| 国产交换配乱淫视频免费| 九一九一国产精品| 色欲色香天天天综合网www| 精品国产一区二区三区四区| 亚洲xxxx视频| 另类激情视频| 久久成人这里只有精品| 亚州av在线播放| 欧美欧美欧美欧美首页| 日韩精品在线不卡| 国产精品久久夜| 日本道中文字幕| 奇米色一区二区三区四区| www.国产二区| 欧美精选一区二区三区| 国产成人女人毛片视频在线| 日韩一级二级| 97在线精品国自产拍中文| 999在线视频| 亚洲精品久久久久国产| 国产情侣自拍小视频| 色综合久久久久综合体| 久久久久久久9999| 国产精品热久久久久夜色精品三区| 蜜臀视频在线观看| 激情欧美日韩一区二区| 日日摸天天爽天天爽视频| 国产精品啊啊啊| 亚洲综合视频一区| 综合伊思人在钱三区| 成人黄动漫网站免费| 免费成人高清在线视频| 97超级碰在线看视频免费在线看| 理论片午午伦夜理片在线播放| 亚洲区中文字幕| 人妻一区二区三区四区| 日韩一区二区在线观看| 亚洲一二区视频| 91福利在线播放| 影音先锋在线国产| 亚洲成人手机在线| www.av视频| 亚洲视频一区二区在线观看| 在线小视频你懂的| 26uuu国产电影一区二区| 亚洲婷婷在线观看| 高清不卡在线观看av| 亚洲视频在线不卡| 精品伊人久久久久7777人| 成人免费xxxxx在线视频| 国产精品亚洲综合色区韩国| 精品国偷自产一区二区三区| 欧美精品三级| 91传媒免费视频| 欧美另类亚洲| 永久免费看av| 亚洲影视一区二区三区| 吴梦梦av在线| 亚洲精品极品少妇16p| 亚洲永久激情精品| 99久久激情| 六月婷婷激情网| 欧美一区二区| www.一区二区.com| 亚洲福利一区| 日日橹狠狠爱欧美超碰| 中国女人久久久| 免费日韩中文字幕| 老司机精品导航| 91香蕉视频导航| 另类专区欧美蜜桃臀第一页| 九色porny自拍| 国产一区二区视频在线| 三级黄色片播放| 成人深夜在线观看| 成人午夜精品无码区| 91免费小视频| 国产伦精品一区二区三区视频女| 国产精品美女www爽爽爽| 日本黄色录像视频| 亚洲国产另类av| 日韩在线视频免费播放| 91福利国产精品| 一级黄色片视频| 日韩精品一区二区三区在线播放| 天天爽夜夜爽夜夜爽| 国产亚洲成av人片在线观看桃| av电影在线播放高清免费观看| 久久精品成人一区二区三区| 色呦呦视频在线观看| 久久91精品国产91久久小草| 亚洲电影激情视频网站| 成人在线视频免费播放| 91在线云播放| 自拍偷拍视频亚洲| 国产精品国产三级国产三级人妇| av成人免费网站| 亚洲成av人综合在线观看| 99精品人妻国产毛片| 欧美日韩国产色站一区二区三区| 精品免费久久久| 国产伦理久久久久久妇女| 五月婷婷综合在线| 黄色小说在线观看视频| 色欧美乱欧美15图片| 国产精品免费无遮挡| 欧美精品一区二区三| 欧美日韩影视| 啊v视频在线一区二区三区| 欧美精品videosex| 国产v综合v亚洲欧美久久| 国产精品一级在线观看| 久久99精品久久久久久秒播放器| 欧美顶级大胆免费视频| 欧美一级免费播放| 久久成人18免费观看| 午夜视频在线观看国产| 国产精品久久久久久久久果冻传媒| 免费在线黄色片| 欧美三区在线观看| 亚洲av成人无码网天堂| 成人444kkkk在线观看| 四虎4545www精品视频| 粉嫩精品一区二区三区在线观看| 日本午夜一区| 欧美精品生活片| 蜜桃精品成人影片| 欧美韩日一区二区三区四区| 国产小视频在线观看免费| 欧美视频一区二区在线观看| 国产1区在线观看| 久久综合电影一区| 亚洲成人一区在线观看| 久久国产精品一区二区三区| 欧美日本一区| 视频在线观看免费高清| 久久亚洲免费视频| 日韩欧美亚洲国产| 欧美一区二区三区免费观看视频| 福利片在线看| 欧美一区第一页| 另类图片第一页| 欧美精品在欧美一区二区| 久久99国产精品成人| 国产精品理论在线| 在线免费精品视频| 免费在线视频一级不卡| 欧美亚洲成人xxx| 精品综合久久88少妇激情| 国产高清不卡无码视频| 国产一区激情在线| 开心激情五月网| 欧美精品在线观看播放| 免费黄色在线网站| 91色p视频在线| 91精品秘密在线观看| 中文av字幕在线观看| 亚洲色图另类专区| 国产免费高清视频| 久久九九免费视频| 欧美a在线观看| 超碰10000| 顶级嫩模精品视频在线看| 久久久久久久黄色| 欧美成人a∨高清免费观看| 久久国产精品黑丝| 国产一区二区在线网站| 一区二区三区四区五区在线| 亚洲第九十七页| 色婷婷av一区二区三区之一色屋| 日韩精品系列| 国产精品精品国产| 欧美国产偷国产精品三区| av噜噜在线观看| 一区二区在线观看不卡| 亚洲欧美高清视频| 91精品国产高清自在线| 免费成人av| 一道本在线免费视频| 亚洲激情综合网| 老熟妇高潮一区二区高清视频| 欧美性一区二区三区| 欧美日韩亚洲在线观看| 欧美激情第四页| 五月天国产精品| 91在线高清| 51精品国产人成在线观看| 亚洲国产日韩欧美一区二区三区| 三级电影在线看| 欧美三日本三级三级在线播放| 伊人精品影院| 开心色怡人综合网站| 蜜桃av一区二区| 久久久精品国产sm调教网站| 日韩成人在线观看| 视频欧美精品| 国产精品裸体瑜伽视频| 中文在线一区二区| 超碰人人人人人人| 热re99久久精品国产66热| 999精品视频| 给我免费观看片在线电影的| 欧美性猛片xxxx免费看久爱| 在线āv视频| 欧美一区二区三区四区夜夜大片| 国产一区二区三区在线观看免费视频| 久久久无码精品亚洲国产| 亚洲人成网站免费播放| 久久久久亚洲精品中文字幕| 亚洲欧洲日产国码无码久久99 | 亚洲自拍偷拍网址| 先锋a资源在线看亚洲| 91高清免费看| 亚洲视频在线免费观看| 99国产精品久久一区二区三区|