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

日均PB級數(shù)據(jù)分析,B站基于Iceberg的湖倉一體架構(gòu)實踐

存儲 新聞
本文主要介紹為了應(yīng)對以上挑戰(zhàn),我們在湖倉一體方向上的一些探索和實踐。

?一、背景

在B站,每天都有PB級的數(shù)據(jù)注入到大數(shù)據(jù)平臺,經(jīng)過離線或?qū)崟r的ETL建模后,提供給下游的分析、推薦及預(yù)測等場景使用。面對如此大規(guī)模的數(shù)據(jù),如何高效低成本地滿足下游數(shù)據(jù)的分析需求,一直是我們重點的工作方向。

我們之前的數(shù)據(jù)處理流程基本上是這樣的:采集端將客戶端埋點、服務(wù)端埋點、日志、業(yè)務(wù)數(shù)據(jù)庫等數(shù)據(jù)收集到HDFS、Kafka等存儲系統(tǒng)中,然后通過Hive、Spark、Flink等離線和實時引擎對數(shù)據(jù)進行ETL處理及數(shù)倉建模,數(shù)據(jù)存儲使用ORC列式存儲格式,用戶可以通過Presto、Spark等引擎對數(shù)倉建模后的數(shù)據(jù)進行數(shù)據(jù)探索以及構(gòu)建BI報表。對于大部分的數(shù)據(jù)服務(wù)和部分BI報表,Presto、Spark訪問ORC格式數(shù)據(jù)可能無法滿足用戶對于查詢響應(yīng)時間的要求,這時需要將數(shù)據(jù)寫入ClickHouse等這種專門的OLAP引擎或者進一步處理數(shù)據(jù)后寫入HBase、Redis等KV存儲系統(tǒng)中等方式解決。

圖片

?

當前的數(shù)據(jù)處理流程雖然在一定程度上可以滿足目前的業(yè)務(wù)需求,但是整個流程的效率和成本都還有很大的提升空間,主要體現(xiàn)在:

  • 為了提升查詢效率,從Hive表出倉到ClickHouse、HBase、Redis、ElasticSearch、Mysql等外部系統(tǒng)中,需要額外的數(shù)據(jù)開發(fā)工作,額外的存儲冗余,但同時擁有了更少的數(shù)據(jù)靈活性,復(fù)雜的組件支持增加了數(shù)據(jù)服務(wù)開發(fā)的成本,更長的數(shù)據(jù)處理流程也降低了穩(wěn)定性和可靠性。
  • 對于未出倉的數(shù)據(jù),用戶無論是進行數(shù)據(jù)探索還是使用BI報表,都還受SQL on Hadoop本身性能所限,和用戶期望的交互式響應(yīng)有很大差距。

本文主要介紹為了應(yīng)對以上挑戰(zhàn),我們在湖倉一體方向上的一些探索和實踐。

二、為什么需要湖倉一體

在討論這個問題前,我們可能首先要明確兩個概念:什么是數(shù)據(jù)湖?什么是數(shù)據(jù)倉庫?這兩個概念在業(yè)界都有大量的討論,每個人的說法也不盡相同,我們嘗試總結(jié)如下,對于數(shù)據(jù)湖:

  • 使用統(tǒng)一的分布式存儲系統(tǒng),可假設(shè)為無限容量。
  • 有統(tǒng)一的元數(shù)據(jù)管理系統(tǒng)。
  • 使用開放的數(shù)據(jù)存儲格式。
  • 使用開放的數(shù)據(jù)處理引擎對數(shù)據(jù)進行加工和分析。

我們之前的大數(shù)據(jù)架構(gòu)基本上是一個典型的數(shù)據(jù)湖架構(gòu),使用HDFS作為統(tǒng)一的存儲系統(tǒng),Hive metastore提供統(tǒng)一的Schema元數(shù)據(jù)管理,數(shù)據(jù)以CSV、JSON、ORC等開放存儲格式存儲在HDFS上,用戶可以使用SQL、DataSet、FileSystem等各個層次的API使用Hive、Spark、Presto、Python等框架或語言訪問數(shù)據(jù)。

數(shù)據(jù)湖架構(gòu)的好處是有非常大的靈活性,結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)都可以放在數(shù)據(jù)湖中,用戶可以使用任意合適的引擎對所有的數(shù)據(jù)進行靈活的數(shù)據(jù)探索,幾乎沒有任何限制,但是它也存在很大的缺陷,最主要的就是數(shù)據(jù)管理和查詢效率的問題。

