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

Doris為什么那么快?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
在絕大多數(shù)場景之中,用戶只需要將session變量enable_vectorized_engine設置為true,則FE在進行查詢規(guī)劃時就會默認將SQL算子與SQL表達式轉換為向量化的執(zhí)行計劃,從而提升SQL執(zhí)行性能。

01存儲引擎

對于一個分析型數(shù)據(jù)庫,最核心的三個組成部分就是存儲引擎、查詢引擎和查詢優(yōu)化器,這也是Doris極致性能的決定因素。在此之外,向量化執(zhí)行引擎的加入,讓CPU的能力得到了更充分的發(fā)揮,更進一步提升了Doris查詢性能。

和大多數(shù)分析型數(shù)據(jù)庫一樣,Doris也是以列存格式存儲數(shù)據(jù)的。數(shù)據(jù)按照列進行連續(xù)存儲,因為類型相同,因此可以獲得極高的壓縮率,節(jié)省磁盤空間。Doris對不同列的數(shù)據(jù)類型還提供了不同的編碼方式,如INT類型會使用BitShuffle的編碼方式,而字符串類型會使用字典編碼。更進一步,Doris還會自動根據(jù)列的值分布情況來切換編碼類型。比如對于字符串類型,如果列的去重值比較多,則不再使用字典編碼,而直接切換到Plain Text編碼,以避免不必要的空間浪費。

從文件組織形式上,Doris的文件格式和Parquet比較類似。一個數(shù)據(jù)版本會被分割成最大空間為256MB一個的Segment,每個Segment對應一個物理文件。Segment通常分為Header、Data Region、Index Region、Footer幾個部分。Data Region 用于按列存儲數(shù)據(jù),每一列又被分為多個Page,而Page是Doris的最小數(shù)據(jù)存取單元,如圖1所示。

圖片

▲圖1 Doris文件格式

Index Region負責存儲數(shù)據(jù)的索引。Doris提供了豐富的索引結構來幫助加速數(shù)據(jù)的讀取和過濾。索引的類型大體可以分為智能索引和二級索引兩種。其中智能索引是在Doris數(shù)據(jù)寫入時自動生成的,無須用戶干預,包括前綴稀疏索引、Min Max索引等。而二級索引是用戶可以選擇性地在某些列上添加的輔助索引,需要用戶自主選擇是否創(chuàng)建,比如像Bloom Filter、Bitmap倒排索引等。

前綴稀疏索引是建立在排序結構上的一種索引。存儲在文件中的數(shù)據(jù)是按照排序列有序存儲的。Doris會在排序列數(shù)據(jù)上,每1024行創(chuàng)建一個稀疏索引項,如圖2所示。索引的Key即當前這1024行中第一行的前綴排序列的值。當用戶的查詢條件包含這些排序列是,我們可以通過前綴稀疏索引快速的定位到起始行。

圖片

▲圖2 Doris前綴稀疏索引和Min Max索引示例

Min Max索引是建立在Segment和Page級別的索引。對于Page中的每一列,Min Max索引都會記錄這個Page中的最大值和最小值,同樣,在Segment級別也會對每一列的最大值和最小值進行記錄。這樣當進行等值或范圍查詢時,可以通過Min Max索引快速過濾掉不需要讀取的行。

Bloom Filter(布隆過濾器)是一種需要用戶自主選擇是否創(chuàng)建的索引。當對某一列創(chuàng)建Bloom Filter索引后,Doris會在page級別創(chuàng)建該列的Bloom Filter結構。Bloom Filter是一種使用固定空間的位圖來快速判斷一個值是否存在的數(shù)據(jù)結構,這種數(shù)據(jù)結構非常適合用于高基數(shù)列上的等值查詢,比如UUID。

Bitmap也是一種需要用戶自主選擇是否創(chuàng)建的索引。Bitmap索引是一種基于位圖的數(shù)據(jù)結構,其Key值是實際的列值,而Value值是key在數(shù)據(jù)文件中的offset 。通過Bitmap索引,Doris可以很快定位到列值對應的行號,進行快速取數(shù)。這種索引比較合適在基數(shù)較低的列上進行等值查詢的場景,比如城市等。

