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

時(shí)序數(shù)據(jù)庫技術(shù)體系-時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

大數(shù)據(jù) 數(shù)據(jù)庫
時(shí)序數(shù)據(jù)庫技術(shù)體系中一個(gè)非常重要的技術(shù)點(diǎn)是時(shí)序數(shù)據(jù)模型設(shè)計(jì),不同的時(shí)序系統(tǒng)有不同的設(shè)計(jì)模式,不同的設(shè)計(jì)模式對時(shí)序數(shù)據(jù)的讀寫性能、數(shù)據(jù)壓縮效率等各個(gè)方面都有不同程度的影響。這篇文章筆者將會(huì)分別針對OpenTSDB、Druid、InfluxDB以及Beringei這四個(gè)時(shí)序系統(tǒng)中的時(shí)序數(shù)據(jù)模型設(shè)計(jì)進(jìn)行介紹。

時(shí)序數(shù)據(jù)庫技術(shù)體系中一個(gè)非常重要的技術(shù)點(diǎn)是時(shí)序數(shù)據(jù)模型設(shè)計(jì),不同的時(shí)序系統(tǒng)有不同的設(shè)計(jì)模式,不同的設(shè)計(jì)模式對時(shí)序數(shù)據(jù)的讀寫性能、數(shù)據(jù)壓縮效率等各個(gè)方面都有不同程度的影響。這篇文章筆者將會(huì)分別針對OpenTSDB、Druid、InfluxDB以及Beringei這四個(gè)時(shí)序系統(tǒng)中的時(shí)序數(shù)據(jù)模型設(shè)計(jì)進(jìn)行介紹。

在詳細(xì)介紹時(shí)序數(shù)據(jù)模型之前,還是有必要簡單回顧一下時(shí)序數(shù)據(jù)的幾個(gè)基本概念,如下圖所示:

時(shí)序數(shù)據(jù)庫技術(shù)體系-時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

上圖是一個(gè)典型的時(shí)序數(shù)據(jù)示意圖,由圖中可以看出,時(shí)序數(shù)據(jù)由兩個(gè)維度坐標(biāo)來表示,橫坐標(biāo)表示時(shí)間軸,隨著時(shí)間的不斷流逝,數(shù)據(jù)也會(huì)源源不斷地吐出來;和橫坐標(biāo)不同,縱坐標(biāo)由兩種元素構(gòu)成,分別是數(shù)據(jù)源和metric,數(shù)據(jù)源由一系列的標(biāo)簽(tag,也稱為維度)唯一表示,圖中數(shù)據(jù)源是一個(gè)廣告數(shù)據(jù)源,這個(gè)數(shù)據(jù)源由publisher、advertiser、gender以及country四個(gè)維度值唯一表示,metric表示待收集的數(shù)據(jù)源指標(biāo)。一個(gè)數(shù)據(jù)源通常會(huì)采集很多指標(biāo)(metric),上圖中廣告數(shù)據(jù)源就采集了impressions、clicks以及revenue這三種指標(biāo),分別表示廣告瀏覽量、廣告點(diǎn)擊率以及廣告收入。

看到這里,相信大家對時(shí)序數(shù)據(jù)已經(jīng)有了一個(gè)初步的了解,可以簡單的概括為:一個(gè)時(shí)序數(shù)據(jù)點(diǎn)(point)由datasource(tags)+metric+timestamp這三部分唯一確定。然而,這只是邏輯上的概念理解,那具體的時(shí)序數(shù)據(jù)庫到底是如何將這樣一系列時(shí)序數(shù)據(jù)點(diǎn)進(jìn)行存儲的呢?下文筆者針對OpenTSDB、Druid、InfluxDB以及Beringei四種系統(tǒng)進(jìn)行介紹。

OpenTSDB(HBase)時(shí)序數(shù)據(jù)存儲模型

OpenTSDB基于HBase存儲時(shí)序數(shù)據(jù),在HBase層面設(shè)計(jì)RowKey規(guī)則為: metric+timestamp+datasource(tags) 。HBase是一個(gè)KV數(shù)據(jù)庫,一個(gè)時(shí)序數(shù)據(jù)(point)如果以KV的形式表示,那么其中的V必然是point的具體數(shù)值,而K就自然而然是唯一確定point數(shù)值的datasource+metric+timestamp。 這種規(guī)律不僅適用于HBase,還適用于其他KV數(shù)據(jù)庫,比如Kudu。