對于數(shù)據(jù)倉庫:

  • 自定義的數(shù)據(jù)存儲格式。
  • 自己管理數(shù)據(jù)的組織方式。
  • 強Schema數(shù)據(jù),對外提供標準的SQL接口。
  • 具有高效的計算存儲一體設(shè)計和豐富的查詢加速特性。

數(shù)據(jù)倉庫(OLAP引擎)對于數(shù)據(jù)的要求相對更加嚴格,以ClickHouse為例,必須是預(yù)先定義的強Schema數(shù)據(jù)通過JDBC寫入ClickHouse中,ClickHouse使用自己的存儲格式存儲數(shù)據(jù),并且會對數(shù)據(jù)文件進行排序或者文件合并之類的數(shù)據(jù)組織優(yōu)化,對外提供SQL接口,不會暴露內(nèi)部的數(shù)據(jù)文件,提供索引等高級的查詢加速特性,內(nèi)部的計算引擎和存儲格式也會有很多的一體協(xié)同優(yōu)化,一般認為專門的數(shù)據(jù)倉庫查詢效率會優(yōu)于數(shù)據(jù)湖架構(gòu),在B站的實踐上,大部分場景,像ClickHouse對比Spark、Presto也確實有量級上的性能提升。

圖片

在我們實際的數(shù)據(jù)處理場景中,除了AI和數(shù)據(jù)探索等場景,探索未知數(shù)據(jù)的未知問題,比較依賴數(shù)據(jù)湖架構(gòu)的靈活性,其實大部分的場景是基于已知數(shù)據(jù)的,即我們的數(shù)據(jù)開發(fā)同學(xué),實際上是基于Hive表的強Schema數(shù)據(jù),進行從ODS,DWD,DWB到ADS等各個業(yè)務(wù)數(shù)倉的分層建設(shè),本質(zhì)上我們是主要是基于數(shù)據(jù)湖的架構(gòu)進行業(yè)務(wù)數(shù)倉的建設(shè),如何提升這部分場景的查詢效率,使用成本和用戶體驗是我們在這方面工作的核心內(nèi)容。

湖倉一體是近兩年大數(shù)據(jù)一個非常熱門的方向,如何在同一套技術(shù)架構(gòu)上同時保持湖的靈活性和倉的高效性是其中的關(guān)鍵。常見的是兩條技術(shù)路線:一條是從分布式數(shù)倉向湖倉一體演進,在分布式數(shù)倉中支持CSV、JSON、ORC、PARQUET等開放存儲格式,將數(shù)據(jù)的處理流程從ETL轉(zhuǎn)換為ELT,數(shù)據(jù)注入到分布式數(shù)倉后,在分布式數(shù)倉中進行業(yè)務(wù)數(shù)倉的建模工作,比如AWS RedShift及SnowFlake等;另外一條是從數(shù)據(jù)湖向湖倉一體演進,基于開放的查詢引擎和新引入的開放表存儲格式達到分布式數(shù)倉的處理效率,這方面閉源商業(yè)產(chǎn)品的代表是DataBricks SQL,他們基于兼容Spark API的閉源Photon內(nèi)核和DeltaLake存儲格式以及S3對象存儲的湖倉一體架構(gòu),宣稱在TPC-DS Benchmark上性能超過專門的云數(shù)據(jù)倉庫SnowFlake。在開源社區(qū)領(lǐng)域,Iceberg、Hudi、DeltaLake等項目的出現(xiàn)也為在SQL on Hadoop的數(shù)據(jù)湖技術(shù)方案上實現(xiàn)湖倉一體提供了基礎(chǔ)的技術(shù)儲備。在B站,基于我們之前的技術(shù)棧和實際的業(yè)務(wù)場景,我們選擇了第二個方向,從數(shù)據(jù)湖架構(gòu)向湖倉一體演進。

三、B站的湖倉一體架構(gòu)

對于B站的湖倉一體架構(gòu),我們想要解決的問題主要有兩個:一是鑒于從Hive表出倉到外部系統(tǒng)(ClickHouse、HBase、ES等)帶來的復(fù)雜性和存儲開發(fā)等額外代價,盡量減少這種場景出倉的必要性。二是對于基于SQL on Hadoop的分析查詢場景,提升查詢效率,降低成本。我們基于Iceberg構(gòu)建了我們的湖倉一體架構(gòu),在具體介紹B站的湖倉一體架構(gòu)之前,我覺得有必要先討論清楚兩個問題,為什么Iceberg可以構(gòu)建湖倉一體架構(gòu),以及我們?yōu)槭裁催x擇Iceberg?