除了存儲方式和索引結構,Doris在讀取邏輯上也有很多優(yōu)化。比如延遲物化功能會先根據(jù)有索引的列,定位到一個數(shù)據(jù)范圍,然后再根據(jù)有過濾條件的列進行進一步過濾來縮小數(shù)據(jù)范圍,最后再讀取其他需要讀取的列。這種方式可以很大程度上減少不必要的數(shù)據(jù)讀取,降低查詢請求對I/O的資源消耗。

02查詢引擎

Doris的查詢引擎是基于MPP的火山模型,是從早期版本的Apache Impala演化而來的。在Doris中,一個SQL語句會先生成一個邏輯執(zhí)行計劃,然后根據(jù)數(shù)據(jù)的分布,形成一個物理執(zhí)行計劃。物理執(zhí)行計劃會有多個Fragment,而Fragment之間的數(shù)據(jù)傳輸則是由Exchange模塊完成的。通過Exchange模塊,Doris在執(zhí)行整個查詢的時候就有了數(shù)據(jù)重分布(Reshuffle)的能力,查詢不再局限于數(shù)據(jù)的存儲節(jié)點,從而能夠更好地利用多節(jié)點資源進行并行數(shù)據(jù)處理。執(zhí)行框架如圖3所示。

圖片

▲圖3 MPP框架執(zhí)行流程示意圖

邏輯執(zhí)行計劃的Agg階段變成了物理執(zhí)行計劃中的先重分布然后匯總的兩個步驟,這個過程和Hadoop是類似的,都是按照相同的Key進行數(shù)據(jù)重分布。

除了整體的執(zhí)行框架通過并行設計來提高查詢效率外,Doris 還對很多具體的查詢算子進行了優(yōu)化。比如圖4種的聚合算子。

圖片

▲圖4 聚合算子

在Doris中,聚合算子會被拆分成兩級聚合。第一級聚合會在數(shù)據(jù)所在節(jié)點先進行一次本地聚合,以減少發(fā)送到第二層聚合時需要傳輸?shù)臄?shù)據(jù)量,而第二級聚合會將Key相同的數(shù)據(jù)匯聚到同一個節(jié)點,進行最終的聚合計算。

在此基礎上,Doris還實現(xiàn)了自適應的聚合算法。首先我們要知道,聚合算子是一種阻塞型算子,需要等到全部數(shù)據(jù)處理完成后,才會將數(shù)據(jù)發(fā)送給上層節(jié)點。而自適應聚合算法的意思是,在第一級聚合算子中,如果發(fā)現(xiàn)數(shù)據(jù)的聚合效果很低,即使聚合后也無法有效降低需要傳輸?shù)臄?shù)據(jù)量,則會自動停止第一級聚合,而將算子轉換為一個非阻塞的流式算子,直接將讀取到的數(shù)據(jù)發(fā)送到上層節(jié)點,從而避免不必要的阻塞等待時間。

針對Join算子,Doris也進行了大量優(yōu)化,其中Runtime Filter是很重要的一種優(yōu)化方式。在兩個表的Join操作中,我們通常將右表稱為BuildTable,而將左表稱為ProbeTable。在實現(xiàn)上,通常首先讀取右表的數(shù)據(jù),在內存中構建一個HashTable,然后開始讀取左表的每一行數(shù)據(jù),并在HashTable中進行連接匹配,返回符合連接條件的數(shù)據(jù)。通常來說,左表的數(shù)據(jù)量會大于右表的數(shù)據(jù)量。

而Runtime Filter的設計思路,是在右表構建HashTable的同時,為連接列生成一個過濾結構。之后把這個過濾結構推給左表。這樣,左表就可以利用過濾結構,對數(shù)據(jù)進行過濾,從而減少Probe節(jié)點需要傳輸和比對的數(shù)據(jù)量。這種過濾結構被稱為Runtime Filter。針對不同的數(shù)據(jù),Doris也實現(xiàn)了不同類型的過濾器,例如In Predicate,Bloom Filter和Min Max。用戶可以根據(jù)不同場景選擇不同的過濾器。Runtime Filter實現(xiàn)邏輯示意圖如圖5所示。

圖片