既然HBase中K是由datasource、metric以及timestamp三者構(gòu)成,現(xiàn)在我們可以簡單認(rèn)為rowkey就為這三者的組合,那問題來了:這三者的組合順序是怎么樣的呢?

首先來看哪個(gè)應(yīng)該排在首位。因?yàn)镠Base中一張表的數(shù)據(jù)組織方式是按照rowkey的字典序順序排列的,為了將同一種指標(biāo)的所有數(shù)據(jù)集中放在一起,HBase將將metric放在了rowkey的最前面。假如將timestamp放在最前面,同一時(shí)刻的數(shù)據(jù)必然會(huì)寫入同一個(gè)數(shù)據(jù)分片,無法起到散列的效果;而如果將datasource(即tags)放在最前面的話,這里有個(gè)更大的問題,就是datasource本身由多個(gè)標(biāo)簽組成,如果用戶指定其中部分標(biāo)簽查找,而且不是前綴標(biāo)簽的話,在HBase里面將會(huì)變成大范圍的掃描過濾查詢,查詢效率非常之低。舉個(gè)上面的例子,如果將datasource放在最前面,那rowkey就可以表示為publisher=ultrarimfast.com&advertiser:google.com&gender:Male&country:USA_impressions_20110101000000,此時(shí)用戶想查找20110101000000這個(gè)時(shí)間點(diǎn)所有發(fā)布在USA的所有廣告的瀏覽量,即只根據(jù)country=USA這樣一個(gè)維度信息查找指定時(shí)間點(diǎn)的某個(gè)指標(biāo),而且這個(gè)維度不是前綴維度,就會(huì)掃描大量的記錄進(jìn)行過濾。

確定了metric放在最前面之后,再來看看接下來應(yīng)該將datasource放在中間呢還是應(yīng)該將timestamp放在中間?將metric放在前面已經(jīng)可以解決請求均勻分布(散列)的要求,因此HBase將timestamp放在中間,將datasource放在最后。試想,如果將datasource放在中間,也會(huì)遇到上文中說到的后綴維度查找的問題。

因此,OpenTSDB中rowkey的設(shè)計(jì)為:metric+timestamp+datasource,好了,那HBase就可以只設(shè)置一個(gè)columnfamily和一個(gè)column。那問題來了,OpenTSDB的這種設(shè)計(jì)有什么問題?在了解設(shè)計(jì)問題之前需要簡單看看HBase在文件中存儲KV的方式,即一系列時(shí)序數(shù)據(jù)在文件、內(nèi)存中的存儲方式,如下圖所示:

時(shí)序數(shù)據(jù)庫技術(shù)體系-時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

上圖是HBase中一個(gè)存儲KeyValue(KV)數(shù)據(jù)的數(shù)據(jù)塊結(jié)構(gòu),一個(gè)數(shù)據(jù)塊由多個(gè)KeyValue數(shù)據(jù)組成,在我們的事例中KeyValue就是一個(gè)時(shí)序數(shù)據(jù)點(diǎn)(point)。其中Value結(jié)構(gòu)很簡單,就是一個(gè)數(shù)值。而Key就比較復(fù)雜了,由rowkey+columnfamily+column+timestamp+keytype組成,其中rowkey等于metric+timestamp+datasource。

  • 問題一:存在很多無用的字段。 一個(gè)KeyValue中只有rowkey是有用的,其他字段諸如columnfamily、column、timestamp以及keytype從理論上來講都沒有任何實(shí)際意義,但在HBase的存儲體系里都必須存在,因而耗費(fèi)了很大的存儲成本。
  • 問題二:數(shù)據(jù)源和采集指標(biāo)冗余。 KeyValue中rowkey等于metric+timestamp+datasource,試想同一個(gè)數(shù)據(jù)源的同一個(gè)采集指標(biāo),隨著時(shí)間的流逝不斷吐出采集數(shù)據(jù),這些數(shù)據(jù)理論上共用同一個(gè)數(shù)據(jù)源(datasource)和采集指標(biāo)(metric),但在HBase的這套存儲體系下,共用是無法體現(xiàn)的,因此存在大量的數(shù)據(jù)冗余,主要是數(shù)據(jù)源冗余以及采集指標(biāo)冗余。
  • 問題三:無法有效的壓縮。 HBase提供了塊級別的壓縮算法-snappy、gzip等,這些通用壓縮算法并沒有針對時(shí)序數(shù)據(jù)進(jìn)行設(shè)置,壓縮效率比較低。HBase同樣提供了一些編碼算法,比如FastDiff等等,可以起到一定的壓縮效果,但是效果并不佳。效果不佳的主要原因是HBase沒有數(shù)據(jù)類型的概念,沒有schema的概念,不能針對特定數(shù)據(jù)類型進(jìn)行特定編碼,只能選擇通用的編碼,效果可想而知。
  • 問題四:不能完全保證多維查詢能力。 HBase本身沒有schema,目前沒有實(shí)現(xiàn)倒排索引機(jī)制,所有查詢必須指定metric、timestamp以及完整的tags或者前綴tags進(jìn)行查詢,對于后綴維度查詢也勉為其難。