1、為什么基于Iceberg可以構(gòu)建湖倉一體架構(gòu)?

對比開放的SQL引擎、存儲格式如:Presto、Spark、ORC、Parquet和分布式數(shù)倉如:ClickHouse、SnowFlake對應(yīng)層的實現(xiàn),其實差別不大,開源分布式引擎一直在逐漸補足SQL Runtime和存儲層的一些影響性能的高級特性,比如Runtime CodeGen,向量化執(zhí)行引擎,基于statistic的CBO,索引等等,當前兩者最大的一個不同在于對于數(shù)據(jù)組織的管理能力。

對于數(shù)據(jù)湖架構(gòu)來說,數(shù)據(jù)文件在HDFS的分布組織是由寫入任務(wù)決定的,而對于分布式數(shù)倉來說,數(shù)據(jù)一般是通過JDBC寫入,數(shù)據(jù)的存儲組織方式是由數(shù)倉本身決定的,所以數(shù)倉可以按照對于查詢更加友好的方式組織數(shù)據(jù)的存儲,比如對數(shù)據(jù)文件定期compact到合適的大小或者對數(shù)據(jù)進行合理排序和分組,對于大規(guī)模的數(shù)據(jù)來說,數(shù)據(jù)的優(yōu)化組織可以大大提高查詢的效率。

Iceberg、Hudi、DeltaLake等新的表存儲格式的出現(xiàn),最主要的特性就是可以在HDFS上自組織管理表的metadata信息,從而提供了表數(shù)據(jù)的Snapshot及粗粒度的事務(wù)支持能力,基于此,我們可以在開放的查詢引擎之外,異步地,透明地對Iceberg、Hudi、DeltaLake格式的數(shù)據(jù)進行重新的數(shù)據(jù)組織優(yōu)化,從而達到了分布式數(shù)倉類似的效果。

2、為什么選擇Iceberg?

Iceberg、Hudi以及DeltaLake是基本同時期出現(xiàn)的開源表存儲格式項目,整體的功能和定位也是基本相同,網(wǎng)上已經(jīng)有很多相關(guān)對比介紹的文章,這里就不詳細比較了,我們選擇Iceberg的主要原因是:Iceberg在三個里面是表存儲格式抽象的最好的,包括讀寫引擎、Table Schema、文件存儲格式都是pluggable的,我們可以進行比較靈活的擴展,并保證和開源以及之前版本的兼容性,基于此我們也比較看好該項目的長遠發(fā)展。

下圖是我們整體的湖倉一體架構(gòu),支持開放的Spark、Flink等引擎從Kafka、HDFS接入數(shù)據(jù),然后Magnus服務(wù)會異步地拉起Spark任務(wù)對Iceberg數(shù)據(jù)進行重新的存儲組織優(yōu)化,我們主要是用Trino作為查詢引擎,并引入Alluxio做Iceberg的元數(shù)據(jù)和索引數(shù)據(jù)的緩存加速。

圖片

1)Magnus:Iceberg智能管理服務(wù)

Magnus是我們湖倉一體架構(gòu)的核心組件,它負責管理優(yōu)化所有的Iceberg表中的數(shù)據(jù)。Iceberg本身是一個表存儲格式,雖然其項目本身提供了基于Spark、Flink等用于合并小文件,合并metadata文件或者清理過期Snapshot數(shù)據(jù)等Action Job,但是要依賴外部服務(wù)調(diào)度這些Action Job,而Magnus正是承擔這個角色。

我們對Iceberg進行了擴展,當Iceberg表發(fā)生更新的時候,會發(fā)送一個event信息到Magnus服務(wù)中,Magnus服務(wù)維護一個隊列用于保存這些commit event信息,同時Magnus內(nèi)部的Scheduler調(diào)度器會持續(xù)消費event隊列,并根據(jù)對應(yīng)Iceberg表的元數(shù)據(jù)信息及相關(guān)的策略決定是否及如何拉起Spark任務(wù)優(yōu)化Iceberg表的數(shù)據(jù)組織。

圖片

