日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

万亿级日志与行为数据存储查询技术剖析

發(fā)布時(shí)間:2025/4/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 万亿级日志与行为数据存储查询技术剖析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.sohu.com/a/126082450_355140

目前大數(shù)據(jù)存儲(chǔ)查詢方案大概可以分為:Hbase系、Dremel系、預(yù)聚合系、Lucene系,本文作者將就自身的使用經(jīng)驗(yàn)說(shuō)說(shuō)這幾個(gè)系的優(yōu)缺點(diǎn),如有紕漏,歡迎一起探討。

寫在前面

近些年,大數(shù)據(jù)背后的價(jià)值也開始得到關(guān)注和重視,越來(lái)越多的企業(yè)開始保存和分析數(shù)據(jù),希望從中挖掘大數(shù)據(jù)的價(jià)值。大數(shù)據(jù)產(chǎn)生的根本還是增量數(shù)據(jù),單純的用戶數(shù)據(jù)不足以構(gòu)成大數(shù)據(jù),然而用戶的行為或行為相關(guān)的日志的數(shù)據(jù)量,加之隨著物聯(lián)網(wǎng)的發(fā)力,產(chǎn)生的增量數(shù)據(jù)將不可預(yù)估,存儲(chǔ)和查詢?cè)隽繑?shù)據(jù)尤為關(guān)鍵。所以,在筆者的工作經(jīng)歷中,本著以下的目標(biāo),尋找更優(yōu)的大數(shù)據(jù)存儲(chǔ)和查詢方案:

  • 數(shù)據(jù)無(wú)損:數(shù)據(jù)分析挖掘都依賴于我們保存的數(shù)據(jù),只有做到數(shù)據(jù)的無(wú)損,才有可能任意的定義指標(biāo),滿足各種業(yè)務(wù)需求。

  • 保證數(shù)據(jù)實(shí)時(shí)性:數(shù)據(jù)的實(shí)時(shí)性越來(lái)越重要,實(shí)時(shí)的數(shù)據(jù)能夠更好的運(yùn)維產(chǎn)品和調(diào)整策略,價(jià)值更高。單進(jìn)程每秒接入3.5萬(wàn)數(shù)據(jù)以上,數(shù)據(jù)從產(chǎn)生到能夠查詢到結(jié)果這個(gè)間隔不會(huì)超過(guò)5秒。

  • 業(yè)務(wù)需求快速響應(yīng):隨著越來(lái)越快的業(yè)務(wù)發(fā)展和數(shù)據(jù)應(yīng)用要求的提高,數(shù)據(jù)的查詢需要更靈活,快速響應(yīng)不同且多變的需求。最好是任意定義指標(biāo)后能夠?qū)崟r(shí)查詢出結(jié)果。

  • 數(shù)據(jù)靈活探索性:探索性數(shù)據(jù)分析在對(duì)數(shù)據(jù)進(jìn)行概括性描述,發(fā)現(xiàn)變量之間的相關(guān)性以及引導(dǎo)出新的假設(shè)。到了大數(shù)據(jù)時(shí)代,海量的無(wú)結(jié)構(gòu)、半結(jié)構(gòu)數(shù)據(jù)從多種渠道源源不斷地積累,不受分析模型和研究假設(shè)的限制,如何從中找出規(guī)律并產(chǎn)生分析模型和研究假設(shè)成為新挑戰(zhàn)。因此,探索性數(shù)據(jù)分析成為大數(shù)據(jù)分析中不可缺少的一步并且走向前臺(tái)。

  • 超大數(shù)據(jù)集,統(tǒng)計(jì)分析秒級(jí)響應(yīng):萬(wàn)億數(shù)據(jù)量級(jí),千級(jí)維度(非稀疏)的統(tǒng)計(jì)分析秒級(jí)響應(yīng)。

  • 目前大數(shù)據(jù)存儲(chǔ)查詢方案大概可以分為:Hbase系、Dremel系、預(yù)聚合系、Lucene系,筆者就自身的使用經(jīng)驗(yàn)說(shuō)說(shuō)這幾個(gè)系的優(yōu)缺點(diǎn),如有紕漏,歡迎一起探討。

    數(shù)據(jù)查詢包括大體可以分為兩步,首先根據(jù)某一個(gè)或幾個(gè)字段篩選出符合條件的數(shù)據(jù),然后根據(jù)關(guān)聯(lián)填充其他所需字段信息或者聚合其他字段信息,本文中提到的大數(shù)據(jù)技術(shù),都將圍繞這兩方面。

    一、Hbase系

    筆者認(rèn)為Hbase系的解決方案(例如Opentsdb和Kylin)適合相對(duì)固定的業(yè)務(wù)報(bào)表類需求,只需要統(tǒng)計(jì)少量維度即可滿足業(yè)務(wù)報(bào)表需求,對(duì)于單值查詢有優(yōu)勢(shì),但很難滿足靈活聚合數(shù)據(jù)的場(chǎng)景。

    Hbase的表包含的的概念有rowkey、列簇、列限定符、版本(timestamp)和值,對(duì)應(yīng)實(shí)際Hdfs的存儲(chǔ)結(jié)構(gòu)可以用下圖做一個(gè)簡(jiǎn)單總結(jié):

    Hbase表中的每一個(gè)列簇會(huì)對(duì)應(yīng)一個(gè)實(shí)際的文件,某種層面來(lái)說(shuō),Hbase并非真正意義的列式存儲(chǔ)方案,只是列簇存儲(chǔ)。每個(gè)文件有若干個(gè)DataBlock(數(shù)據(jù)塊默認(rèn)64k),DataBlock是HBase中數(shù)據(jù)存儲(chǔ)的最小單元,DataBlock中以KeyValue的方式存儲(chǔ)用戶數(shù)據(jù)(KeyValue后面有timestamp,圖中未標(biāo)注),其他信息主要包含索引、元數(shù)據(jù)等信息,在此不做深入探討。每個(gè)KeyValue都由4個(gè)部分構(gòu)成,分別為key length,value length,key和value。其中key的結(jié)構(gòu)相對(duì)復(fù)雜,包括rowkey、列、KeyType等信息,而value值對(duì)應(yīng)具體列值的二進(jìn)制數(shù)據(jù)。為了便于查詢,對(duì)key做了一個(gè)簡(jiǎn)單的倒排索引,直接使用了java的ConcurrentSkipListMap。

    Hbase管理的核心思想是分級(jí)分塊,存儲(chǔ)時(shí)根據(jù)Rowkey的范圍不同,分散到不同的Region,Region又按照列簇分為不同的Store,每個(gè)Store實(shí)際上又包括StoreFile(對(duì)應(yīng)Hfile)和MemStore,然后由RegionServer管理不同的Region,RegionServer即對(duì)應(yīng)具體的進(jìn)程,分散不同的機(jī)器,提供分布式的存儲(chǔ)和查詢。查詢時(shí),首先獲取meta表(一種特殊的Region)所在的RegionServer,通過(guò)meta表查找表rowkey相對(duì)應(yīng)的Region和RegionServer信息,最后連接數(shù)據(jù)所在的RegionServer,查找到相應(yīng)的數(shù)據(jù)。

    Hbase的這種結(jié)構(gòu),特別適合根據(jù)rowkey做單值查詢,不適合scan的場(chǎng)景,因?yàn)榇蟛糠諷can的情況基本上需要掃描所有數(shù)據(jù),性能會(huì)非常差。雖然也有擴(kuò)展的Hbase二級(jí)索引方案,但基本上都是通過(guò)協(xié)處理器,需要另外建立一份rowkey的對(duì)應(yīng)關(guān)系,Scan的時(shí)候先通過(guò)二級(jí)索引查找rowkey,然后在根據(jù)rowkey查找相應(yīng)的數(shù)據(jù)。

    這種方式一定程度上能加快數(shù)據(jù)掃描,但那對(duì)于一些識(shí)別度不高的列,如性別這樣的字段,對(duì)應(yīng)的rowkey相當(dāng)之多,這樣的字段在查找二級(jí)索引時(shí)的作用很小,另外二級(jí)索引所帶來(lái)的IO性能的開銷都會(huì)隨之增加。而在需要聚合的場(chǎng)景,對(duì)于Hbase而言恰恰需要大量scan數(shù)據(jù),會(huì)非常影響性能。Hbase只有一個(gè)簡(jiǎn)單rowkey的倒排索引,缺少列索引,所有的查詢和聚合只能依賴于rowkey,很難解決聚合的性能問(wèn)題。

    隨著Hbase的發(fā)展,基于Hbase做數(shù)據(jù)存儲(chǔ)包括Opentsdb和Kylin也隨之產(chǎn)生,例如Kylin也是一種預(yù)聚合方案,因其底層存儲(chǔ)使用Hbase,故筆者將其歸為Hbase系。在筆者看來(lái),Opentsdb和Kylin的數(shù)據(jù)結(jié)構(gòu)極其相似,都是將各種維度值組合,結(jié)合時(shí)間戳拼成rowkey,利用字典的原理將維度值標(biāo)簽化,達(dá)到壓縮的目的。如此,可以滿足快速查詢數(shù)據(jù)的需要,但同時(shí)也會(huì)受限于Hbase索引,聚合需要大量scan,并不能提升數(shù)據(jù)聚合的速度。

    為了避免查詢數(shù)據(jù)時(shí)的聚合,Kylin可以通過(guò)cube的方式定制數(shù)據(jù)結(jié)構(gòu),在數(shù)據(jù)接入時(shí)通過(guò)指定metric來(lái)提前聚合數(shù)據(jù)。這樣雖然在一定程度上解決了數(shù)據(jù)聚合慢的情況,但這是一種典型的空間換時(shí)間的方案,組合在維度多、或者有高基數(shù)維度的情況,數(shù)據(jù)膨脹會(huì)非常嚴(yán)重,筆者曾遇到存儲(chǔ)后的數(shù)據(jù)比原始數(shù)據(jù)大90倍的情況。另外,業(yè)務(wù)的變化會(huì)導(dǎo)致重建cube,難以靈活的滿足業(yè)務(wù)需要。

    二、Dremel系

    Parquet作為Dremel系的代表,相對(duì)Hbase的方案,Scan的性能更好,也避免了存儲(chǔ)索引和生成索引的開銷。但對(duì)于數(shù)據(jù)還原和聚合,相對(duì)直接使用正向索引來(lái)說(shuō)成本會(huì)很高,而且以離線處理為主,很難提高數(shù)據(jù)寫的實(shí)時(shí)性。

    Google的Dremel,其最早用于網(wǎng)頁(yè)文檔數(shù)據(jù)分析,所以設(shè)計(jì)為嵌套的數(shù)據(jù)結(jié)構(gòu),當(dāng)然它也可以用于扁平的二維表數(shù)據(jù)存儲(chǔ)。開源技術(shù)中,Parquet算是Dremel系的代表,各種查詢引擎(Hive/Impala/Drill)、計(jì)算框架甚至一些序列化結(jié)構(gòu)數(shù)據(jù)(如ProtoBuf)都對(duì)其進(jìn)行了支持,甚至Spark還專門針對(duì)Parquet的數(shù)據(jù)格式進(jìn)行了優(yōu)化,前途一片光明,本文主要結(jié)合Parquet來(lái)展開論述。

    可以用下圖簡(jiǎn)單表示Parquet的文件格式:

    Parquet的數(shù)據(jù)水平切分為多個(gè)Row Group,Row Group為數(shù)據(jù)讀寫的緩存單元,每個(gè)Row Group包含各個(gè)的數(shù)據(jù)列(Column Chunk),數(shù)據(jù)列有若干Page,Page是壓縮和編碼的單元,其相應(yīng)存儲(chǔ)的信息包括元數(shù)據(jù)信息(PageHeader)、重復(fù)深度(Repetition Levels)、定義深度(Definition Levels)和列值(Values)信息。

    Page實(shí)際有三種類型:數(shù)據(jù)Page、字典Page和索引Page。數(shù)據(jù)Page用于存儲(chǔ)當(dāng)前行組中該列的值,字典Page存儲(chǔ)該列值的編碼字典,每一個(gè)列塊中最多包含一個(gè)字典Page,索引Page目前還不支持,未來(lái)可能會(huì)引入Bloom Filter,能夠判斷列值是否存在,更有利于判斷搜索條件,提升查詢速度。

    從Parquet的存儲(chǔ)結(jié)構(gòu)來(lái)看,Parquet沒(méi)有嚴(yán)格意義上的索引,在查詢的過(guò)程中需要直接對(duì)Row Group的列數(shù)據(jù)進(jìn)行掃描,有兩方面來(lái)保證查詢優(yōu)化,一個(gè)是映射下推(Project PushDown),另外一個(gè)是謂詞下推(Predicate PushDown)。

    映射下推主要是利用列式存儲(chǔ)的優(yōu)勢(shì),查詢數(shù)據(jù)時(shí)只需要掃描查詢中需要的列,由于每一列的所有值都是連續(xù)存儲(chǔ)的,所以分區(qū)取出每一列的所有值就可以實(shí)現(xiàn)TableScan算子,而避免掃描整個(gè)文件內(nèi)容。

    謂詞下推在數(shù)據(jù)庫(kù)之類的查詢系統(tǒng)中最常用的優(yōu)化手段之一,通過(guò)將一些過(guò)濾條件盡可能的在最底層執(zhí)行,減少上層交互的數(shù)據(jù)量,從而提升性能。另外,針對(duì)謂詞下推Parquet做了更進(jìn)一步的優(yōu)化,優(yōu)化的方法是對(duì)每一個(gè)Row Group的每一個(gè)Column Chunk在存儲(chǔ)的時(shí)候都計(jì)算對(duì)應(yīng)的統(tǒng)計(jì)信息,包括該Column Chunk的最大值、最小值和空值個(gè)數(shù)。通過(guò)這些統(tǒng)計(jì)值和該列的過(guò)濾條件可以判斷該Row Group是否需要掃描。未來(lái)還會(huì)增加諸如Bloom Filter和Index等優(yōu)化數(shù)據(jù),更加有效的完成謂詞下推。

    通過(guò)這兩方面的優(yōu)化,Parquet的查詢時(shí)掃描數(shù)據(jù)的性能能夠得到大幅度提升。那Parquet如果填充數(shù)據(jù)(不同的列拼成一行記錄)和聚合數(shù)據(jù)呢?

    主要是使用了Striping/Assembly算法實(shí)現(xiàn)的,該算法的思想是將數(shù)據(jù)的值分為三部分:重復(fù)深度(Repetition Levels)、定義深度(Definition Levels)和列值(Values)。通過(guò)重復(fù)深度可以在讀取的時(shí)候結(jié)合Schema的定義可以知道需要在哪一層創(chuàng)建一個(gè)新的repeated節(jié)點(diǎn)(如第一層的的為0,表示是新記錄,否則則表示repeat的數(shù)據(jù)),然后通過(guò)定義深度知道該值的路徑上第幾層開始是未定義,從而還原出數(shù)據(jù)的嵌套結(jié)構(gòu),如此便能清楚的把一行數(shù)據(jù)還原出來(lái)。由于缺少行號(hào)對(duì)應(yīng)的列正向索引,沒(méi)有辦法直接尋址,單純的依賴于Striping/Assembly算法還原數(shù)據(jù)或者聚合處理,相對(duì)來(lái)說(shuō)成本會(huì)高很多。

    另外,Parquet的實(shí)時(shí)寫方面是硬傷,基于Parquet的方案基本上都是批量寫。一般情況,都是定期生成Parquet文件,所以數(shù)據(jù)延遲比較嚴(yán)重。為了提高數(shù)據(jù)的實(shí)時(shí)性,還需要其他解決方案來(lái)解決數(shù)據(jù)實(shí)時(shí)的查詢,Parquet只能作為歷史數(shù)據(jù)查詢的補(bǔ)充。

    Parquet存儲(chǔ)是相對(duì)索引的存儲(chǔ)來(lái)說(shuō),是一種折中處理,沒(méi)有倒排索引,而是通過(guò)Row Group水平分割數(shù)據(jù),然后再根據(jù)Column垂直分割,保證數(shù)據(jù)IO不高,直接Scan數(shù)據(jù)進(jìn)行查詢,相對(duì)Hbase的方案,Scan的性能更好。這種方式,避免了存儲(chǔ)索引和生成索引的開銷,隨著索引Page的完善,相信查詢性能值得信賴。而對(duì)于數(shù)據(jù)還原和聚合也沒(méi)有利用正向索引,而是通過(guò)Striping/Assembly算法來(lái)解決,這種方式更好能夠很取巧的解決數(shù)據(jù)嵌套填充的問(wèn)題, 但是相對(duì)直接使用正向索引來(lái)說(shuō)成本會(huì)很高。

    另外,由于是基于Row Group為讀寫的基本單元,屬于粗粒度的數(shù)據(jù)寫入,數(shù)據(jù)生成應(yīng)該還是以離線處理為主,很難提高數(shù)據(jù)寫的實(shí)時(shí)性,而引入其他的解決方案又會(huì)帶來(lái)存儲(chǔ)架構(gòu)的復(fù)雜性,維護(hù)成本都會(huì)相應(yīng)增加。

    三、預(yù)聚合系

    最近幾年,隨著OLAP場(chǎng)景的需要,預(yù)聚合的解決方案越來(lái)越多。其中比較典型的有Kylin、Druid和Pinot。預(yù)聚合的方案,筆者不想做過(guò)多介紹,其本身只是單純的為了滿足OLAP查詢的場(chǎng)景,需要指定預(yù)聚合的指標(biāo),在數(shù)據(jù)接入的時(shí)候根據(jù)指定的指標(biāo)進(jìn)行聚合運(yùn)算,數(shù)據(jù)在聚合的過(guò)程中會(huì)丟失metric對(duì)應(yīng)的列值信息。

    筆者認(rèn)為,這種方式需要以有損數(shù)據(jù)為代價(jià),雖然能夠滿足短期的OLAP需求,但是對(duì)于數(shù)據(jù)存儲(chǔ)是非常不利的,會(huì)丟掉數(shù)據(jù)本身存在的潛在價(jià)值。另外,查詢的指標(biāo)也相對(duì)固定,沒(méi)有辦法靈活的自由定義所需的指標(biāo),只能查詢提前聚合好的指標(biāo)。

    四、Lucene系

    Lucene算是java中最先進(jìn)的開源全文檢索工具,基于它有兩個(gè)很不錯(cuò)的全文檢索產(chǎn)品ElasticSearch和Solr。Lucene經(jīng)過(guò)多年的發(fā)展,整個(gè)索引體系已經(jīng)非常完善,能夠滿足的的查詢場(chǎng)景遠(yuǎn)多于傳統(tǒng)的數(shù)據(jù)庫(kù)存儲(chǔ),這都?xì)w功于其強(qiáng)大的索引。但對(duì)于日志、行為類時(shí)序數(shù)據(jù),所有的搜索請(qǐng)求都也必須搜索所有的分片,另外,對(duì)于聚合分析場(chǎng)景的支持也是軟肋。

    Lucene中把一條數(shù)據(jù)對(duì)應(yīng)為一個(gè)Document,數(shù)據(jù)中的字段對(duì)應(yīng)Lucene的Field,Field的信息可以拆分為多個(gè)Term,同時(shí)Term中會(huì)包含其所屬的Field信息,在Lucene中每一個(gè)Document都會(huì)分配一個(gè)行號(hào)。然后在數(shù)據(jù)接入時(shí)建立Term和行號(hào)的對(duì)應(yīng)關(guān)系,就能夠根據(jù)字段的信息快速的搜索出相應(yīng)的行號(hào),而Term與行號(hào)的對(duì)應(yīng)關(guān)系我們稱之為字典。大部分時(shí)候查詢是多個(gè)條件的組合,于是Lucene引入了跳表的思想,來(lái)加快行號(hào)的求交和求并。字典和跳表就共同組成了Lucene的倒排索引。Lucene從4開始使用了FST的數(shù)據(jù)結(jié)構(gòu),即得到了很高的字典壓縮率,又加快了字典的檢索。

    為了快速的還原數(shù)據(jù)信息和聚合數(shù)據(jù),Lucene還引入了列正向索引和行正向索引。列正向索引主要是行號(hào)和Term的對(duì)應(yīng)關(guān)系,行正向主要是行號(hào)和Document的對(duì)應(yīng)關(guān)系。這兩種索引都是可以根據(jù)需要配置使用,例如只有單純的查詢,只是用行正向索引就可以,為了實(shí)現(xiàn)數(shù)據(jù)的聚合則必須列正向索引。

    有了這些索引后,就可以通過(guò)Term來(lái)查詢出行號(hào),利用正向索引根據(jù)行號(hào)還原數(shù)據(jù)信息,或者對(duì)數(shù)據(jù)進(jìn)行聚合。

    另外,為了滿足全文檢索的需求,Lucene還引入了分詞、詞向量、高亮以及打分的機(jī)制等等。總的來(lái)看,Lucene的整個(gè)索引體系比較臃腫,其設(shè)計(jì)的根本還是搜索引擎的思想,滿足全文檢索的需求。

    Lucene本身是單機(jī)版的,沒(méi)有辦法分布式,也就以為著其能處理的還是小數(shù)據(jù)量。ElasticSearch提供了Lucene的分布式處理的解決方案,其核心思想是將Lucene的索引分片。

    在寫入場(chǎng)景中,對(duì)于同一個(gè)index的數(shù)據(jù),會(huì)按照設(shè)定的分片數(shù)分別建立分片索引,這些分片索引可能位于同一臺(tái)服務(wù)器,也可能不同。同時(shí),各分片索引還需要為自己對(duì)應(yīng)的副本進(jìn)行同步,直到副本寫入成功,一次寫入才算完整的完成。當(dāng)然,單個(gè)文檔的寫入請(qǐng)求只會(huì)涉及到一個(gè)分片的寫入。搜索場(chǎng)景則大致是逆過(guò)程,接受請(qǐng)求的節(jié)點(diǎn)將請(qǐng)求分發(fā)至所有承擔(dān)該分片查詢請(qǐng)求的節(jié)點(diǎn),然后匯總查詢請(qǐng)求。這里值得注意的是,任意一個(gè)搜索請(qǐng)求均需要在該index的所有分片上執(zhí)行。

    由于ElasticSearch是一個(gè)搜索框架,對(duì)于所有的搜索請(qǐng)求,都必須搜索所有的分片。對(duì)于一個(gè)針對(duì)內(nèi)容的搜索應(yīng)用來(lái)說(shuō),這顯然沒(méi)有什么問(wèn)題,因?yàn)閷?duì)應(yīng)的內(nèi)容會(huì)被存儲(chǔ)到哪一個(gè)分片往往是不可知的。然而對(duì)于日志、行為類數(shù)據(jù)則不然,因?yàn)楹芏鄷r(shí)候我們關(guān)注的是某一個(gè)特定時(shí)間段的數(shù)據(jù),這時(shí)如果我們可以針對(duì)性的搜索這一部分?jǐn)?shù)據(jù),那么搜索性能顯然會(huì)得到明顯的提升。

    同時(shí),這類數(shù)據(jù)往往具有另一個(gè)非常重要的特征,即時(shí)效性。很多時(shí)候我們的需求往往是這樣的:對(duì)于最近一段時(shí)間的熱數(shù)據(jù),其查詢頻率往往要比失去時(shí)效的冷數(shù)據(jù)高得多,而ElasticSearch這樣不加區(qū)分的分片方式顯然不足以支持這樣的需求。

    而另外一方面,ElasticSearch對(duì)于聚合分析場(chǎng)景的支持也是軟肋,典型的問(wèn)題是,使用Hyperloglog這類求基數(shù)的聚合函數(shù)時(shí),非常容易發(fā)生oom。這固然跟這類聚合算法的內(nèi)存消耗相對(duì)高有關(guān)(事實(shí)上,hll在基數(shù)估計(jì)領(lǐng)域是以內(nèi)存消耗低著稱的,高是相對(duì)count,sum這類簡(jiǎn)單聚合而言)。

    五、Tindex

    數(shù)果智能根據(jù)開源的方案自研了一套數(shù)據(jù)存儲(chǔ)的解決方案,該方案的索引層通過(guò)改造Lucene實(shí)現(xiàn),數(shù)據(jù)查詢和索引寫入框架通過(guò)擴(kuò)展Druid實(shí)現(xiàn)。既保證了數(shù)據(jù)的實(shí)時(shí)性和指標(biāo)自由定義的問(wèn)題,又能滿足大數(shù)據(jù)量秒級(jí)查詢的需求,系統(tǒng)架構(gòu)如下圖,基本實(shí)現(xiàn)了文章開頭提出的幾個(gè)目標(biāo)。

    Tindex主要涉及的幾個(gè)組件

    Tindex-Segment,負(fù)責(zé)文件存儲(chǔ)格式,包括數(shù)據(jù)的索引和存儲(chǔ),查詢優(yōu)化,以及段內(nèi)數(shù)據(jù)搜索與實(shí)時(shí)聚合等。Tindex是基于Lucene的思想重構(gòu)實(shí)現(xiàn)的,由于Lucene索引內(nèi)容過(guò)于復(fù)雜,但是其索引的性能在開源方案中比較完善,在數(shù)據(jù)的壓縮和性能之間做了很好的平衡。我們通過(guò)改造,主要保留了其必要的索引信息,比原有的Lucene節(jié)省了更多的存儲(chǔ)空間,同時(shí)也加快了查詢速度。主要改進(jìn)有以下幾點(diǎn):

    1、高效壓縮存儲(chǔ)格式

    對(duì)于海量行為數(shù)據(jù)的存儲(chǔ)來(lái)說(shuō),存儲(chǔ)容量無(wú)疑是一個(gè)不容忽視的問(wèn)題。對(duì)于使用索引的方案來(lái)說(shuō),索引后的數(shù)據(jù)容量通常相對(duì)原有數(shù)據(jù)會(huì)有一定程度的膨脹。針對(duì)這類情況,Tindex針對(duì)索引的不同部分,分別使用了不同形式的壓縮技術(shù),保障了能夠支持高效查詢的同時(shí)僅僅需要較少的容量。對(duì)于數(shù)據(jù)內(nèi)容部分,使用字典的方式編碼存儲(chǔ),每條記錄僅僅存儲(chǔ)文檔編號(hào)。對(duì)于字典本身的存儲(chǔ),使用了前綴壓縮的方式,從而降低高基數(shù)維度的空間消耗。實(shí)際情況下,使用 Tindex 壓縮后的數(shù)據(jù)占用的存儲(chǔ)容量?jī)H僅為原始數(shù)據(jù)的1/5左右。

    2、列式倒排和正向索引的存儲(chǔ)

    由于實(shí)際使用中,往往需要同時(shí)支持搜索和聚合兩種場(chǎng)景,而這兩種方式對(duì)于索引結(jié)構(gòu)的需求是完全相反的。針對(duì)這兩種情況,Tindex結(jié)合了倒排索引和列正向索引這兩種不同類型的索引。對(duì)于倒排索引部分,使用字典和跳表等技術(shù),實(shí)現(xiàn)了數(shù)據(jù)的快速檢索,而對(duì)于正向部分,則通過(guò)高效的壓縮技術(shù),實(shí)現(xiàn)了對(duì)于海量行下指定列的快速讀取。同時(shí),根據(jù)不同的情況,可以選擇性的只建立其中一種索引(默認(rèn)情況對(duì)于每一列均會(huì)同時(shí)建兩種索引),從而節(jié)省大約一般的存儲(chǔ)空間和索引時(shí)間。

    Tindex-Druid,負(fù)責(zé)分布式查詢引擎、指標(biāo)定義引擎、數(shù)據(jù)的實(shí)時(shí)導(dǎo)入、實(shí)時(shí)數(shù)據(jù)和元數(shù)據(jù)管理以及數(shù)據(jù)緩存。之所以選擇Druid是因?yàn)槲覀儼l(fā)現(xiàn)其框架擴(kuò)展性、查詢引擎設(shè)計(jì)的非常好,很多性能細(xì)節(jié)都考慮在內(nèi)。例如:

    • 堆外內(nèi)存的復(fù)用,避免GC問(wèn)題;

    • 根據(jù)查詢數(shù)據(jù)的粒度,以Sequence的方式構(gòu)建小批量的數(shù)據(jù),內(nèi)存利用率更高;

    • 查詢有bySegment級(jí)別的緩存,可以做到大范圍固定模式的查詢;

    • 多種query,最大化提升查詢性能,例如topN、timeSeries等查詢等等。

    框架可靈活的擴(kuò)展,也是我們考慮的一個(gè)很重要的元素,在我們重寫了索引后,Druid社區(qū)針對(duì)高基數(shù)維度的查詢上線了groupByV2,我們很快就完成了groupByV2也可見其框架非常靈活。

    在我們看來(lái),Druid的查詢引擎很強(qiáng)大,但是索引層還是針對(duì)OLAP查詢的場(chǎng)景,這就是我們選擇Druid框架進(jìn)行索引擴(kuò)展的根本原因。 另外其充分考慮分布式的穩(wěn)定性,HA策略,針對(duì)不同的機(jī)器設(shè)備情況和應(yīng)用場(chǎng)景,靈活的配置最大化利用硬件性能來(lái)滿足場(chǎng)景需要也是我們所看重的。

    在開源的Druid版本上自研,繼承了Druid所有優(yōu)點(diǎn)的同時(shí),對(duì)查詢部分代碼全部重新實(shí)現(xiàn),從而在以下幾個(gè)方面做了較大改進(jìn):

    1、去掉指標(biāo)預(yù)聚合,指標(biāo)可以在查詢時(shí)自由定義:

    對(duì)于數(shù)據(jù)接入來(lái)說(shuō),不必區(qū)分維度和指標(biāo),只需要定義數(shù)據(jù)類型即可,數(shù)據(jù)使用原始數(shù)據(jù)的方式進(jìn)行存儲(chǔ)。當(dāng)需要聚合時(shí),在查詢時(shí)定義指標(biāo)即可。假設(shè)我們要接入一條包含數(shù)字的數(shù)據(jù),我們現(xiàn)在只需要定義一個(gè)float類型的普通維度。

    2、支持多種類型:

    不同于原生的Druid只支持string類型維度的情況,我們改進(jìn)后的版本可以支持string, int, long, float、時(shí)間等多種維度類型。在原生的Druid中,如果我們需要一個(gè)數(shù)值型的維度,那么我們只能通過(guò)string來(lái)實(shí)現(xiàn),這樣會(huì)帶來(lái)一個(gè)很大的問(wèn)題,即基于范圍的過(guò)濾不能利用有序的倒排表,只能通過(guò)逐個(gè)比較來(lái)實(shí)現(xiàn)(因?yàn)槲覀儾荒馨炎址笮‘?dāng)成數(shù)值大小,這樣會(huì)導(dǎo)致這樣的結(jié)果‘12’ < ’2’),從而性能會(huì)非常差,因?yàn)閿?shù)值類型維度很容易出現(xiàn)高基維。對(duì)于改進(jìn)后的版本,這樣的問(wèn)題就簡(jiǎn)單多了,將維度定義為對(duì)應(yīng)的類型即可。

    3、實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)加載:

    原有的Druid線上的數(shù)據(jù),需要在啟動(dòng)時(shí),全部加載才可以提供查詢服務(wù)。我們通過(guò)改造,實(shí)現(xiàn)了LRU策略,啟動(dòng)的時(shí)候只需要加載段的元數(shù)據(jù)信息和少量的段信息即可。一方面提升了服務(wù)的啟動(dòng)時(shí)間,另外一方面,由于索引文件的讀取基本都是MMap,當(dāng)有大量數(shù)據(jù)段需要加載,在內(nèi)存不足的情況,會(huì)直接使用磁盤swap Cache換頁(yè),嚴(yán)重影響查詢性能。數(shù)據(jù)動(dòng)態(tài)加載的很好的避免了使用磁盤swap Cache換頁(yè),查詢都盡量使用內(nèi)存,可以通過(guò)配置,最大限度的通過(guò)硬件環(huán)境提供最好的查詢環(huán)境。

    HDFS,大數(shù)據(jù)發(fā)展這么多年,HDFS已經(jīng)成為PB級(jí)、ZB級(jí)甚至更多數(shù)據(jù)的分布式存儲(chǔ)標(biāo)準(zhǔn),很成熟了,所以數(shù)果也選用HDFS,不必重新造輪子。Tindex與HDFS可以完美結(jié)合,可以作為一個(gè)高壓縮、自帶索引的文件格式,兼容Hive,Spark的所有操作。

    Kafka/MetaQ,消息隊(duì)列,目前Tindex支持kafka、MetaQ等消息隊(duì)列,由于Tindex對(duì)外擴(kuò)展接口都是基于SPI機(jī)制實(shí)現(xiàn),所以如有需要也可以擴(kuò)展支持更多的消息隊(duì)列。

    Ecosystem Tools,負(fù)責(zé)Tindex的生態(tài)工具支持,目前主要支持Spark、Hive,計(jì)劃擴(kuò)展支持Impala、Drill等大數(shù)據(jù)查詢引擎。

    支持冷數(shù)據(jù)下線,通過(guò)離線方式(spark/Hive)查詢,對(duì)于時(shí)序數(shù)據(jù)庫(kù)普遍存在的一個(gè)問(wèn)題是,對(duì)于失去時(shí)效性的數(shù)據(jù),我們往往不希望它們繼續(xù)占據(jù)寶貴的查詢資源。然后我們往往需要在某些時(shí)候?qū)λ麄儾樵儭?duì)于Tindex而言,可以通過(guò)將超過(guò)一定時(shí)間的數(shù)據(jù)定義為冷數(shù)據(jù),這樣對(duì)應(yīng)的索引數(shù)據(jù)會(huì)從查詢節(jié)點(diǎn)下線。當(dāng)我們需要再次查詢時(shí),只需要調(diào)用對(duì)應(yīng)的離線接口進(jìn)行查詢即可。

    SQL Engine,負(fù)責(zé)SQL語(yǔ)義轉(zhuǎn)換及表達(dá)式定義。

    Zookeeper,負(fù)責(zé)集群狀態(tài)管理。

    未來(lái)還會(huì)持續(xù)優(yōu)化改造后的Lucene索引,來(lái)得到更高的查詢性能。優(yōu)化指標(biāo)聚合方式,包括:小批量的處理數(shù)據(jù),充分利用CPU向量化并行計(jì)算的能力;利用code compile避免聚合虛函數(shù)頻繁調(diào)用;與大數(shù)據(jù)生態(tài)對(duì)接的持續(xù)完善等等。

    轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/articles/9981526.html

    總結(jié)

    以上是生活随笔為你收集整理的万亿级日志与行为数据存储查询技术剖析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    9幺看片 | 韩国一区二区三区在线观看 | 精品亚洲视频在线观看 | 91视频3p | 国产美女免费观看 | 国产成人精品久久亚洲高清不卡 | 探花视频免费观看 | 中文字幕黄色网址 | 天天干天天做天天操 | 天天插天天狠天天透 | 天天综合五月天 | 亚洲日本va中文字幕 | 99精品视频免费观看 | 久久精品看片 | 日本中文字幕在线播放 | 亚洲精品乱码久久久久久高潮 | 亚洲成人999| 五月天婷婷丁香花 | 久草免费色站 | av观看免费在线 | 国产aaa毛片 | 日日日操 | 亚洲一级二级 | 久久99久久精品国产 | 色狠狠综合天天综合综合 | 久久久黄色免费网站 | 一区二区视频在线免费观看 | 久久色网站 | 麻豆 videos| 草久在线观看视频 | 99热这里有 | 精品久久五月天 | 一级片色播影院 | 日韩在线高清免费视频 | 天天操综合网 | 久久经典国产视频 | 最新极品jizzhd欧美 | 精品美女久久 | 亚洲日本va午夜在线影院 | 97av视频 | 欧美 日韩 国产 成人 在线 | 成年人国产视频 | 97超碰人人 | 337p日本大胆噜噜噜噜 | 免费日韩一区二区三区 | 在线激情影院一区 | 久久一区二区三区国产精品 | 国产精品嫩草在线 | 国产一级免费在线观看 | 国产黄色片免费在线观看 | 国产99一区视频免费 | 日韩电影在线一区二区 | 日韩久久精品一区二区 | 伊人永久在线 | 欧美日韩一区二区三区不卡 | 色97在线 | 天天草夜夜 | 久久a热6| 成人在线黄色 | 国产精品大尺度 | 国产精品久久久久婷婷二区次 | 91麻豆免费视频 | 国产黄色高清 | 久久福利影视 | 成人一级片视频 | 国产欧美日韩视频 | 久久久久欧美精品 | 亚洲精品美女久久久 | 日韩成人黄色av | 午夜精品一二区 | 色综合久久久网 | 高清免费在线视频 | 国产精品亚洲a | 国产精品 久久 | 色多多在线观看 | 国产精品免费看 | 久久黄色免费视频 | 操操爽| 久久久久久久久久久影视 | 黄色免费高清视频 | 中文字幕在线影院 | 综合色狠狠 | 日韩国产精品一区 | 亚洲丁香久久久 | 久久久久久久国产精品视频 | 五月婷社区 | 国产不卡在线播放 | 69av免费视频| 91精品国产综合久久婷婷香蕉 | 久久男人免费视频 | 狠狠狠色丁香婷婷综合激情 | 人人爽人人做 | 91av99 | 国产夫妻自拍av | 亚洲天堂网视频在线观看 | av成人动漫在线观看 | 五月婷婷影院 | 欧美-第1页-屁屁影院 | 国产黄色看片 | 欧美激情精品久久久久久变态 | 成人黄色免费在线观看 | 久久与婷婷 | 99精品视频在线免费观看 | 久久久午夜精品福利内容 | 亚洲精品高清一区二区三区四区 | 97超碰资源站 | 国产福利精品在线观看 | 欧美日韩在线播放 | 91av视频免费观看 | 日韩免费不卡av | 三级a视频 | 国产中文字幕亚洲 | 国产99色 | 亚洲综合导航 | 国产视频久久 | 国产精品九九视频 | 午夜久久久久久久 | www.超碰 | se婷婷| 黄色91免费观看 | 激情五月av | 国产一级小视频 | 亚洲成人av在线播放 | 天天干天天射天天爽 | 香蕉视频亚洲 | 日韩一级片大全 | 色婷婷天天干 | 日韩av网址在线 | 麻豆传媒一区二区 | 婷婷色综合 | 狠狠色丁香婷婷综合视频 | 天天干夜夜想 | 黄色三级网站 | 9色在线视频 | 日韩国产高清在线 | 欧美日韩视频在线观看一区二区 | 狠狠色丁香久久婷婷综 | 日韩在线观 | 黄色免费视频在线观看 | 狠狠色丁香婷婷综合橹88 | 日产av在线播放 | 天天干天天拍天天操天天拍 | 日韩成人精品一区二区三区 | 天堂在线v | 国产免费国产 | 久久综合狠狠 | 亚洲男人天堂2018 | 欧美日韩国产mv | 奇米影音四色 | 国产在线毛片 | 天天干夜夜爱 | 亚洲成熟女人毛片在线 | 亚洲国产剧情av | 少妇做爰k8经典 | 久视频在线| 欧洲精品在线视频 | 久久av免费电影 | 在线最新av | 久久婷五月 | 免费在线观看日韩视频 | 国产精品一区专区欧美日韩 | 18国产精品白浆在线观看免费 | 天天综合成人网 | 午夜999 | 日韩电影一区二区在线观看 | 久久久免费在线观看 | 色婷婷中文 | 在线观看免费一区 | 久久免费精品 | 亚洲精品高清一区二区三区四区 | 欧美尹人| 亚洲欧美偷拍另类 | 亚洲视频免费在线观看 | 操操综合网 | 亚洲性xxxx| 亚州精品一二三区 | 天堂av观看 | 五月天亚洲激情 | 人人干狠狠操 | 国产精品久久久久久久妇 | 日本丶国产丶欧美色综合 | 色婷婷综合久久久 | 四虎在线观看视频 | 日韩在线视频网 | 俺要去色综合狠狠 | 国产精品国产三级国产aⅴ无密码 | 欧美午夜久久久 | 玖玖色在线观看 | 美女搞黄国产视频网站 | 久久免费高清 | 精品久久一区二区 | 91高清视频在线 | 中文字幕亚洲综合久久五月天色无吗'' | av中文字幕av | 日韩视频中文字幕 | 婷婷精品在线视频 | 久久精品国产亚洲精品 | 中文字幕在线观看免费高清完整版 | 黄色成人在线观看 | 国产精品综合在线 | 欧美另类xxx| 中文字幕韩在线第一页 | 国产精品视频地址 | 在线观看亚洲精品视频 | 96视频免费在线观看 | 国产涩涩在线观看 | 亚洲免费色 | 激情av在线播放 | 久久久婷| 日韩欧美黄色网址 | 欧美激情视频一区 | 欧美日韩视频一区二区 | 亚洲欧美视屏 | 色六月婷婷| 日韩av中文字幕在线免费观看 | 91激情视频在线观看 | 精品久久综合 | 欧美在线1区 | 欧美专区日韩专区 | 亚洲免费资源 | 久久综合中文色婷婷 | 国产大片免费久久 | 中文字幕亚洲不卡 | 91精品1区 | 国产视频一区在线 | 天天操天天干天天操天天干 | 欧美久久久久久久 | 精精国产xxxx视频在线播放 | 精品1区二区 | 国产日韩精品一区二区三区 | .国产精品成人自产拍在线观看6 | 免费男女羞羞的视频网站中文字幕 | 少妇资源站 | 蜜臀av.com | 亚洲精品mv在线观看 | 国产精品11 | 91av在线视频免费观看 | 久草免费电影 | 亚洲免费精品一区二区 | 9在线观看免费高清完整版 玖玖爱免费视频 | 夜夜躁日日躁狠狠躁 | 超碰av免费| 在线观看视频免费播放 | 看全黄大色黄大片 | 久99久精品 | 99超碰在线观看 | 色中文字幕在线观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 亚洲涩综合 | 久久高视频 | 伊人成人激情 | 九九久久久久久久久激情 | 日本精品一区二区三区在线播放视频 | 欧美午夜精品久久久久久浪潮 | 中文字幕久久精品 | 在线观看国产区 | 日韩美精品视频 | 狠狠狠狠狠狠天天爱 | 97爱爱爱| 中文字幕xxxx| 国产剧情一区二区 | 中文字幕乱码日本亚洲一区二区 | 精品主播网红福利资源观看 | 中文国产在线观看 | 岛国精品一区二区 | 日本二区三区在线 | 日韩中文字幕国产精品 | 亚洲精品国产麻豆 | 精品久久久久久国产偷窥 | 伊人久久av | 国产人成看黄久久久久久久久 | 亚洲精品中文字幕视频 | 五月天婷亚洲天综合网鲁鲁鲁 | 亚洲日本va午夜在线影院 | 在线成人观看 | 国产精品精品久久久久久 | 精品久久久久_ | 国产视频一区在线免费观看 | 日韩午夜大片 | 五月婷婷在线视频观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产色在线 | 福利区在线观看 | 三级av黄色| 中文字幕一区二区三区四区 | 天天爱天天操天天爽 | 国产一级电影网 | 午夜久久福利视频 | 午夜精品久久久久久久久久 | 天天干天天射天天插 | www.五月婷婷.com | 久9在线 | 特级西西人体444是什么意思 | 亚洲天堂网在线观看视频 | 91天堂影院 | 国产亚洲精品久久久久久大师 | 2023亚洲精品国偷拍自产在线 | 97超级碰碰碰视频在线观看 | 五月开心激情网 | 日本黄色a级大片 | 国产成人三级一区二区在线观看一 | 精品黄色在线观看 | 狠狠插天天干 | 久久这里只有精品视频99 | 色视频国产直接看 | 日韩精品视| 国产成人综合图片 | 日韩有码在线播放 | 天天曰天天干 | 国产大陆亚洲精品国产 | 色在线亚洲 | www.天天射 | 久草在线资源观看 | 国产亚洲综合性久久久影院 | 男女视频91 | 男女视频91 | 精品国产99 | 久草视频资源 | 精品国产一区二区三区久久久久久 | 91字幕| 中文字幕在线观看免费高清完整版 | av在线一| 激情综合国产 | 亚洲精品福利视频 | 青草视频免费观看 | 色激情在线 | 日韩免费在线观看 | 成人午夜影院在线观看 | 久草在线中文视频 | 日韩av电影免费在线观看 | 91精品久久久久久 | 亚洲精品国产精品国自产观看 | 色婷婷狠狠18 | 久久久精品免费观看 | 久久国产精品99国产精 | 久久久国产一区二区三区四区小说 | 久久在线视频在线 | 国产男女无遮挡猛进猛出在线观看 | 欧美成人精品欧美一级乱黄 | 亚洲热视频 | 欧美成人猛片 | 久久99九九99精品 | 激情视频91 | 黄色91免费观看 | 成人h在线播放 | 精品国产午夜 | 久久99热精品 | 六月丁香伊人 | av中文字幕在线免费观看 | 婷婷深爱 | 91精品久久久久久 | 中文字幕在线观看网站 | 国产免费叼嘿网站免费 | 日韩欧美精品在线 | 天天干,夜夜操 | 国产精品久久久久一区二区 | 网站在线观看日韩 | 日韩在线观看第一页 | 高清不卡一区二区在线 | 亚洲精品免费在线 | 丁香六月婷婷综合 | 久久精品站 | 国产无遮挡又黄又爽馒头漫画 | 色午夜 | 色噜噜日韩精品一区二区三区视频 | 人人澡视频 | 亚洲三级黄 | 亚洲天堂免费视频 | 91久久爱热色涩涩 | 国产精品欧美久久 | 欧美久久久久久久久久 | 国产69久久久 | 久久99国产精品二区护士 | 国产精品一区久久久久 | 久久av一区二区三区亚洲 | 涩涩在线 | 精品国产乱码久久 | 成人久久久久 | 日韩精品在线免费观看 | 五月婷婷视频在线 | 久久国产一区二区 | 国产精品一区免费在线观看 | 久久综合影音 | 国产精品亚 | 成人一级片免费看 | 美女视频永久黄网站免费观看国产 | 亚洲精品国精品久久99热 | 亚洲少妇影院 | 又黄又爽又色无遮挡免费 | 国产99久久久久 | 久久第四色 | 视频一区二区三区视频 | 国产亚洲精品久久久久久久久久 | 免费日韩视频 | 中文字幕久久精品一区 | 欧美另类xxxxx | 亚洲国产美女精品久久久久∴ | 国产一级电影在线 | 欧美日韩调教 | 中文字幕在线视频一区二区三区 | 久久99久国产精品黄毛片入口 | 91视频午夜 | 日本性生活一级片 | 国产黄大片在线观看 | 亚洲欧美怡红院 | 国产精品免费看久久久8精臀av | 色国产视频 | 国产高清视频在线免费观看 | 日日摸日日添日日躁av | 欧美午夜a | 色视频 在线 | 国内丰满少妇猛烈精品播 | 中文字幕视频一区二区 | 国产福利av在线 | 97超碰国产精品女人人人爽 | 国产精品久久久久久欧美 | 99中文字幕 | www.久久免费 | 高清av免费一区中文字幕 | 亚洲桃花综合 | 日韩精品免费一区 | 一区二区影院 | 国产精品久久久久永久免费看 | 黄色大片免费网站 | 91cn国产在线| 成人小视频在线观看免费 | 日本女人在线观看 | 色综合久久久久综合体桃花网 | 超碰97人| 91人人视频在线观看 | 亚洲一级在线观看 | 日韩精品一区二区三区中文字幕 | 亚洲闷骚少妇在线观看网站 | .国产精品成人自产拍在线观看6 | 中文字幕视频免费观看 | 国产日韩欧美在线看 | 亚洲资源片| wwwwww色| 亚洲女欲精品久久久久久久18 | 久久久久久免费 | 日韩和的一区二在线 | 久久99深爱久久99精品 | 国内小视频在线观看 | av在线观| 国产永久网站 | 免费在线观看污 | 国产色啪 | 亚在线播放中文视频 | 亚洲,国产成人av | 日韩欧美精选 | av片在线观看免费 | 国产三级午夜理伦三级 | 久久99精品国产麻豆婷婷 | 色婷婷播放 | 麻豆视频免费观看 | 欧美a级片免费看 | 91九色蝌蚪视频 | 91福利视频免费观看 | 精品一二三四在线 | 欧美一级性生活视频 | 国产精品每日更新 | 美女视频一区二区 | 国产视频在线免费 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国产色婷婷精品综合在线手机播放 | 国产精品理论在线观看 | 久久玖 | 涩涩色亚洲一区 | 欧美 亚洲 另类 激情 另类 | 国产精品乱码久久久久久1区2区 | 亚州欧美精品 | 国产亚洲一区二区三区 | 黄色av一区二区三区 | 欧美日韩国产精品一区二区亚洲 | 亚洲视频2 | 免费在线观看污网站 | 欧美最爽乱淫视频播放 | 91爱爱网址| 波多野结衣在线中文字幕 | 狠狠色狠狠色终合网 | 在线观看中文字幕dvd播放 | 亚洲精品网站 | 免费看片色 | 国产精品毛片一区 | 九九综合在线 | 久久爱综合| 国产精品一区一区三区 | 日韩av影视 | 日韩精品不卡在线 | 国产一区二区三区四区大秀 | 亚洲国产av精品毛片鲁大师 | www亚洲国产 | 中国美女一级看片 | 国产精品人人做人人爽人人添 | 国产精品久久久久久久99 | 91在线免费看片 | 精品久久网站 | 色综合天天狠天天透天天伊人 | 国产aa免费视频 | 日韩精品中文字幕av | 超级碰碰碰免费视频 | 97电影院在线观看 | 免费的黄色的网站 | 国产午夜精品久久久久久久久久 | 依人成人综合网 | 天天色天天干天天色 | 91久久国产综合精品女同国语 | 九九久久久 | 国产伦理一区二区三区 | 国产美女网站视频 | 激情视频综合网 | 伊人久久精品久久亚洲一区 | 激情久久五月天 | 天天操网站 | 91精品1区 | 久热爱| 日韩免费小视频 | 亚洲极色 | 成人黄色短片 | 毛片永久新网址首页 | 久久久久久久国产精品影院 | 国产精品精品久久久久久 | 国产资源在线观看 | 国产麻豆视频免费观看 | 精品在线观看一区二区 | 免费男女羞羞的视频网站中文字幕 | 国内精品亚洲 | 狠狠色狠狠色合久久伊人 | 亚洲久草在线 | 国产精品观看视频 | 午夜丁香视频在线观看 | 国产亚洲va综合人人澡精品 | 深夜视频久久 | 日韩在线观看视频中文字幕 | 偷拍视频一区 | 国产美女视频免费 | 夜添久久精品亚洲国产精品 | 国产成人免费 | 91精品视频免费观看 | 国产高清免费视频 | 在线播放av网址 | 五月天亚洲婷婷 | 国产在线观看,日本 | 久久精品国产亚洲 | 国产高清在线永久 | 狠狠撸电影 | 精品亚洲免费 | 黄色大片中国 | 久久久国产一区二区三区四区小说 | 狠狠夜夜| 精品国产一区二区三区日日嗨 | 久久久国产精品一区二区中文 | 久久一级片 | 超碰97中文 | 国产一区二区精品 | 国产精品久久久视频 | 国产中文伊人 | 玖玖爱在线观看 | 久久九九影视网 | 久久久国产99久久国产一 | 91在线在线观看 | 最近最新中文字幕视频 | 夜夜爽天天爽 | 91视频3p| 91麻豆文化传媒在线观看 | 国产精久久久久久久 | 伊人va | 欧美一区,二区 | www.av免费观看 | 国产精品视频最多的网站 | 久插视频 | 国产精品porn| 久久99视频免费 | 午夜婷婷在线观看 | 婷婷亚洲五月色综合 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 九九在线精品视频 | 成人久久18免费网站麻豆 | 一区二区三区污 | 狠狠五月婷婷 | 国产永久免费高清在线观看视频 | 亚洲精品mv在线观看 | 日韩毛片在线一区二区毛片 | 久久免费视频在线观看6 | 免费在线h| 中文字幕首页 | 国产破处精品 | 成人丝袜 | 91中文视频 | 婷婷黄色片 | 91网页版在线观看 | 探花视频免费观看 | 青青草国产成人99久久 | 欧美日韩免费在线观看视频 | 九九免费在线看完整版 | 99久久久久久 | 国产一区二区久久久久 | 日韩一区二区三区免费视频 | 国产视频不卡 | 色综合小说 | 国产自产在线视频 | 日韩免费av片| 性色在线视频 | 一区二区三区福利 | 人人爽人人爽人人爽 | 免费麻豆 | 国产亚洲视频系列 | 精品欧美日韩 | 国产一区二区手机在线观看 | 96av在线视频 | 91人人视频在线观看 | 白丝av免费观看 | 在线成人一区二区 | 日韩一区二区三区免费电影 | 亚洲视频第一页 | 久久成人综合 | 亚洲视屏在线播放 | 97视频人人免费看 | 久久免费视频3 | 九九精品视频在线看 | 精品国产一区在线观看 | 日韩精品第一区 | 中文字幕在线观看亚洲 | 成人免费观看大片 | 在线播放第一页 | 免费aa大片 | 久久激情婷婷 | 成人a v视频 | 色噜噜在线观看视频 | 久久精品福利视频 | 九月婷婷色| 成人国产精品av | 亚洲精品女人 | 久久久www成人免费精品 | 这里只有精品视频在线 | 天天激情天天干 | 亚洲精品乱码久久久一二三 | 六月婷婷久香在线视频 | 亚洲免费av观看 | 久久香蕉影视 | 久久久久亚洲a | 黄色小说在线观看视频 | av解说在线观看 | 97色婷婷成人综合在线观看 | 久久久久久久免费看 | 综合网色 | 中文字幕日本在线观看 | 日本免费一二三区 | 91麻豆传媒 | 婷婷色 亚洲 | 亚洲精品视频播放 | 黄色小说网站在线 | 国产黄a三级 | 国产精品一区二区在线播放 | 久久av高清 | 亚洲亚洲精品在线观看 | 青青河边草观看完整版高清 | 最近中文字幕视频网 | 中文字幕在线精品 | 波多野结衣一区三区 | 中文一区在线观看 | 欧美激情一区不卡 | 国产成人精品久久久久蜜臀 | 天天操天天弄 | 成人黄色小说在线观看 | 最新在线你懂的 | 国产色婷婷精品综合在线手机播放 | 天天摸天天干天天操天天射 | 狠狠色噜噜狠狠狠狠2021天天 | 日韩视频图片 | 免费在线看成人av | 亚洲极色| 日韩一区二区三区高清在线观看 | 久久国产精品一国产精品 | 最近中文国产在线视频 | 一区二区三高清 | 精品国精品自拍自在线 | 久久视频在线看 | 午夜精品久久久久久久99热影院 | 免费观看性生活大片 | 国产麻豆剧传媒免费观看 | 日韩免费大片 | 天天操天天干天天综合网 | 久久免费在线观看视频 | 久久久免费视频播放 | 午夜在线免费视频 | 国产精品福利视频 | 五月天电影免费在线观看一区 | 亚洲日本三级 | 亚洲天天综合网 | 97在线看 | 日本精品视频在线播放 | 成人午夜电影免费在线观看 | 午夜久久福利 | 国产午夜精品一区二区三区四区 | 欧美精品v国产精品v日韩精品 | 91视频在线免费看 | 樱空桃av| 国产精品九九久久久久久久 | 天天干天天玩天天操 | 日韩高清在线观看 | 91免费在线视频 | 成人免费大片黄在线播放 | 国产97在线播放 | 91精品办公室少妇高潮对白 | 中国老女人日b | 亚洲欧美日韩中文在线 | 国产亚洲精品久久久久久无几年桃 | 黄色成人av| www.狠狠操.com| 国内99视频| 久久精品视频中文字幕 | 久久久亚洲成人 | 日韩在线观看av | 亚洲午夜久久久综合37日本 | 激情久久伊人 | 日韩在线免费小视频 | free,性欧美 九九交易行官网 | 色先锋av资源中文字幕 | 一本一本久久a久久精品牛牛影视 | 欧美精品一区二区三区四区在线 | www.午夜视频| 久久久久女教师免费一区 | 日韩h在线观看 | 国产精品久久久久久久久久久久冷 | 中文久久精品 | 中文字幕在线观看完整版 | 久久国产色 | 久久久精品国产一区二区电影四季 | 婷婷激情网站 | 日本中文字幕在线一区 | 免费看三级| 国产日韩三级 | 日本久久免费视频 | 亚洲天堂首页 | www四虎影院 | 久久综合加勒比 | 四虎影视国产精品免费久久 | 丁香激情视频 | 亚洲一区二区视频在线播放 | 99久久日韩精品免费热麻豆美女 | 丁香影院在线 | 中文字幕大全 | 91免费在线播放 | 69av免费视频| 九九交易行官网 | 久久成人免费电影 | 国产露脸91国语对白 | 精品国产一区二区三区四区在线观看 | 五月婷影院 | 精品亚洲国产视频 | 天天做日日做天天爽视频免费 | 成人精品99| 欧美在线视频第一页 | 免费看片日韩 | 亚洲精品五月天 | 久久视频国产精品免费视频在线 | 在线观看aa| 久久综合五月天婷婷伊人 | 久久试看| 91看片淫黄大片一级在线观看 | 国产片免费在线观看视频 | 久久综合色天天久久综合图片 | 97自拍超碰 | 久久97久久97精品免视看 | 狠狠色香婷婷久久亚洲精品 | 午夜成人免费影院 | 亚洲精品永久免费视频 | 91av在| 中文字幕在线人 | 国产精品免费一区二区三区在线观看 | 亚洲激情 在线 | 00av视频 | 一区二区三区四区五区在线 | 在线观看91精品国产网站 | 综合五月婷婷 | www.狠狠操| 久久成人免费视频 | 久久综合九色综合97_ 久久久 | 五月婷婷在线播放 | 超碰在线免费97 | 97在线观看免费高清 | 国产精品福利一区 | 另类老妇性bbwbbw高清 | 亚洲免费视频观看 | 国产日韩欧美在线观看视频 | 香蕉视频网址 | 二区三区精品 | 亚洲精品国产区 | 久久黄网站 | 黄色性av| 国产又粗又猛又色 | 人人干97 | 国产四虎影院 | www.日本色| 久精品一区 | 综合天堂av久久久久久久 | 开心色插 | 四虎www| 91大神免费视频 | 一二三久久久 | 国产成人在线观看免费 | 免费a视频在线 | 亚洲黄色影院 | 国产区高清在线 | 93久久精品日日躁夜夜躁欧美 | 国产精品中文 | 丁香久久激情 | 人人狠狠综合久久亚洲婷 | 在线亚洲欧美视频 | 日韩免费一级电影 | 99久久久久久 | 国产a国产| 久久免费视频网 | 久久a免费视频 | 国产免费嫩草影院 | 中文网丁香综合网 | 中文字幕中文字幕在线一区 | 国产精品久久嫩一区二区免费 | 日韩一级片观看 | 在线看v片成人 | 中文字幕在线观看第三页 | 99久久久久久| 在线中文字幕视频 | 国产一区电影在线观看 | 天天射天天拍 | 亚洲成成品网站 | 久久久久久免费 | 免费亚洲视频 | 国产精品一区二区在线免费观看 | 久久超| 亚洲无在线 | 99热官网 | 婷婷色六月天 | 午夜久久成人 | av黄色一级片 | 成人一区在线观看 | 久久大香线蕉app | 天天插天天色 | 一区二区精品国产 | 久草精品视频在线播放 | 欧美日本不卡 | 91麻豆福利 | 久久天 | 婷婷久久网 | 在线视频一区二区 | 91精品久久久久久久久久久久久 | 色综合久久久久综合体桃花网 | www.狠狠色| 五月天亚洲婷婷 | 波多野结衣在线视频一区 | 欧美经典久久 | 成人在线一区二区三区 | 欧美日韩在线视频一区 | 中文字幕亚洲综合久久五月天色无吗'' | av在线免费观看不卡 | 久草在线手机视频 | 欧洲av不卡 | 国产精品精 | 久久激情视频网 | 欧美日韩高清一区二区 | 日韩欧美视频一区二区 | 久久首页 | 91视频-88av| 欧美成人999 | 国产精品久久久久久模特 | 综合久久综合久久 | 日韩av中文在线观看 | 久久狠狠一本精品综合网 | 国产婷婷精品 | 久久爱www. | 精品国偷自产国产一区 | 国产中文字幕av | 激情导航 | 在线韩国电影免费观影完整版 | 色综合久久久久 | 亚洲第一区精品 | 免费在线播放av电影 | 9免费视频 | 欧美日韩一区二区三区不卡 | 亚洲精品国产精品国自产 | adn—256中文在线观看 | 四虎永久国产精品 | 国产精品毛片久久久久久久久久99999999 | 国产高清不卡在线 | 一区二区三区免费在线播放 | www.五月婷婷.com | 国产精品刺激对白麻豆99 | 久久久www | 粉嫩av一区二区三区四区五区 | 亚洲精欧美一区二区精品 | 亚洲精品国产精品国产 | 999久久a精品合区久久久 | 娇妻呻吟一区二区三区 | 成人在线一区二区三区 | 精品国产一区二区三区久久久久久 | 亚洲一区动漫 | av天天色 | 日日操日日操 | 国产精品久久网站 | 丁香狠狠| 久久久高清一区二区三区 | 国产原创av片| 婷婷丁香综合 | 精品久操 | 国产在线观看a | 欧美一级久久久久 | 国产一区二区免费看 | 99久久久国产精品免费观看 | 成人精品一区二区三区电影免费 | 亚洲精品美女 | 一二三区av | 亚洲人成在线电影 | 天堂av在线网站 | 日韩精品中文字幕一区二区 | 五月婷婷免费 | 国产91欧美 | 日日碰狠狠躁久久躁综合网 | 九九热久久免费视频 | 一级黄色片在线播放 | 一区二区三区在线免费播放 | 高清av免费一区中文字幕 | 婷婷伊人五月 | 欧美日韩国产亚洲乱码字幕 | 亚洲国产成人久久综合 | 国产成人免费av电影 | 美女国内精品自产拍在线播放 | 亚洲视频久久 | 91精品国产成 | 国产123av| 久久久久久黄 | 欧美成人免费在线 | 欧美成人视 | 91精品在线免费观看 | av在线播放国产 | 欧美视频www | 中日韩三级视频 | 久久66热这里只有精品 | 91片黄在线观看动漫 | 日韩国产高清在线 | 香蕉网站在线观看 | 国产理论影院 | 欧美精品中文在线免费观看 | 久草视频99 | 亚洲午夜精品久久久久久久久久久久 | 一区二区三区精品在线视频 | 久久激情视频免费观看 | 国产在线精 | 久久中文字幕在线视频 | 91大片网站 | 中文字幕在线免费看线人 | 日韩高清毛片 | www激情com| 色综合天天天天做夜夜夜夜做 | 久久久人 | 青青河边草免费直播 | 国产亚州精品视频 | 99这里都是精品 | 久久精品欧美 | 久久男人视频 | 草 免费视频 | 久草免费在线 | 香蕉网址 | 中文字幕亚洲高清 | 成人啊 v | 国产又粗又猛又爽又黄的视频免费 | 色视频网站在线观看一=区 a视频免费在线观看 | 精品人人人 | 在线观看免费福利 | 国产盗摄精品一区二区 | 日本中文字幕网址 | 高清免费av在线 | 亚洲精品一区二区三区在线观看 | 精品免费视频123区 午夜久久成人 | 免费看成人a | 国产精品久久久久久久久久久久久 | 国产亚洲欧美日韩高清 | 超碰97.com | 国产理论一区二区三区 | 国产一区二区播放 | 国产精品美女免费视频 | 91免费视频网站在线观看 | 久久综合99 | 亚洲美女免费精品视频在线观看 | 99久久精品免费看 | 国产96在线视频 | 黄色av成人在线观看 | 色资源网在线观看 | 久久精品视频4 | 欧美一区二区三区四区夜夜大片 | 欧美精品乱码99久久影院 | 久久久久久久久黄色 | 99精品视频99 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 亚洲视频在线观看 | 亚洲欧洲精品视频 | 久久国际影院 | 五月天色综合 |