雖說有這樣那樣的問題,但是OpenTSDB還是針對存儲模型做了兩個(gè)方面的優(yōu)化:

  • 優(yōu)化一:timestamp并不是想象中細(xì)粒度到秒級或毫秒級,而是精確到小時(shí)級別,然后將小時(shí)中每一秒設(shè)置到列上。 這樣一行就會(huì)有3600列,每一列表示一小時(shí)的一秒。這樣設(shè)置據(jù)說可以有效的取出一小時(shí)整的數(shù)據(jù)。
  • 優(yōu)化二:所有metrics以及所有標(biāo)簽信息(tags)都使用了全局編碼將標(biāo)簽值編碼成更短的bit,減少rowkey的存儲數(shù)據(jù)量。 上文分析HBase這種存儲方式的弊端是說道會(huì)存在大量的數(shù)據(jù)源(tags)冗余以及指標(biāo)(metric)冗余,有冗余是吧,那我就搞個(gè)編碼,將string編碼成bit,盡最大努力減少冗余。雖說這樣的全局編碼可以有效降低數(shù)據(jù)的存儲量,但是因?yàn)槿志幋a字典需要存儲在內(nèi)存中,因此在很多時(shí)候(海量標(biāo)簽值),字典所需內(nèi)存都會(huì)非常之大。

上述兩個(gè)優(yōu)化可以參考OpenTSDB這張經(jīng)典的示意圖:

時(shí)序數(shù)據(jù)庫技術(shù)體系-時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

Druid時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

和HBase和Kudu這類KV數(shù)據(jù)庫不同,Druid是另一種玩法。Druid是一個(gè)不折不扣的列式存儲系統(tǒng),沒有HBase的主鍵。上述時(shí)序數(shù)據(jù)在Druid中表示是下面這個(gè)樣子的:

時(shí)序數(shù)據(jù)庫技術(shù)體系-時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

Druid是一個(gè)列式數(shù)據(jù)庫,所以每一列都會(huì)獨(dú)立存儲,比如Timestamp列會(huì)存儲在一起形成一個(gè)文件,publish列會(huì)存儲在一起形成一個(gè)文件,以此類推。細(xì)心的童鞋就會(huì)說了,這樣存儲,依然會(huì)有數(shù)據(jù)源(tags)大量冗余的問題。針對冗余這個(gè)問題,Druid和HBase的處理方式一樣,都是采用編碼字典對標(biāo)簽值進(jìn)行編碼,將string類型的標(biāo)簽值編碼成int值。但和HBase不一樣的是,Druid編碼是局部編碼,Druid和HBase都采用LSM結(jié)構(gòu),數(shù)據(jù)先寫入內(nèi)存再flush到數(shù)據(jù)文件,Druid編碼是文件級別的,局部編碼可以有效減小對內(nèi)存的巨大壓力。除此之外,Druid的這種列式存儲模式還有如下好處:

數(shù)據(jù)存儲壓縮率高。每列獨(dú)立存儲,可以針對每列進(jìn)行壓縮,而且可以為每列設(shè)置對應(yīng)的壓縮策略,比如時(shí)間列、int、fload、double、string都可以分別進(jìn)行壓縮,壓縮效果更好。

支持多維查找。Druid為datasource的每個(gè)列分別設(shè)置了Bitmap索引,利用Bitmap索引可以有效實(shí)現(xiàn)多維查找,比如用戶想查找20110101T00:00:00這個(gè)時(shí)間點(diǎn)所有發(fā)布在USA的所有廣告的瀏覽量,可以根據(jù)country=USA在Bitmap索引中找到要找的行號,再根據(jù)行號定位待查的metrics。