2)Iceberg內(nèi)核增強

對于豐富的多維分析場景,我們也有針對性的在Iceberg內(nèi)核和其他方面進行了定制化增強,這里簡要介紹兩個方面:Z-Order排序和索引。

3、Z-Order排序

Iceberg在表的metadata中記錄了文件級別每個列的MinMax信息,并且支持小文件合并以及全局Linear排序(即Order By),這兩者配合起來,我們可以在很多查詢場景實現(xiàn)非常好的DataSkiping效果,比如我們對于某個Iceberg表的數(shù)據(jù)文件按照字段a進行全局排序后,如果后續(xù)查詢帶有a的過濾條件,查詢引擎會通過PredictePushDown把過濾條件下推到文件訪問層,我們就可以根據(jù)MinMax索引把所有不需要的文件直接跳過,只訪問數(shù)據(jù)所在的文件即可。

在多維分析的實際場景中,一般都會有多個常用的過濾字段,Linear Order只對靠前字段有較好的Data Skip效果,通常會采用將低基數(shù)字段作為靠前的排序字段,從而才能保證對于后面的排序字段在過濾時也有一定的Data Skipping效果,但這無法從根本上解決問題,需要引入一種新的排序機制,使得多個常用的過濾字段均能夠獲得比較好的Data Skipping效果。

Interleaved Order(即Z-Order)是在圖像處理以及數(shù)倉中使用的一種排序方式,Z-ORDER曲線可以以一條無限長的一維曲線,穿過任意維度的所有空間,對于一條數(shù)據(jù)的多個排序字段,可以看作是數(shù)據(jù)的多個維度,多維數(shù)據(jù)本身是沒有天然的順序的,但是Z-Order通過一定規(guī)則將多維數(shù)據(jù)映射到一維數(shù)據(jù)上,構(gòu)建z-value,從而可以基于一維數(shù)據(jù)進行排序,此外Z-Order的映射規(guī)則保證了按照一維數(shù)據(jù)排序后的數(shù)據(jù)同時根據(jù)多個排序字段聚集。

參考wikipedia中的Z-Order介紹,可以通過對兩個數(shù)據(jù)比特位的交錯填充來構(gòu)建z-value,如下圖所示,對于(x, y)兩維數(shù)據(jù),數(shù)據(jù)值 0 ≤ x ≤ 7, 0 ≤ y ≤ 7,構(gòu)建的z-values以及z-order順序如下:

圖片

可以看到,如果根據(jù)z-values的順序?qū)?shù)據(jù)進行排序,并平均分為4個文件,無論我們在查詢中使用x還是y字段過濾進行點查詢,都可以skip一半的不相干文件,如果數(shù)據(jù)量更大,效果會更好,也就是說,基于Z-Order分區(qū)存儲的文件,可以在多個字段上擁有比較好的Data Skipping效果。我們對Spark進行了增強,支持Z-Order Range Partitioner用于對Iceberg數(shù)據(jù)進行文件間的排序組織,擴展了Iceberg表的元信息,用戶可以自定義期望的Iceberg表的Distribution信息,支持按照Hash、Range、Z-Order等方式進行文件間數(shù)據(jù)排序,以及對應(yīng)的OptimizeAction用于拉起Spark任務(wù),按照用戶定義的Distribution信息對Iceberg表進行重組織。具體詳情可查詢參考文獻[1](通過數(shù)據(jù)組織加速大規(guī)模數(shù)據(jù)分析)。

4、索引

Iceberg默認存儲文件級別每列的Min、Max信息,并用于TableScan階段的文件過濾,基本等價于分布式數(shù)倉中的MinMax索引,MinMax索引對于排序后的字段DataSkipping效果很好,但是對于非排序字段,數(shù)據(jù)隨機散布于各個文件,使用該字段過濾時,MinMax索引基本很難有文件Skip的效果,BloomFilter索引在這種場景下可以更好地發(fā)揮作用,尤其是當字段基數(shù)較大的時候。布隆過濾器實際上是一個很長的二進制向量和多個Hash函數(shù),數(shù)據(jù)通過多個函數(shù)映射到二進制向量的比特位上,布隆過濾器的空間效率和查詢時間都非常高效,非常適合用于檢索一個元素是否存在于一個集合中。