▲圖5 Runtime Filter實現(xiàn)邏輯示意圖

Runtime Filter可以適用于大部分Join場景,包括節(jié)點的自動穿透,將Filter穿透下推到最底層的掃描節(jié)點,例如分布式Shuffle Join中,將多個節(jié)點產(chǎn)生的Filter進行合并后再下推數(shù)據(jù)讀取節(jié)點等。

03查詢優(yōu)化器

除了查詢執(zhí)行層方面的優(yōu)化,Doris 在查詢優(yōu)化器方面也做了大量工作。Doris中的查詢優(yōu)化器能夠同時進行基于規(guī)則和基于代價的查詢優(yōu)化。在基于規(guī)則的查詢優(yōu)化方面,Doris包括但不限于以下優(yōu)化規(guī)則。

1)常量折疊。常量折疊可以預先對常量表達式進行計算,計算后的結果有助于規(guī)劃器進行分區(qū)分桶裁剪,以及執(zhí)行層利用索引進行數(shù)據(jù)過濾等。例如將where event_dt>=cast(add_months(now(),-1) as date)折算成where event_dt >=’2022-02-20’[14] [15] (編寫本節(jié)時是2022年3月20日晚上)。

2)子查詢改寫。將子查詢改寫為Join操作,從而利用Doris在Join上做的一系列優(yōu)化來提升查詢效率。例如select * from tb1 where col1 in (select col2 from tb2) a改寫成select tb1.* from tb1 inner join tb2 on tb1.col1=tb2.col2。

3)提取公共表達式。提取公共表達式可以將SQL中的一些析取范式轉換成和取范式,而和取范式通常對執(zhí)行引擎是比較友好,可以將查詢條件重組或者下推,減少數(shù)據(jù)掃描和讀取的行數(shù)。例如將條件where (a>1 and b=2) or (a>1 and b=3) or (a>1 and b=4)轉化成 where a>1 and b in (2,3,4),明顯后者的判斷速度比前者的快很多。

4)智能預過濾。智能預過濾可以將SQL中的析取范式轉換成和取范式并提煉出公共條件部分。這些公共條件可以預先過濾部分數(shù)據(jù),從而減少數(shù)據(jù)處理量。

5)謂詞下推也是查詢優(yōu)化器常見的優(yōu)化手段。Doris中的謂詞下推不僅可以穿透算子,更能進一步地下推到存儲引擎,利用數(shù)據(jù)索引進行數(shù)據(jù)的過濾,如圖6所示。

圖片

▲圖6 Doris中的謂詞下推示意圖

而在基于代價的查詢優(yōu)化方面,Doris主要針對Join算子進行了大量優(yōu)化。

Join Reorder功能可以通過一些表的統(tǒng)計信息,自動的調整Join的順序。而Join順序的調整,會顯著降低Join操作中生成的中間數(shù)據(jù)集的大小,從而加速查詢的執(zhí)行,如圖7所示。

圖片

▲圖7 Doris Join Reorder優(yōu)化示意圖

Colocation Join可以利用數(shù)據(jù)的分布情況,將原本需要Shuffle后才能進行Join的數(shù)據(jù),在本地即可完成Join操作,從而避免了Shuffle時大量的網(wǎng)絡數(shù)據(jù)傳輸。如圖8所示。

圖片

▲圖8 Doris Colocation Join示意圖

Bucket Join是Colocation Join的通用版本。在Colocation Join中,用戶需要在建表時就指定表的分布,以保證需要關聯(lián)查詢的若干個表有相同的數(shù)據(jù)分布。而Bucket Join會更智能地自動判斷SQL中的關聯(lián)條件和數(shù)據(jù)分布之間的關系,將原本需要同時Shuffle的左右兩張表的數(shù)據(jù)的操作,變成僅將右表數(shù)據(jù)重分布到左表所在的節(jié)點,從而減少數(shù)據(jù)的移動量。如圖9所示。

圖片

▲圖9 Doris Bucket Join示意圖

04向量化執(zhí)行引擎