然而,這樣的存儲模型也有一些問題:

  1. 數(shù)據(jù)依然存在冗余。 和OpenTSDB一樣,tags存在大量的冗余。
  2. 指定數(shù)據(jù)源的范圍查找并沒有OpenTSDB高效。 這是因?yàn)镈ruid會(huì)將數(shù)據(jù)源拆開成多個(gè)標(biāo)簽,每個(gè)標(biāo)簽都走Bitmap索引,再最后使用與操作找到滿足條件的行號,這個(gè)過程需要一定的開銷。而OpenTSDB中直接可以根據(jù)數(shù)據(jù)源拼成rowkey,查找走B+樹索引,效率必然會(huì)更高。

InfluxDB時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

相比OpenTSDB以及Druid,可能很多童鞋對InfluxDB并不特別熟悉,然而在時(shí)序數(shù)據(jù)庫排行榜單上InfluxDB卻是遙遙領(lǐng)先。InfluxDB是一款專業(yè)的時(shí)序數(shù)據(jù)庫,只存儲時(shí)序數(shù)據(jù),因此在數(shù)據(jù)模型的存儲上可以針對時(shí)序數(shù)據(jù)做非常多的優(yōu)化工作。

為了保證寫入的高效,InfluxDB也采用LSM結(jié)構(gòu),數(shù)據(jù)先寫入內(nèi)存,當(dāng)內(nèi)存容量達(dá)到一定閾值之后flush到文件。InfluxDB在時(shí)序數(shù)據(jù)模型設(shè)計(jì)方面提出了一個(gè)非常重要的概念:seriesKey,seriesKey實(shí)際上就是datasource(tags)+metric,時(shí)序數(shù)據(jù)寫入內(nèi)存之后按照seriesKey進(jìn)行組織:

時(shí)序數(shù)據(jù)庫技術(shù)體系-時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

內(nèi)存中實(shí)際上就是一個(gè)Map:>,Map中一個(gè)SeriesKey對應(yīng)一個(gè)List,List中存儲時(shí)間線數(shù)據(jù)。數(shù)據(jù)進(jìn)來之后根據(jù)datasource(tags)+metric拼成SeriesKey,再將Timestamp|Value組合值寫入時(shí)間線數(shù)據(jù)List中。內(nèi)存中的數(shù)據(jù)flush的文件后,同樣會(huì)將同一個(gè)SeriesKey中的時(shí)間線數(shù)據(jù)寫入同一個(gè)Block塊內(nèi),即一個(gè)Block塊內(nèi)的數(shù)據(jù)都屬于同一個(gè)數(shù)據(jù)源下的一個(gè)metric。

這種設(shè)計(jì)我們認(rèn)為是將時(shí)間序列數(shù)據(jù)按照時(shí)間線挑了出來。先來看看這樣設(shè)計(jì)的好處:

  • 好處一:同一數(shù)據(jù)源的tags不再冗余存儲。一個(gè)Block內(nèi)的數(shù)據(jù)都共用一個(gè)SeriesKey,只需要將這個(gè)SeriesKey寫入這個(gè)Block的Trailer部分就可以。 大大降低了時(shí)序數(shù)據(jù)的存儲量。
  • 好處二:時(shí)間序列和value可以在同一個(gè)Block內(nèi)分開獨(dú)立存儲,獨(dú)立存儲就可以對時(shí)間列以及數(shù)值列分別進(jìn)行壓縮。InfluxDB對時(shí)間列的存儲借鑒了Beringei的壓縮方式,使用delta-delta壓縮方式極大的提高了壓縮效率。而對Value的壓縮可以針對不同的數(shù)據(jù)類型采用相同的壓縮效率。
  • 好處三:對于給定數(shù)據(jù)源以及時(shí)間范圍的數(shù)據(jù)查找,可以非常高效的進(jìn)行查找。這一點(diǎn)和OpenTSDB一樣。

細(xì)心的同學(xué)可能會(huì)問了,將datasource(tags)和metric拼成SeriesKey,不是也不能實(shí)現(xiàn)多維查找。確實(shí)是這樣,不過InfluxDB內(nèi)部實(shí)現(xiàn)了倒排索引機(jī)制,即實(shí)現(xiàn)了tag到SeriesKey的映射關(guān)系,如果用戶想根據(jù)某個(gè)tag查找的話,首先根據(jù)tag在倒排索引中找到對應(yīng)的SeriesKey,再根據(jù)SeriesKey定位具體的時(shí)間線數(shù)據(jù)。 InfluxDB的這種存儲引擎稱為TSM,全稱為Timestamp-Structure Merge Tree,基本原理類似于LSM。后期筆者將會(huì)對InfluxDB的數(shù)據(jù)寫入、文件格式、倒排索引以及數(shù)據(jù)讀取進(jìn)行專題介紹。