布隆過濾器的空間效率和查詢時間都非常高效,但是在使用上也有局限之處,主要是它能夠支持的過濾條件是有限的,只適用于:=、IN、NotNull等等值表達式,對于常見的Range過濾,比如>、>=、<、<=等是不支持的。為了支持更豐富的過濾表達式,我們引入了BitMap索引。BitMap也是一個非常常見的數(shù)據(jù)結(jié)構(gòu),將一組正整形數(shù)據(jù)映射到比特位,相比于BloomFilter,不存在Hash沖突的情況,所以不會出現(xiàn)False-Positive,但是一般需要更多的存儲空間。對于高基數(shù)字段的BitMap索引,落地實現(xiàn)主要的問題在于:

  • 需要存儲字段基數(shù)對應(yīng)個BitMap,存儲代價太大。
  • 在Range過濾時,使用BitMap判斷是否可以Skip文件時,需要訪問大量BitMap,讀取代價太大。

為了解決以上問題,我們引入了Bit-sliced Encoded Bitmap實現(xiàn)。具體詳情可查詢參考文獻[2](通過索引加速湖倉一體分析)。

1)在B站的落地

基于Iceberg的湖倉一體方案在B站的數(shù)據(jù)分析場景正逐漸落地,我們目前已經(jīng)支撐PB級的數(shù)據(jù)量,每天響應(yīng)幾萬個查詢,其中P90的查詢可以在1s內(nèi)響應(yīng),滿足了多個運營分析數(shù)據(jù)服務(wù)交互式分析的需求。接下來,我們希望能夠?qū)⒑}一體架構(gòu)作為我們OLAP數(shù)倉建模的基礎(chǔ),統(tǒng)一大部分的業(yè)務(wù)數(shù)倉分析層數(shù)據(jù)的存儲和查詢,簡化技術(shù)架構(gòu),提升查詢效率,節(jié)省資源成本。

四、總結(jié)和展望

相比于傳統(tǒng)的SQL on Hadoop技術(shù)棧,基于Iceberg的湖倉一體架構(gòu),在保證了和已有Hadoop技術(shù)棧的兼容性情況下,提供了接近分布式數(shù)倉的分析效率,兼顧了湖的靈活性和倉的高效性,從我們落地實踐的經(jīng)驗看,對于用戶基本透明,只是一種新的Hive表存儲格式,沒有更多使用和認知的門檻,和已有的大數(shù)據(jù)平臺工具和服務(wù)也能非常小代價地集成。為了進一步提高在不同場景的查詢效率和使用體驗,我們還在以下方向?qū)ceberg進行進一步的增強:

  • 星型模型的數(shù)據(jù)分布組織,支持按照維度表字段對事實表數(shù)據(jù)進行排序組織和索引。
  • 預(yù)計算,通過預(yù)計算對固定查詢模式進行加速。
  • 智能化,自動采集用戶查詢歷史,分析查詢模式,自適應(yīng)調(diào)整數(shù)據(jù)的排序組織和索引等。

后續(xù)的進展我們會持續(xù)更新,歡迎感興趣的小伙伴來和我們一起交流溝通。?

責任編輯:張燕妮 來源: 嗶哩嗶哩技術(shù)
相關(guān)推薦

2023-05-26 06:45:08

2021-06-11 14:01:51

數(shù)據(jù)倉庫湖倉一體 Flink

2024-03-05 08:21:23

湖倉一體數(shù)據(jù)湖數(shù)據(jù)倉庫

2021-06-07 10:45:16

大數(shù)據(jù)數(shù)據(jù)倉庫數(shù)據(jù)湖

2023-04-19 15:52:15

ClickHouse大數(shù)據(jù)

2023-12-14 13:01:00

Hudivivo

2023-06-28 07:28:36

湖倉騰訊架構(gòu)

2023-03-27 21:24:18

架構(gòu)數(shù)據(jù)處理分析服務(wù)

2025-08-21 09:29:11

2022-12-13 17:42:47

Arctic存儲湖倉

2024-02-20 07:55:48

數(shù)據(jù)平臺架構(gòu)湖倉一體Alluxio

2021-06-07 11:22:38

大數(shù)據(jù)數(shù)據(jù)倉庫湖倉一體

2023-08-30 07:14:27

MaxCompute湖倉一體

2023-06-19 07:13:51

云原生湖倉一體

2025-09-08 06:05:00

Kubernetes數(shù)據(jù)湖大數(shù)據(jù)

2022-09-29 09:22:33