傳統(tǒng)的數(shù)據(jù)庫都是典型的迭代模型,執(zhí)行計劃里面的每個算子通過調用下一個算子的next()方法來獲取數(shù)據(jù),數(shù)據(jù)從最底層的數(shù)據(jù)塊中一條一條的讀取處理最終返回給客戶,它的問題在于每個tuple(也叫元組,是一種常見的編程數(shù)據(jù)類型,和數(shù)組類似,但是元組的元素可以是不同的類型)都要調用一次函數(shù),調用開銷太大,而且因為CPU每次只處理一條數(shù)據(jù),無法利用[18] [19] CPU技術升級帶來的新特性,比如SIMD。向量化模型每次處理的是一批數(shù)據(jù),這些數(shù)據(jù)會被保存在一種叫作向量的數(shù)據(jù)結構里面,然后因為每次處理的是一批數(shù)據(jù),因此可以在每個Batch內部可以做各種優(yōu)化。簡單的說,向量化執(zhí)行引擎 = 高效的向量數(shù)據(jù)結構(Vector)+ 批量化處理模型(nextBatch) + Batch內性能優(yōu)化(例如SIMD等)。

原本向量化執(zhí)行引擎只是一個概念,是ClickHouse將其變成了現(xiàn)實,率先在數(shù)據(jù)庫產(chǎn)品中實現(xiàn)了向量化執(zhí)行引擎并展示出強悍性能。通過向量化執(zhí)行引擎原理的介紹,我們可以看出,向量化執(zhí)行引擎非常適合基于列存儲的OLAP數(shù)據(jù)庫,可以極大的提高并行查詢效率。在ClickHouse之后,OLAP數(shù)據(jù)庫實現(xiàn)向量化執(zhí)行引擎幾乎已經(jīng)成為標配。目前,除了Doris以外,polar-x、TDSQL都聲稱部分或者全部實現(xiàn)了向量化執(zhí)行引擎功能。

Doris是在0.15版本引入向量化執(zhí)行引擎功能的,并在1.0版本中逐漸成熟。根據(jù)Doris的演進計劃,向量化執(zhí)行引擎會逐步替換當前Doris的行式SQL執(zhí)行引擎,以充分釋放現(xiàn)代CPU的計算能力,實現(xiàn)更強悍的查詢性能。

在絕大多數(shù)場景之中,用戶只需要將session變量enable_vectorized_engine設置為true,則FE在進行查詢規(guī)劃時就會默認將SQL算子與SQL表達式轉換為向量化的執(zhí)行計劃,從而提升SQL執(zhí)行性能。

關于作者:王春波,資深大數(shù)據(jù)架構師,現(xiàn)就職于一家互聯(lián)網(wǎng)公司,任高級數(shù)倉工程師,負責電商數(shù)倉項目;在銀行業(yè)、零售行業(yè)深耕多年,參與和負責過多家銀行、零售數(shù)據(jù)分析實施項目;“數(shù)據(jù)中臺研習社”號主,《Doris實時數(shù)倉實戰(zhàn)》《高效使用Greenplum:入門、進階與數(shù)據(jù)中臺》作者。

責任編輯:武曉燕 來源: 數(shù)倉寶貝庫
相關推薦

2021-06-09 09:32:58

Esbuild 工具前端

2023-10-15 12:23:10

單線程Redis

2020-07-29 08:06:30

Kafka MQ消息

2019-10-18 14:54:04

Kafka寫入磁盤

2019-05-10 09:47:33

2020-02-27 21:03:30

調度器架構效率

2020-08-03 07:50:56

存儲對象存儲

2024-02-26 21:15:20

Kafka緩存參數(shù)

2020-02-27 15:44:41

Nginx服務器反向代理

2022-01-24 14:42:03

手機技術廠商

2024-04-03 09:23:31

ES索引分析器

2017-03-25 21:32:40

Python編碼

2020-03-30 15:05:46

Kafka消息數(shù)據(jù)

2019-10-18 09:40:19

程序員固態(tài)硬盤Linux

2022-02-21 10:06:14

自動駕駛汽車智能

2015-06-05 14:15:13

程序員難升職

2025-05-27 02:20:00

PG數(shù)據(jù)庫DBA

2017-01-21 14:57:43

Linuxsystemd

2023-11-20 17:38:07

Djangoagtailadmin

2023-08-29 07:46:08