Beringei時(shí)序數(shù)據(jù)存儲模型設(shè)計(jì)

Beringei是今年Facebook開源的一個(gè)時(shí)序數(shù)據(jù)庫系統(tǒng)。InfluxDB時(shí)序數(shù)據(jù)模型設(shè)計(jì)很好地將時(shí)間序列按照數(shù)據(jù)源以及metric挑選了出來,解決了維度列值冗余存儲,時(shí)間列不能有效壓縮的問題。但I(xiàn)nfluxDB沒有很好的解決寫入緩存壓縮的問題:InfluxDB在寫入內(nèi)存的時(shí)候并沒有壓縮,而是在數(shù)據(jù)寫入文件的時(shí)候進(jìn)行對應(yīng)壓縮。我們知道時(shí)序數(shù)據(jù)最大的特點(diǎn)之一是最近寫入的數(shù)據(jù)最熱,將最近寫入的數(shù)據(jù)全部放在內(nèi)存可以極大提升讀取效率。Beringei很好的解決了這個(gè)問題,流式壓縮意味著數(shù)據(jù)寫入內(nèi)存之后就進(jìn)行壓縮,這樣會(huì)使得內(nèi)存中可以緩存更多的時(shí)序數(shù)據(jù),這樣對于最近數(shù)據(jù)的查詢會(huì)有很大的幫助。

Beringei的時(shí)序數(shù)據(jù)模型設(shè)計(jì)與InfluxDB基本一致,也是提出類似于SeriesKey的概念,將時(shí)間線挑了出來。但和InfluxDB有兩個(gè)比較大的區(qū)別:

  1. 文件組織形式不同。Beringei的文件存儲形式按照時(shí)間窗口組織,比如最近5分鐘的數(shù)據(jù)全部寫入同一個(gè)文件,這個(gè)文件分為很多block,每個(gè)block中的所有時(shí)序數(shù)據(jù)共用一個(gè)SeriesKey。Beringei文件沒有索引,InfluxDB有索引。
  2. Beringei目前沒有倒排索引機(jī)制,因此對于多維查詢并不高效。

后續(xù)筆者也會(huì)針對Beringei的數(shù)據(jù)寫入、流式壓縮、文件格式等進(jìn)行介紹。在筆者看來,如果將Beringei和InfluxDB有效結(jié)合起來,就能夠?qū)r(shí)序數(shù)據(jù)高效存儲在內(nèi)存,另外數(shù)據(jù)按照維度進(jìn)行組織,可以非常高效的提高數(shù)據(jù)在文件的存儲效率以及查詢效率,最后結(jié)合InfluxDB的倒排索引功能可以有效提高多維查詢能力。

本文是時(shí)序數(shù)據(jù)庫技術(shù)體系的第一篇文章,筆者主要結(jié)合OpenTSDB、Druid、InfluxDB以及Beringei這四種時(shí)序數(shù)據(jù)庫分別對時(shí)序數(shù)據(jù)這種數(shù)據(jù)形式的存儲模型進(jìn)行了介紹。每種數(shù)據(jù)庫都有自己的一套存儲方式,而每種存儲方式都有各自的一些優(yōu)勢以及缺陷,正是這些優(yōu)劣式直接決定了相應(yīng)時(shí)序數(shù)據(jù)庫的壓縮性能、讀寫性能。

責(zé)任編輯:未麗燕 來源: 有態(tài)度的HBase
相關(guān)推薦

2021-09-26 10:08:33

TSDB時(shí)序數(shù)據(jù)庫壓縮解壓

2022-07-06 15:41:55

數(shù)據(jù)庫

2022-09-23 07:44:48

時(shí)序數(shù)據(jù)庫物聯(lián)網(wǎng)

2018-04-16 08:44:51

InfluxDB TS時(shí)序數(shù)據(jù)庫存儲

2022-07-11 10:45:12

數(shù)據(jù)庫分析

2022-07-11 11:12:32

數(shù)據(jù)分析

2022-12-18 19:38:31

時(shí)序數(shù)據(jù)庫數(shù)據(jù)庫

2021-03-08 10:18:55