數(shù)據(jù)倉

2020-12-02 17:20:58

數(shù)據(jù)倉庫阿里云數(shù)據(jù)湖

2023-05-16 07:24:25

數(shù)據(jù)湖快手
點贊
收藏

51CTO技術(shù)棧公眾號

色欧美88888久久久久久影院| 久久国产精品99久久久久久老狼| 精品国产麻豆免费人成网站| 久久99中文字幕| 丰满肥臀噗嗤啊x99av| 99国产成+人+综合+亚洲欧美| 亚洲精品一二区| 污网站免费在线| 欧美人与性动交α欧美精品济南到 | 亚洲老头老太hd| 加勒比成人在线| av网站在线免费播放| 成人午夜在线视频| 国产精品日韩专区| 国产 日韩 欧美 成人| 成人av动漫在线观看| 欧美一区二区三区精品| 久久久久久久久久久久久国产精品| 北岛玲日韩精品一区二区三区| 国产精品99久久久久久久女警| 日韩av免费在线| 麻豆成人在线视频| 日韩久久综合| 亚洲美女喷白浆| 中文字幕在线播放一区二区| 欧美日韩国产网站| 亚洲.国产.中文慕字在线| 老司机av福利| 番号集在线观看| 久久国产精品99久久久久久老狼| 国色天香2019中文字幕在线观看| 一本在线免费视频| 群体交乱之放荡娇妻一区二区 | 最好看的日本字幕mv视频大全| 在线观看不卡| 久久国产精品久久久| 亚洲日本精品视频| 久久精品福利| 欧美一级理论片| 少妇一级淫免费放| 中文字幕资源网在线观看免费 | 女女同性女同一区二区三区按摩| 日韩精品视频无播放器在线看| 国产麻豆成人传媒免费观看| 国产狼人综合免费视频| 日韩三级一区二区| 嫩草成人www欧美| 97人人做人人爱| 免费无遮挡无码永久在线观看视频 | 不卡专区在线| 一区二区久久久久久| 日本黄色播放器| 91成人高清| 国产丝袜美腿一区二区三区| 欧美成人蜜桃| 色视频免费在线观看| 成人精品一区二区三区中文字幕| 亚洲中国色老太| 国产精品无码白浆高潮| 激情五月婷婷综合网| 国产乱人伦真实精品视频| 在线观看色网站| 蜜桃久久久久久久| 国产在线视频不卡| 91精品在线视频观看| 另类小说一区二区三区| 成人性生交大片免费看视频直播 | 动漫性做爰视频| 香蕉久久网站| 免费成人高清视频| 欧美日韩免费做爰视频| 亚洲性人人天天夜夜摸| 亚州国产精品久久久| 少妇一级淫片免费放中国 | 免费国产羞羞网站视频| 成人午夜电影久久影院| 久久久久久99| 高清av在线| 亚洲国产精彩中文乱码av| 亚洲国产精品综合| 午夜视频在线观看免费视频| 国产精品入口麻豆原神| 欧美日韩视频免费在线观看| 先锋影音在线资源站91| 午夜国产不卡在线观看视频| 99久久激情视频| 亚洲成a人片777777久久| 日韩一区二区免费电影| 呦呦视频在线观看| 激情综合网站| 久久亚洲欧美日韩精品专区 | 国产欧美日韩精品一区二区三区| 国产亚洲xxx| √天堂中文官网8在线| 亚洲一级电影| 国产精品成人v| 国产sm主人调教女m视频| aa级大片欧美| 一区二区三区视频| av漫画网站在线观看| 日本韩国一区二区| 一级黄色大片免费看| 国产欧美一区二区三区精品观看 | 国产免费嫩草影院| 国自产拍偷拍福利精品免费一| 国产aⅴ夜夜欢一区二区三区| 一级片视频免费| www.日韩在线| 一区二区视频在线观看| 98色花堂精品视频在线观看| 欧美猛男男办公室激情| 青青草视频播放| 91精品一区二区三区综合| 茄子视频成人在线| www.成人免费视频| 国产亚洲欧洲一区高清在线观看| 激情图片qvod| 日韩中文视频| 亚洲国产精品嫩草影院久久| а天堂中文在线资源| 99热精品在线观看| 91久久久久久久久久久久久| 美女做暖暖视频免费在线观看全部网址91 | 中文字幕成人动漫| 黄色亚洲大片免费在线观看| 国产欧美一区二区三区视频| 亚洲日本中文字幕在线| 亚洲影视资源网| 成人黄色一级大片| 精品福利久久久| 91精品国产精品| 亚洲av无码国产精品久久不卡 | 欧美电影免费观看高清完整| 亚洲成人av片在线观看| 欧美日韩三级在线观看 | 福利视频导航一区| 国产免费a级片| 国产精品久久久久久久久久10秀| 日韩美女主播视频| 四虎国产精品永远| 亚洲成人午夜电影| 波多野结衣网页| 图片区亚洲欧美小说区| 国产欧美精品一区二区| 在线观看麻豆蜜桃| 欧美天堂亚洲电影院在线播放| 37p粉嫩大胆色噜噜噜| 国产视频亚洲| 久久天天狠狠| 亚洲精品88| 国产视频自拍一区| 免费在线不卡视频| 97久久久精品综合88久久| 少妇高潮喷水在线观看| 美女网站色精品尤物极品姐弟| 欧美精品videofree1080p| 亚洲精品无码久久久| 亚洲小说欧美激情另类| 亚洲精品成人无码毛片| 亚洲国产高清视频| 国产亚洲欧美另类一区二区三区| √最新版天堂资源网在线| 亚洲二区中文字幕| 中文字幕亚洲精品在线| 久久久亚洲高清| 热久久精品免费视频| 日本一二区不卡| 成人精品久久久| 香蕉久久aⅴ一区二区三区| 欧美精品一区二区三区高清aⅴ| 日韩av在线电影| 26uuu国产在线精品一区二区| 黄色高清无遮挡| 91免费精品| 高清国产在线一区| 亚洲电影观看| 日韩亚洲一区二区| 午夜精品久久久久久久第一页按摩 | 麻豆亚洲av熟女国产一区二| av亚洲精华国产精华精华| 波多野结衣家庭教师视频| 国产一区二区电影在线观看| 国产精品久久久久久久天堂| 国产激情视频在线| 亚洲第一精品夜夜躁人人爽| 精品国产一区二区三区四| 国产精品每日更新在线播放网址| 99精品视频国产| 伊人成人在线| 亚洲国产精品www| 亚洲综合网站| 国产精品成人av性教育| 日本无删减在线| 亚洲午夜激情免费视频| a天堂中文在线观看| 狠狠躁夜夜躁久久躁别揉| 日韩一区二区三区四区视频| 成人午夜大片免费观看| 亚洲成人福利在线| 亚洲一级高清| 亚洲国产日韩美| 国产无遮挡裸体免费久久| 国产精品美女主播在线观看纯欲| 色爱综合区网| 一区二区三区无码高清视频| 亚洲成人第一区| 欧美午夜一区二区三区免费大片| 久久久久久久中文字幕| 国产精品麻豆一区二区| 国产激情第一页| 韩日欧美一区二区三区| 成人精品视频一区二区| 国产一区美女| 伊甸园精品99久久久久久| 亚洲在线视频观看| 国产精品伦一区二区| 91精品国产91| 欧美xxxx免费虐| 久久天天躁狠狠躁夜夜躁2014| 国产网站在线播放| 亚洲精品www| 精品人妻aV中文字幕乱码色欲 | 亚洲xxx在线| 欧美日韩中字一区| 秋霞精品一区二区三区| 亚洲国产另类精品专区| 粉嫩av性色av蜜臀av网站| 日本一区二区三区在线不卡| 97人妻精品一区二区三区免| 成人99免费视频| 色黄视频免费看| 蓝色福利精品导航| 精品少妇无遮挡毛片| 午夜亚洲一区| cao在线观看| 欧美特黄a级高清免费大片a级| 黄色免费高清视频| 日韩欧美自拍| 亚洲国产日韩综合一区| 精品成人影院| 日韩激情视频| 久久综合色占| 日韩精品欧美在线| 国产精品欧美日韩一区| 欧美性色黄大片人与善| 亚洲精品无吗| 狼狼综合久久久久综合网| 偷拍一区二区| 蜜桃网站成人| 国产亚洲一区二区三区啪| 欧美一区2区三区4区公司二百| 亚洲三级性片| 欧美精品一区二区三区久久| 亚洲精品进入| 日本精品一区| 成人在线免费观看网站| 一个色的综合| 亚洲综合婷婷| 欧美中文字幕在线观看视频| 黄色另类av| 黄色片视频在线免费观看| 亚洲欧美日本国产专区一区| 六月丁香婷婷在线| 日韩黄色一级片| 污网站在线免费| 国产剧情一区二区| 亚洲一区和二区| 99综合电影在线视频| 制服 丝袜 综合 日韩 欧美| 国产精品免费网站在线观看| 成人免费视频网站入口::| 亚洲综合久久久久| 国产婷婷色一区二区在线观看| 欧美影院一区二区| 国产情侣在线播放| 亚洲第一中文字幕| 国产视频第一区| 伦理中文字幕亚洲| 国产高潮在线| 国产精品美女午夜av| 日本免费精品| 久久99欧美| 久久一级电影| www.九色.com| 日韩精品免费专区| 成人免费播放视频| 久久综合久久综合久久综合| 中文字幕乱码av| 亚洲sss视频在线视频| 五月天中文字幕| 精品国产免费一区二区三区香蕉| 国产一区二区三区不卡在线| 久久久精品电影| 亚洲小少妇裸体bbw| 成人福利网站在线观看| 色吊丝一区二区| 一区二区国产日产| 亚洲欧洲一区二区天堂久久| av网站在线不卡| a美女胸又www黄视频久久| 久久久国产一级片| 精品久久香蕉国产线看观看亚洲| 亚洲视频在线免费播放| 亚洲国产精品成人精品| 日本在线观看网站| 欧美亚洲激情在线| 久久69av| 天堂精品视频| 日韩午夜免费| 91网址在线观看精品| 国产午夜久久久久| 国产精品2020| 欧美一区二区三区视频在线| 国产小视频在线| 97精品免费视频| 久久99成人| 亚洲一区二区三区涩| 亚洲资源av| 中国免费黄色片| 亚洲丝袜另类动漫二区| 中文字幕乱码人妻无码久久| 国产网站欧美日韩免费精品在线观看| 宅男网站在线免费观看| 国产精品亚洲视频在线观看| 国产欧美一区| 东京热加勒比无码少妇| 不卡av在线免费观看| 劲爆欧美第一页| 777午夜精品免费视频| а√天堂中文在线资源bt在线| …久久精品99久久香蕉国产| 136国产福利精品导航网址应用| 男人的天堂成人| 蜜臀久久99精品久久久久宅男| 国产精品1000部啪视频| 欧美日韩精品在线| 熟妇高潮一区二区三区| 欧美精品第一页在线播放| 欧美欧美在线| 最新av在线免费观看| 久久成人免费网| 无码人中文字幕| 欧美日韩成人一区| 中文字幕日本在线观看| 国产日韩欧美中文| 欧美大黑bbbbbbbbb在线| 在线免费视频一区| 国产精品理伦片| 亚洲综合一区中| 精品国偷自产在线视频99| 狠狠久久综合| 亚洲第一综合网站| 国产伦精品一区二区三区视频青涩| 欧美风情第一页| 日韩一区二区在线看| 伊人在我在线看导航| 懂色中文一区二区三区在线视频| 欧美精品入口| 日本精品一二三区| 无吗不卡中文字幕| 免费在线国产| 国产日韩中文字幕| 欧美永久精品| 亚洲一级Av无码毛片久久精品| 午夜精品久久久久久久久久| 日韩精品视频无播放器在线看| 日韩av电影在线播放| 97精品97| 久久久久无码国产精品一区李宗瑞| 午夜视频在线观看一区| 久热av在线| 成人国产在线视频| 黄色欧美日韩| 久久久久亚洲av成人无码电影| 欧美久久久久久久久| 中日韩高清电影网| 久久偷窥视频| 毛片一区二区三区| 婷婷色中文字幕| 日韩精品免费电影| 欧美国产视频| 91九色丨porny丨国产jk| 久久精品亚洲麻豆av一区二区 | 久久99蜜桃精品| 久久久久久久久久综合| 亚洲一区第一页| 精品一区二区三区四区五区 | 亚洲大胆人体在线| 日韩漫画puputoon| www.日本少妇| 国产精品蜜臀av| 色呦呦免费观看| 国产一区欧美二区三区| 99成人在线| 免费成年人视频在线观看| 亚洲美女av在线播放| 国产精品视频一区二区三区| 久久精品香蕉视频| 一区二区三区四区中文字幕| 黑人与亚洲人色ⅹvideos|