Redis數(shù)據(jù)ReHash
點贊
收藏

51CTO技術棧公眾號

国产欧美高清在线| 国产日韩在线观看av| 香蕉视频色在线观看| 麻豆av在线播放| 91视频精品在这里| 国产精品色视频| 国产探花在线视频| 日韩免费成人| 一本一道波多野结衣一区二区| 精品国产一区二区三区在线观看| 在线观看av网页| 久久亚洲导航| 欧美激情中文不卡| 18成人免费观看网站下载| 日韩成人免费在线观看| 日韩免费视频| 亚洲精品久久久久中文字幕二区| 免费在线观看视频a| 国产一二三在线观看| 国产精品综合av一区二区国产馆| 国产69精品久久久久久| 亚洲视频重口味| 国产精品美女在线观看直播| 欧美日韩在线三级| 免费观看美女裸体网站| 看女生喷水的网站在线观看| 久久综合网色—综合色88| 亚洲a中文字幕| 台湾佬中文在线| 日韩欧美高清| 日韩经典第一页| 在线成人精品视频| 欧美成人高清视频在线观看| 欧美性高跟鞋xxxxhd| 成人免费在线视频播放| 免费大片在线观看www| 91美女视频网站| 国产精品乱子乱xxxx| 97人妻精品一区二区三区动漫 | 日本不卡一二三区黄网| 欧美日本黄视频| 日韩精品一区二区亚洲av性色 | 粉嫩av一区二区三区| 国产在线观看一区二区三区| 亚洲 欧美 中文字幕| 亚洲美女色禁图| 欧美激情亚洲自拍| 免费黄色在线网址| 精品一区不卡| 永久免费毛片在线播放不卡| 一本色道久久综合亚洲精品图片| 国产成人久久精品一区二区三区| 欧美日韩视频在线一区二区| 性生交免费视频| 日本久久免费| 欧美午夜美女看片| 久章草在线视频| 天堂中文最新版在线中文| 精品久久久久久久久中文字幕| 桥本有菜av在线| 免费在线看黄网站| 亚洲视频你懂的| 国产精品igao激情视频| 自拍亚洲图区| 午夜私人影院久久久久| 欧美 日韩 国产在线观看| 久久不射影院| 亚洲自拍偷拍九九九| 给我免费播放片在线观看| 国产蜜臀av在线播放| 亚洲国产欧美一区二区三区丁香婷| 精品人妻人人做人人爽| 多野结衣av一区| 丰满岳妇乱一区二区三区| 欧美二区在线视频| 日韩免费小视频| 在线播放中文一区| 四虎国产精品永久免费观看视频| 91精品国产自产在线丝袜啪 | 色综合天天综合色综合av| 国产精品少妇在线视频| 欧美成人毛片| 欧美大片一区二区| www.色天使| 久久电影院7| 欧美国产日韩一区二区在线观看 | 91成人在线免费观看| 亚洲黄色a v| 91麻豆精品| 日韩亚洲欧美在线| 超碰97人人干| 小小影院久久| 91精品国产一区| 美女又爽又黄免费视频| 精品在线视频一区| 精品不卡一区二区三区| aiai在线| 亚洲成av人片| 亚洲va在线va天堂va偷拍| 国产精品极品在线观看| 日韩中文字幕视频在线观看| 国产一级中文字幕| 美女任你摸久久| 国产精品v欧美精品v日韩精品| 国产中文字幕在线视频| 亚洲一区在线视频观看| 日韩一区二区三区不卡视频| 精品国产影院| 久久中文字幕国产| 波多野结衣午夜| 成人中文字幕合集| 亚洲午夜高清视频| 色偷偷偷在线视频播放| 欧美一区二区日韩| 成年人看的免费视频| 国产深夜精品| 91久久精品一区二区别| www.视频在线.com| 欧美午夜精品久久久久久久| 日本少妇xxx| 999国产精品999久久久久久| 欧美一级片免费在线| 亚洲成人av综合| 中文字幕一区二区三区四区| 国内外成人激情视频| 538任你躁精品视频网免费| 中文字幕亚洲在线| 激情五月婷婷网| 99这里只有精品| 日韩久久久久久久久久久久| 99国内精品久久久久| 亚洲性无码av在线| 亚洲精品男人的天堂| 成人高清视频免费观看| 欧美中日韩在线| 精品一区二区三区亚洲| 丝袜美腿亚洲一区二区| 中文字幕在线视频第一页| 久久久精品国产免大香伊| 成人免费视频91| 日本在线成人| 欧美成人性色生活仑片| 97国产精品久久久| 国产精品色哟哟| 美女黄色片视频| 久久不见久久见国语| 欧美在线视频免费| 免费在线毛片| 一本大道久久a久久精品综合| 亚洲国产精品成人综合久久久| 黄色成人av网站| 国产精品福利视频| 欧美黑人猛交| 精品国产一二三区| 日本亚洲欧美在线| 99精品久久只有精品| 毛片在线视频播放| 伊人久久大香线蕉综合网蜜芽| 日本不卡高字幕在线2019| 天堂av网在线| 日本丶国产丶欧美色综合| 一级片手机在线观看| 日韩成人一级大片| 中文字幕久久综合| 国内不卡的一区二区三区中文字幕| www.日韩视频| 精品国产亚洲一区二区麻豆| 亚洲综合激情小说| 中文字幕在线看高清电影| 久久国产毛片| 亚洲视频在线二区| 中文字幕久久精品一区二区| 4438全国亚洲精品在线观看视频| 免费在线性爱视频| 91精品中文字幕一区二区三区| 久久久久亚洲av无码专区体验| 福利91精品一区二区三区| 日韩欧美亚洲天堂| 欧美军人男男激情gay| 亚洲va国产va天堂va久久| 岛国毛片av在线| 亚洲天堂网在线观看| 国产精品毛片久久久久久久av| 亚洲色图清纯唯美| 欧亚乱熟女一区二区在线| 久久中文欧美| 久久久久福利视频| 国产亚洲一区| 成人性生交大片免费看小说| av伦理在线| 这里只有精品久久| 懂色av一区二区三区四区| 日本大香伊一区二区三区| 日韩女优一区二区| 久久女同精品一区二区| 在线观看视频在线观看| 日韩精品午夜视频| 免费看日本黄色| 欧美精品一二| 国产日韩二区| 成人免费一区| 97国产精品人人爽人人做| 日本成人网址| 日韩成人中文字幕| 99国产精品久久久久99打野战| 欧美视频二区36p| 国产精品白丝喷水在线观看| 国产亚洲欧美激情| 久久国产劲爆∧v内射| 蜜乳av一区二区三区| 免费观看美女裸体网站| 一区二区影院| 午夜视频久久久| 日本午夜精品| 91超碰rencao97精品| 亚洲天堂1区| 91国产视频在线| 在线中文字幕视频观看| 尤物九九久久国产精品的特点| 人妻一区二区三区| 欧美一卡二卡在线观看| 国产成人精品一区二区色戒| 精品欧美国产一区二区三区| 精品国产乱码久久久久久鸭王1| 国产欧美日韩综合| 免费黄色在线视频| jizz一区二区| 国产精品熟妇一区二区三区四区| 国产一区在线精品| 免费激情视频在线观看| 母乳一区在线观看| 国产视频九色蝌蚪| 91久久综合| 国产日韩av网站| 999亚洲国产精| 亚洲精品蜜桃久久久久久| 欧美一区影院| 亚洲区成人777777精品| 欧美激情另类| 一区二区视频在线播放| 成人免费看片39| 色噜噜一区二区| 精品久久视频| 少妇免费毛片久久久久久久久| 免费欧美一区| 欧美日韩精品一区| 你微笑时很美电视剧整集高清不卡| 国产伦精品一区| 美日韩黄色大片| 国产二区不卡| 久久影院资源站| 久久久久久九九九九| 欧洲vs亚洲vs国产| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲成a人片77777在线播放| 久久久久欧美| 欧美伦理在线视频| 婷婷四月色综合| 91综合视频| 国产欧美自拍视频| 亚洲成人资源| 成年人观看网站| 日韩电影在线一区二区三区| av无码精品一区二区三区| 男人操女人的视频在线观看欧美| 手机免费av片| 成人黄色网址在线观看| 波多野结衣有码| 久久精品无码一区二区三区| 久久久免费看片| 亚洲靠逼com| 人人干人人干人人干| 一本大道综合伊人精品热热| 91精品中文字幕| 日韩三级精品电影久久久| 亚洲精品综合网| 亚洲人精选亚洲人成在线| 日本中文字幕电影在线免费观看| 欧美美最猛性xxxxxx| 麻豆视频在线看| 国产又爽又黄的激情精品视频 | av黄色免费在线观看| 亚洲精品视频在线| 日韩在线视频免费播放| 欧美日韩一区三区四区| 丰满人妻妇伦又伦精品国产| 亚洲社区在线观看| 色综合999| 日本高清视频精品| 精品999日本久久久影院| 免费观看成人高| 国产精品国产三级国产在线观看| 黄色大片在线免费看| 理论电影国产精品| 一起草在线视频| 中文字幕视频一区| 成人免费a视频| 717成人午夜免费福利电影| 亚洲欧美日韩动漫| 久久影院在线观看| 欧美电影免费观看| 不卡一卡2卡3卡4卡精品在| 国内精品视频在线观看| 福利在线一区二区| 久久精品国产免费| 91久久免费视频| 亚洲一区免费观看| 91片黄在线观看喷潮| 亚洲欧美综合区自拍另类| 四虎亚洲成人| 国产日韩欧美中文| 精品国产aⅴ| 免费在线观看亚洲视频| 国产精品综合网| 国精品人伦一区二区三区蜜桃| 精品久久久久久久大神国产| 国产黄a三级三级三级| 伊人av综合网| 麻豆免费在线| 国产精品自拍首页| 欧美日韩国产亚洲一区| 怡红院亚洲色图| 国产女主播一区| www亚洲色图| av一区二区不卡| 免费在线观看黄色av| 欧美日韩你懂的| 日韩电影在线观看完整版| 欧美激情视频在线| 国产高清视频一区二区| 亚洲.欧美.日本.国产综合在线| 一区二区日韩免费看| 无码任你躁久久久久久老妇| 亚洲激情图片小说视频| 国产情侣自拍小视频| y97精品国产97久久久久久| 成人亚洲视频| 亚洲成人一区二区三区| 日韩精品一二三区| 国产精品亚洲无码| 色综合婷婷久久| 天堂网在线观看视频| 久久免费少妇高潮久久精品99| 免费一级欧美在线大片| 国产91porn| 国产成人免费在线视频| 九九免费精品视频| 日韩视频在线你懂得| 羞羞污视频在线观看| 动漫美女被爆操久久久| 亚洲午夜在线| 天堂www中文在线资源| 红桃视频成人在线观看| 婷婷色在线观看| 青青a在线精品免费观看| 国产成人精品999在线观看| 人妻无码视频一区二区三区| 欧美精彩视频一区二区三区| 中文字幕精品一区二| 精品国产欧美成人夜夜嗨| 精品一区二区三区免费看| 久操手机在线视频| 成人美女视频在线观看18| 好吊操这里只有精品| 亚洲视频精品在线| 色综合久久久| 国产精品videossex国产高清| 豆国产96在线|亚洲| 一区二区三区视频免费看| 亚洲欧美综合精品久久成人| 欧美伊人亚洲伊人色综合动图| 久久99国产精品一区| 成人免费三级在线| 日本高清不卡码| 久久好看免费视频| 亚洲高清在线一区| 欧美成人xxxxx| 国产精品久久久爽爽爽麻豆色哟哟| 国产免费无遮挡| 3344国产精品免费看| 欧美3p视频| jjzz黄色片| 在线观看一区不卡| 制服丝袜在线播放| 日本一区二区免费看| 国产高清亚洲一区| 欧美精品二区三区| 日韩综合视频在线观看| 国产精品视屏| 日日噜噜夜夜狠狠| 亚洲国产成人va在线观看天堂| 国产一区电影| 动漫美女被爆操久久久| 青青青伊人色综合久久| 久久久国产精华液| 在线成人中文字幕| 美女一区2区| 午夜免费福利网站| 色综合激情五月| 金瓶狂野欧美性猛交xxxx|