數(shù)據(jù)庫數(shù)據(jù)Prometheus

2021-03-15 10:10:29

數(shù)據(jù)庫數(shù)據(jù)查詢

2021-02-22 10:37:47

存儲Prometheus

2021-03-01 10:20:52

存儲

2017-09-05 14:45:14

時(shí)序數(shù)據(jù)數(shù)據(jù)庫大數(shù)據(jù)

2020-03-11 09:50:21

時(shí)序數(shù)據(jù)庫快速檢索

2022-06-10 17:37:37

數(shù)據(jù)庫

2022-07-07 12:23:29

數(shù)據(jù)庫

2019-05-30 08:31:39

數(shù)據(jù)庫QTSDB分布式

2021-08-31 14:01:59

時(shí)序數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)

2018-06-26 09:37:07

時(shí)序數(shù)據(jù)庫FacebookNoSQL

2021-08-04 05:49:40

數(shù)據(jù)庫數(shù)時(shí)序數(shù)據(jù)庫技術(shù)

2022-07-06 15:50:04

數(shù)據(jù)計(jì)算
點(diǎn)贊
收藏

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

青草视频在线观看视频| 国产精品xxx在线观看www| 日韩视频在线观看免费视频| 国产精品99精品一区二区三区∴| 亚洲视频一区二区在线| 国产二区不卡| 最近中文字幕av| 国产精品豆花视频| 中文日韩电影网站| 亚洲欧美日韩偷拍| 狠狠久久综合| 精品久久香蕉国产线看观看gif| 色综合666| 亚洲伦理在线观看| 欧美a级理论片| 久久久久免费视频| 天堂网av2018| 色婷婷精品视频| 日韩一区二区三区在线| www日韩在线观看| av毛片午夜不卡高**水| 国产精品久久久久久久裸模| 国产综合18久久久久久| 99国产精品久久久久久久成人| 亚洲第一毛片| 欧美成人合集magnet| 欧美人妻一区二区三区| 美女视频免费精品| 精品国产三级电影在线观看| 加勒比av中文字幕| 国产综合色区在线观看| 精品成人在线视频| 成人av在线播放观看| 日本视频在线| 中文子幕无线码一区tr| 欧美连裤袜在线视频| 囯产精品一品二区三区| 国产精品一区二区三区四区| 国产精品一区二区三区久久| 青青国产在线视频| 欧美亚洲网站| 欧美在线www| 国产又大又黑又粗免费视频| 欧美激情综合色综合啪啪| 日韩视频一区在线| 久久噜噜色综合一区二区| 精品产国自在拍| 亚洲午夜国产成人av电影男同| 国产精品嫩草av| 日韩精品福利一区二区三区| 欧美xxxx老人做受| 乳色吐息在线观看| 日韩精品一区二区三区中文在线| 欧美福利电影网| www.超碰97.com| 亚洲精品tv| 91精品欧美久久久久久动漫| 日韩欧美国产片| 亚洲伦理一区二区| 91精品国产91久久综合桃花| 成人av毛片在线观看| 国产精品亚洲一区二区在线观看| 制服丝袜亚洲色图| 992kp免费看片| 91蜜桃臀久久一区二区| 亚洲精品久久久久久久久久久久久 | 91成人国产| 欧美成人高清视频| 日产欧产va高清| 免播放器亚洲| 国产精选久久久久久| 国产精品伦理一区| 国产精一区二区三区| 国产精品一区免费观看| 视频三区在线观看| 欧美国产精品v| 国产精品久久成人免费观看| 天堂8中文在线| 午夜天堂影视香蕉久久| 欧美aⅴ在线观看| 在线成人视屏 | 亚洲涩涩在线观看| 亚洲无线观看| 亚洲欧洲在线播放| 国产精品国产三级国产传播| 黄色日韩在线| 国产精品精品视频| 99在线观看免费| 99久久久久久99| 亚洲欧美在线网| 1区2区3区在线| 欧美视频三区在线播放| 日本高清免费在线视频| 香蕉久久精品日日躁夜夜躁| 日韩亚洲成人av在线| 久久一二三四区| 日韩黄色片在线观看| 97久草视频| 国产私人尤物无码不卡| 亚洲精品国产a| 国产97色在线 | 日韩| 福利一区视频| 亚洲精品美女久久久| 午夜精品一区二区三级视频| 国产亚洲欧洲| 91久久伊人青青碰碰婷婷| 欧洲一级在线观看| 亚洲精品中文在线| 日本久久精品一区二区| 国产成人高清精品免费5388| 中文字幕国产精品久久| 国产精品成人网站| 九九国产精品视频| 国产经品一区二区| 免费在线观看av| 日韩欧美亚洲成人| a级片在线观看视频| 国产精品国产三级国产在线观看| 91精品国产91久久久久久吃药| 国产免费高清av| 国产日韩欧美不卡| 黄色免费视频大全| 亚洲精品不卡在线观看 | 特级毛片在线| 欧美日韩国产高清一区二区三区 | 五月激情婷婷网| 亚洲免费观看高清在线观看| 天天操天天爱天天爽| 日韩最新在线| 国内精品伊人久久| www.好吊色| 亚洲欧美日韩国产中文在线| 男人透女人免费视频| 久久久久观看| 国产+人+亚洲| 成人午夜视频一区二区播放| 亚洲天堂网中文字| 国产成人美女视频| 色综合色综合| 国产mv久久久| 你懂的在线看| 色综合天天综合| 无码人妻aⅴ一区二区三区| 亚洲三级影院| 国产视频99| 国产高清中文字幕在线| 亚洲成人在线视频播放| 日韩欧美高清在线观看| www.亚洲免费av| 亚洲 高清 成人 动漫| 国产日韩三级| 91精品国产91久久久久| 人人九九精品| 在线看日本不卡| 免费在线观看a视频| 免费在线观看不卡| 在线天堂一区av电影| 在线不卡一区| 久久成人精品电影| 高h放荡受浪受bl| 精品福利在线视频| 国产一二三四五区| 免费久久精品视频| 中文精品一区二区三区| 国产剧情一区二区在线观看| 久久69精品久久久久久国产越南| a网站在线观看| 亚洲一级二级三级在线免费观看| 呦呦视频在线观看| 玖玖玖国产精品| 伊人色综合影院| 试看120秒一区二区三区| 97国产精品免费视频| 国产综合在线观看| 欧美区在线观看| 久草成人在线视频| 久久天天做天天爱综合色| 网站一区二区三区| 欧美aa国产视频| 久久综合中文色婷婷| 日韩制服一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 人妻无码一区二区三区久久99| 日韩欧美主播在线| 日日碰狠狠添天天爽| 国产91综合网| wwwwww.色| 亚洲黄色av| 天堂资源在线亚洲资源| 免费看一区二区三区| 欧美亚洲伦理www| 欧美成人hd| 亚洲国产91精品在线观看| 中文字幕永久在线观看| 亚洲成人中文在线| 91狠狠综合久久久久久| 东方aⅴ免费观看久久av| 成人在线观看a| 欧美日韩国产亚洲一区| 日韩欧美国产二区| silk一区二区三区精品视频| 国产极品jizzhd欧美| 亚洲按摩av| 在线亚洲男人天堂| 天堂av在线7| 欧美成va人片在线观看| 中文字幕欧美色图| 精品成人av一区| 草视频在线观看| 欧美国产一区二区在线观看| 娇妻高潮浓精白浆xxⅹ| 久久99日本精品| 少妇高清精品毛片在线视频| 国产一区二区三区四区老人| 亚洲三区在线| 欧美女王vk| 国内精品久久国产| 9999精品视频| 国产精品永久免费| 精品国产免费人成网站| 欧美大学生性色视频| 欧美高清视频| 在线观看国产精品淫| 你懂的好爽在线观看| 亚洲第一区在线观看| 精品国产伦一区二区三区| 欧美三级中文字幕在线观看| 日韩久久中文字幕| 精品成人在线视频| 91美女免费看| 亚洲va欧美va天堂v国产综合| 日韩一级片av| 亚洲日本护士毛茸茸| 亚洲少妇xxx| 国产精品伦理一区二区| 亚洲激情图片网| 国产免费观看久久| 黄色国产在线播放| 国产色产综合产在线视频| 国产全是老熟女太爽了| 26uuu亚洲| 人妻少妇精品视频一区二区三区| 成人精品电影在线观看| 东京热av一区| 成人福利视频在线| 亚洲色偷偷色噜噜狠狠99网| 成人免费高清在线| 国产伦精品一区二区免费| www.成人网.com| 久久久久久久久免费看无码| 91免费国产在线观看| 我和岳m愉情xxxⅹ视频| 2020国产成人综合网| 在哪里可以看毛片| 国产亲近乱来精品视频| 岛国片在线免费观看| 国产精品久久久久久久久图文区| 国产稀缺精品盗摄盗拍| 亚洲乱码日产精品bd| 国产一级理论片| 精品免费在线观看| 久久久精品毛片| 精品视频在线免费观看| 国产又粗又黄又爽| 欧美一级在线观看| 无码精品黑人一区二区三区| 亚洲精品视频在线观看视频| 国产三级电影在线观看| 久久久成人av| 超清av在线| 国产v综合v亚洲欧美久久| 久久99国产精品二区高清软件| 国产一区深夜福利| 盗摄系列偷拍视频精品tp| 久久久com| 99热精品久久| 欧美精品一区二区三区三州| 日韩国产精品久久久| 992tv人人草| 99国产精品一区| 国产精品综合激情| 亚洲国产一二三| 91黑人精品一区二区三区| 91精品欧美一区二区三区综合在| 少妇无码一区二区三区| 在线午夜精品自拍| 韩国日本一区| 国产精品视频内| 噜噜噜天天躁狠狠躁夜夜精品| 午夜精品亚洲一区二区三区嫩草| 欧美+亚洲+精品+三区| 国产免费毛卡片| 国产自产视频一区二区三区| 少妇一级淫免费观看| 国产精品乱码一区二三区小蝌蚪| 日韩欧美大片在线观看| 欧美人妖巨大在线| 日韩美女一级视频| 另类图片亚洲另类| 精品欧美一区二区三区在线观看| 99re在线观看视频| 久久高清精品| 37pao成人国产永久免费视频| 国产综合色在线视频区| 欧美多人猛交狂配| 亚洲愉拍自拍另类高清精品| 中文字幕第31页| 国产婷婷成人久久av免费高清 | 五月天中文字幕一区二区| 在线视频 91| 精品视频偷偷看在线观看| 手机av免费在线| 91老司机精品视频| 欧美一区二区性| 国产无套内射久久久国产| 国产成人在线网站| 久久精品日韩无码| 欧洲av在线精品| 你懂的在线网址| 91成人国产在线观看| 97视频一区| 色爽爽爽爽爽爽爽爽| 捆绑调教美女网站视频一区| 亚洲天堂成人av| 午夜久久久久久久久久一区二区| 99精品在线视频观看| www高清在线视频日韩欧美| 日韩三区免费| 日韩精品福利视频| 免费永久网站黄欧美| 白嫩情侣偷拍呻吟刺激| 亚洲在线视频网站| 亚洲av无码国产精品永久一区 | 涩涩涩999| 99riav国产精品| 亚洲av无码一区二区三区网址| 亚洲影院在线观看| 亚洲av无码国产精品永久一区| 欧美成人免费播放| 深夜福利一区| 日韩日韩日韩日韩日韩| 成人avav影音| 99久在线精品99re8热| 亚洲成人精品在线| 97久久人人超碰caoprom| 国产精品18毛片一区二区| 激情91久久| 免费看黄色aaaaaa 片| 日韩欧美在线视频免费观看| 色鬼7777久久| 国产精品91在线| 婷婷伊人综合| 亚洲女人在线观看| 一区二区成人在线| 蜜桃视频在线观看www| 97香蕉久久超级碰碰高清版| 自拍亚洲一区| 国产九九在线观看| 亚洲品质自拍视频网站| a天堂视频在线| 97久久精品在线| 欧美美女在线观看| 91n.com在线观看| 亚洲日本一区二区三区| www.精品久久| 97av在线播放| 色综合狠狠操| 成年人小视频在线观看| 欧美视频13p| 高清美女视频一区| 91视频九色网站| 亚洲黄色av| 女人黄色一级片| 日韩精品中文字幕一区二区三区| gogo久久| 亚洲欧美精品在线观看| 国产mv日韩mv欧美| 四虎成人在线观看| 久久久精品日本| 欧美天堂社区| caoporm在线视频| 午夜精品久久久久影视| yw在线观看| αv一区二区三区| 日韩精品国产欧美| 草视频在线观看| 伊人久久男人天堂| 136导航精品福利| 久久精品免费网站| 亚洲一区在线观看视频| 国产主播福利在线| av观看久久| 日韩av中文字幕一区二区| 青青草免费av| 中文字幕亚洲一区二区三区五十路 | 欧美在线视频你懂得| 第一中文字幕在线| 亚洲日本精品| 91在线国产观看| 99精品人妻无码专区在线视频区|