• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    GBase8aMPP:一種新型關(guān)系數(shù)據(jù)庫的設(shè)計和實踐

    2016-07-02 07:29:29天津南大通用數(shù)據(jù)技術(shù)股份有限公司解決方案技術(shù)總監(jiān)
    信息通信技術(shù)與政策 2016年4期
    關(guān)鍵詞:關(guān)系數(shù)據(jù)庫大數(shù)據(jù)

    李 瀚 天津南大通用數(shù)據(jù)技術(shù)股份有限公司解決方案技術(shù)總監(jiān)

    ?

    GBase8aMPP:一種新型關(guān)系數(shù)據(jù)庫的設(shè)計和實踐

    李瀚天津南大通用數(shù)據(jù)技術(shù)股份有限公司解決方案技術(shù)總監(jiān)

    摘要:隨著行業(yè)大數(shù)據(jù)應(yīng)用的迅速發(fā)展,對基于海量數(shù)據(jù)的行業(yè)大數(shù)據(jù)的存儲、處理和管理提出了更高要求,傳統(tǒng)的小機+存儲陣列的架構(gòu)已經(jīng)無法滿足海量數(shù)據(jù)增長和系統(tǒng)擴展性的要求。本文總結(jié)了一種基于MPP架構(gòu)+列式存儲設(shè)計的新型關(guān)系數(shù)據(jù)庫技術(shù)的產(chǎn)品——GBase8aMPP的技術(shù)設(shè)計思路,這些技術(shù)有效解決了傳統(tǒng)架構(gòu)下的擴展性問題和大規(guī)模并行計算問題,并且通過內(nèi)部高可用機制實現(xiàn)在低價計算平臺上的大數(shù)據(jù)平臺可靠性。

    關(guān)鍵詞:大數(shù)據(jù);MPP(大規(guī)模并行計算)關(guān)系數(shù)據(jù)庫;列式存儲;關(guān)系運算

    1 引言

    關(guān)系數(shù)據(jù)庫是20世紀70年代基于關(guān)系代數(shù)理論發(fā)展的數(shù)據(jù)管理技術(shù),它將數(shù)據(jù)以表為單位組織,每個表的數(shù)據(jù)表現(xiàn)為一個實體,并通過基于范式的數(shù)據(jù)組織和關(guān)聯(lián)運算使用SQL言語實現(xiàn)對數(shù)據(jù)的動態(tài)關(guān)系生成,這種數(shù)據(jù)管理概念最大程度反映了應(yīng)用的實際需求,簡化了信息系統(tǒng)開發(fā)時從模型設(shè)計到計算程序開發(fā)的流程,所以在信息處理領(lǐng)域具有重大的意義。在過去40年的關(guān)系數(shù)據(jù)庫發(fā)展中,數(shù)據(jù)庫一直基于集中存儲和集中計算的計算模式來實現(xiàn)其架構(gòu),因為這種模式十分適合關(guān)系計算的特征。早期的關(guān)系數(shù)據(jù)庫應(yīng)用主要適用于金融等典型的交易型領(lǐng)域,后隨著關(guān)系數(shù)據(jù)庫應(yīng)用的發(fā)展,應(yīng)運產(chǎn)生了數(shù)據(jù)倉庫應(yīng)用和BI等相關(guān)領(lǐng)域,關(guān)系數(shù)據(jù)庫的應(yīng)用到達了一個頂峰。隨之,數(shù)據(jù)量逐漸增大,企業(yè)在數(shù)據(jù)庫相關(guān)的基礎(chǔ)設(shè)施的投入上,負擔(dān)也越來越大,“小機+存儲陣列”模式的系統(tǒng)架構(gòu)曾經(jīng)一度成為大企業(yè)構(gòu)建數(shù)據(jù)庫的標準平臺,對于這樣的平臺,企業(yè)動輒用數(shù)千萬元投資去維持系統(tǒng)對海量數(shù)據(jù)的支撐和管理。隨著大數(shù)據(jù)時代的到來,傳統(tǒng)架構(gòu)和傳統(tǒng)數(shù)據(jù)庫所面臨的問題愈加顯著,系統(tǒng)面臨著數(shù)據(jù)庫系統(tǒng)可擴展性難題,企業(yè)開始對傳統(tǒng)數(shù)據(jù)庫能否管理好如此大規(guī)模的數(shù)據(jù)量,能否可以處理海量數(shù)據(jù)等發(fā)生了懷疑。

    傳統(tǒng)數(shù)據(jù)庫所面臨的問題列舉如下:

    (1)數(shù)據(jù)計算模式依存于集中存儲,而集中存儲的限制引起“小機+存儲陣列”模式無法承載更加大量數(shù)據(jù)的存儲和處理,并且造成I/O成為瓶頸。此模式下擴展性差,通過傳統(tǒng)Scale UP模式的系統(tǒng)能力幾乎到達極限。

    (2)關(guān)系數(shù)據(jù)庫為了按照元組單位管理數(shù)據(jù),建立了基于AVL樹的索引機制,這種平衡樹結(jié)構(gòu)雖然引擎能夠保證按照最小路徑尋找數(shù)據(jù),但當數(shù)據(jù)量增長后,索引結(jié)構(gòu)的維護代價將隨著數(shù)據(jù)量的增加越來越大,導(dǎo)致大數(shù)據(jù)應(yīng)用下的數(shù)據(jù)批量寫入自身就成為難以解決的問題。

    (3)隨著數(shù)據(jù)量增加,更多的數(shù)據(jù)無法保證維持在內(nèi)存中,I/O的瓶頸效應(yīng)將進一步顯著化。

    (4)為了保證數(shù)據(jù)庫數(shù)據(jù)的持久性和一致性,傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng)提供基于日志的恢復(fù)機制,關(guān)系數(shù)據(jù)庫事務(wù)中對數(shù)據(jù)的更新需要首先記錄到日志中,而日志需要按照預(yù)先定義的策略(如WAL)更新到磁盤上,這個無疑會降低數(shù)據(jù)處理的性能。

    (5)單一SMP服務(wù)器下的處理能力已經(jīng)到達極限,對于海量數(shù)據(jù)條件下的關(guān)系運算的關(guān)聯(lián)運算和聚集運算所需要的計算能力難以滿足。

    基于以上問題,從結(jié)構(gòu)上調(diào)整傳統(tǒng)關(guān)系型數(shù)據(jù)庫的體系架構(gòu)就成為必然。其中,NoSQL和NewSQL技術(shù)就是解決上述傳統(tǒng)關(guān)系數(shù)據(jù)庫問題時發(fā)展而來的新型技術(shù),它們均采用了以ScaleOut為代表的橫向擴展性技術(shù),并且在存儲結(jié)構(gòu)上引入了列式存儲和I/O讀取時的智能過濾技術(shù);在事務(wù)控制技術(shù)上,NoSQL和NewSQL技術(shù)都采用了一系列的弱化或者簡化措施,使得海量數(shù)據(jù)的處理一致性保障機制獲得一定簡化。

    而NewSQL比較NoSQL,它保持了關(guān)系數(shù)據(jù)庫處理復(fù)雜關(guān)系運算的特性,使關(guān)系數(shù)據(jù)庫中的多表關(guān)聯(lián)和其他復(fù)雜的SQL運算等的高級功能在分布式結(jié)構(gòu)上仍能得到實現(xiàn),對于需要與結(jié)構(gòu)化數(shù)據(jù)和關(guān)系計算相關(guān)的“高級功能”時,NewSQL就成為最佳的選擇。而除去互聯(lián)網(wǎng)等行業(yè),對于廣大行業(yè)大數(shù)據(jù)應(yīng)用而言,結(jié)構(gòu)化數(shù)據(jù)的相關(guān)處理占據(jù)了70%以上的行業(yè)大數(shù)據(jù)市場,這也是以MPP數(shù)據(jù)庫為代表的NewSQL得以存在和發(fā)展的實質(zhì)原因。

    2 傳統(tǒng)關(guān)系數(shù)據(jù)庫的改造設(shè)計原則

    針對以上傳統(tǒng)數(shù)據(jù)庫所面臨的在存儲、處理結(jié)構(gòu)和事務(wù)處理機制上對于大數(shù)據(jù)應(yīng)用場景的瓶頸,在新型關(guān)系數(shù)據(jù)庫設(shè)計之初,考慮了以下幾方面的技術(shù)設(shè)計思路,這些設(shè)計思路符合當前對關(guān)系型大數(shù)據(jù)平臺的架構(gòu)設(shè)計的基本趨勢。

    (1)為了實現(xiàn)存儲和處理能力的擴展性,采取MPP分布式架構(gòu),通過ScaleOut方式實現(xiàn)橫向擴展。

    (2)通過分布式架構(gòu)下的SharedNothing架構(gòu)實現(xiàn)并行I/O,從物理上解決集中存儲所面臨的I/O瓶頸問題。同時,為了保證數(shù)據(jù)的快速讀取,應(yīng)盡可能保證數(shù)據(jù)存儲規(guī)則和處理查詢規(guī)則的一致性,為了解決這個問題,采用Hash規(guī)則實現(xiàn)對各元組入庫時的規(guī)則擺放,從而實現(xiàn)SharedNothing架構(gòu)下的數(shù)據(jù)快速定位。

    (3)通過列式存儲和數(shù)據(jù)壓縮技術(shù)實現(xiàn)數(shù)據(jù)I/O量吞吐的減少,節(jié)約了緩存的消耗。

    (4)隨著數(shù)據(jù)量增加,為了保持數(shù)據(jù)存取性能的線性,建立更加簡單的索引結(jié)構(gòu),通過對某一大小的數(shù)據(jù)單元生成摘要的方式,實現(xiàn)對數(shù)據(jù)條件的過濾,即從為數(shù)據(jù)精準定位的索引機制過渡到數(shù)據(jù)過濾機制,從基于元組的細粒度的索引過渡成為基于數(shù)據(jù)塊的粗粒度索引機制。

    (5)充分考慮關(guān)系計算的各個特征,例如Select (Where)、Join、Group By、Order By、Distinct、窗口函數(shù)、Insert Into等,最大限度實現(xiàn)在分布式架構(gòu)下對這些操作符的并行處理能力,并同時減少節(jié)點之間的網(wǎng)絡(luò)流量。

    (6)對于大數(shù)據(jù)平臺,更新操作,系統(tǒng)內(nèi)部實際通過Appendonly+有效標記位的位置實現(xiàn),同時通過有效標記控制數(shù)據(jù)提交和讀取結(jié)果(系統(tǒng)內(nèi)部可以通過保存多個版本的有效標記位數(shù)組來實現(xiàn)事務(wù)隔離),這樣可以簡化大數(shù)據(jù)處理下的事務(wù)控制。而數(shù)據(jù)的恢復(fù),因為系統(tǒng)為了保證更新寫的性能,所以無法按照傳統(tǒng)數(shù)據(jù)庫的WAL機制實現(xiàn)細粒度日志,而是通過副本作為數(shù)據(jù)標準,實現(xiàn)故障恢復(fù)。這些機制既能保證大數(shù)據(jù)量下的數(shù)據(jù)寫的正確性,也能實現(xiàn)處理效率的提升。

    3 傳統(tǒng)關(guān)系數(shù)據(jù)庫的分布式化設(shè)計中的課題

    對于任何技術(shù)革新,在引入新技術(shù)設(shè)計概念的同時,都是有代價的——必然同時引入另一些的問題,對于MPP分布式關(guān)系型數(shù)據(jù),則可以列舉以下問題:

    (1)當一個關(guān)系數(shù)據(jù)庫集群規(guī)模擴大時,對于一個大規(guī)模集群控制所需的集群協(xié)議,協(xié)議執(zhí)行的通信代價將以節(jié)點數(shù)的平方規(guī)模擴大,通信模式的復(fù)雜性將導(dǎo)致集群崩潰的可能性增大。

    (2)對于關(guān)系計算,即使通過MPP+SharedNothing結(jié)構(gòu)實現(xiàn)了數(shù)據(jù)的物理分離和在分布式存儲上的規(guī)則擺放,但很大程度上還是需要將數(shù)據(jù)層面當作一個整體看待,尤其對于多表Join處理,這就需要一個在分布式上透明實現(xiàn)相關(guān)能力的全局機制。

    (3)數(shù)據(jù)劃分是按照Hash Sharding的分片方式實現(xiàn),所以數(shù)據(jù)分布與節(jié)點個數(shù)存在緊耦合性,數(shù)據(jù)節(jié)點一旦出現(xiàn)變化,需要有Hash重新計算的過程,所以擴容實施代價高。

    (4)同樣基于以上類似的原因,當一個Hash Sharding下的數(shù)據(jù)分片是一個按照某種規(guī)則連續(xù)擺放在一起的數(shù)據(jù)文件時,它的副本也必然是一個較大片連續(xù)的數(shù)據(jù)單元,這種單元比起單純物理上的文件塊要大很多,所以這就決定了副本分布的集中性,由此導(dǎo)致1臺服務(wù)器宕機后,存有和它同樣分片數(shù)據(jù)的服務(wù)器上要增加處理包括副分片在內(nèi)的活動數(shù)據(jù),從而使副分片上數(shù)據(jù)處理能力迅速降低從而導(dǎo)致“木桶效應(yīng)”,進而引起集群整體的性能下降。這一點對于會頻繁發(fā)生故障的PCServer服務(wù)器所組成的大規(guī)模MPP集群尤其重要,因為PCServer服務(wù)器的故障率比小機類型要高出近10倍以上,并且隨著集群規(guī)模的增加,在整個集群中1臺PCServer發(fā)生故障的概率會明顯增加,而MPP集群的高可用結(jié)構(gòu)造成1臺PCServer宕機就會引起全MPP集群能力的下降。

    (5)數(shù)據(jù)在按照列式組織存儲時,導(dǎo)致實現(xiàn)表一級的鎖操作,從而導(dǎo)致鎖粒度的升高,造成并發(fā)能力的下降等。

    4 GBase8 a MPP作為一種新型關(guān)系數(shù)據(jù)庫的技術(shù)設(shè)計思路

    GBase8aMPP作為一種典型的NewSQL型的新型關(guān)系數(shù)據(jù)庫產(chǎn)品,是天津南大通用數(shù)據(jù)技術(shù)股份有限公司(簡稱“南大通用”)完全自主開發(fā)的一套國產(chǎn)化支撐結(jié)構(gòu)化大數(shù)據(jù)處理的MPP型關(guān)系數(shù)據(jù)庫,它于2007年開始了產(chǎn)品開發(fā)立項;2010年正式發(fā)布第一代單機型列式存儲數(shù)據(jù)庫;2011年發(fā)布了MPP集群版數(shù)據(jù)庫;2012年參加了中國移動集團VGOP投標的大規(guī)模集群測試;于2013年之后,開始了GBase8a MPP在電信、金融等核心行業(yè)領(lǐng)域的國產(chǎn)MPP數(shù)據(jù)庫的實際應(yīng)用;截至2016年1月,已經(jīng)在全國70家行業(yè)中有過實際應(yīng)用,共安裝部署節(jié)點超過1000臺,實際承載數(shù)據(jù)量達到5PB級別,對于50節(jié)點以上節(jié)點數(shù)的超大規(guī)模MPP集群,GBase8aMPP幾乎覆蓋了超大規(guī)模MPP集群部署和使用的主要案例。下面就GBase8aMPP集群的主要技術(shù)設(shè)計思路進行說明和介紹。

    4.1GBase8aMPP的整體架構(gòu)設(shè)計和構(gòu)成元素

    GBase8a MPP集群由GCluster、GNode和GCware 的3個處理要素構(gòu)成,這3個要素構(gòu)成了MPP集群的任務(wù)調(diào)度、實際數(shù)據(jù)的存儲和任務(wù)執(zhí)行以及集群控制的3項基本要素,作為一個比喻,它們分別相當于MPP集群的“頭”、“腳”和“神經(jīng)”,具體參見圖1。下面是3個構(gòu)成要素的具體功能:

    圖1 GBase 8a MPP功能架構(gòu)圖

    (1)GCluster集群

    從GCware獲得節(jié)點的拓撲和節(jié)點數(shù)據(jù)分片的狀態(tài),使用GCware提供的信息(包括集群結(jié)構(gòu)、節(jié)點狀態(tài)、Eventlog等),并負責(zé)SQL解析、SQL優(yōu)化、分布式執(zhí)行計劃生成、執(zhí)行調(diào)度。

    (2)GCware集群

    通過集群各節(jié)點之間的廣播通信協(xié)議,維持各節(jié)點間共享集群狀態(tài)信息(包括集群結(jié)構(gòu)、節(jié)點狀態(tài)、節(jié)點資源:包含Scn、Tableid、集群鎖、Eventlog信息等),以及控制故障時的任務(wù)切換和故障恢復(fù)時的數(shù)據(jù)修復(fù),并在多副本操作中控制各節(jié)點數(shù)據(jù)的一致性狀態(tài)。

    (3)GNode集群

    集群中最基本的存儲和計算單元。GNode負責(zé)集群數(shù)據(jù)在節(jié)點上的實際存儲,并從GCluster接收和執(zhí)行GCluster產(chǎn)生的執(zhí)行計劃,執(zhí)行結(jié)果返回給GCluster。數(shù)據(jù)加載時,GNode直接從集群加載服務(wù)接收數(shù)據(jù),寫入本地存儲空間。

    4.2GBase8aMPP的海量數(shù)據(jù)的存儲設(shè)計

    對于承載大規(guī)模海量數(shù)據(jù)的GBase8a MPP平臺,首先要解決海量數(shù)據(jù)在平臺上有效的存儲和管理,其中對于關(guān)系數(shù)據(jù)庫,一個重要的需要解決的問題就是數(shù)據(jù)定位,以及簡化存儲路徑的問題。

    首先,GBase8a MPP在集群層次會依照在建表時指定的Hash規(guī)則,對數(shù)據(jù)進行在節(jié)點之間的精確擺放,數(shù)據(jù)的擺放原則,可以簡單理解為通過2層的映射,對數(shù)據(jù)確定準確的擺放節(jié)點。

    設(shè)一個記錄的哈希鍵值為Hashkey,對應(yīng)這條記錄的Hashvalue = Hash_func(Hashkey),繼而對應(yīng)這條Hash Value的擺放節(jié)點為:HashNode = HashMap (Hashvalue)。

    對于同一節(jié)點內(nèi)部的數(shù)據(jù)定位,GBase8a MPP采取了數(shù)據(jù)列式存儲和智能索引技術(shù)。列式存儲下,各個列上的數(shù)據(jù)是按照列式文件的格式進行存儲的,也就是說數(shù)據(jù)列一旦確定,數(shù)據(jù)文件就可以確定,從某種意義上說,這就像行式存儲下的分區(qū)存儲,通過對邏輯上同一張表的數(shù)據(jù)在物理存儲上的分解,可以進一步確定一個數(shù)據(jù)的存儲區(qū)域。數(shù)據(jù)在按照列式存儲時,又以65536行作為一個I/O單位(GBase8a將這個單位叫做一個DataCell,即一個數(shù)據(jù)塊)對其進行壓縮和智能索引的編制工作。智能索引可以起到很好的數(shù)據(jù)過濾作用,并且它具有很好的空間和時間效率。這里將1 個DataCell數(shù)據(jù)塊中的數(shù)據(jù)作為1個集合,而智能索引使用一些標志性的摘要信息來表征一個數(shù)據(jù)塊中所包含數(shù)據(jù)的特征集合。實際數(shù)據(jù)讀取時,不需要直接掃描數(shù)據(jù)本身,而只需要查看智能索引中的特征集合,就可以判斷要查詢的數(shù)據(jù)是否在這個數(shù)據(jù)塊中存在,而特征集合的數(shù)據(jù)要大大小于存儲數(shù)據(jù)本身的數(shù)據(jù)量,并且這個特征集合生成的代價不會因為表內(nèi)整體數(shù)據(jù)量的增加而不斷增大,即它是線形的,這與基于傳統(tǒng)關(guān)系庫的索引結(jié)構(gòu)有本質(zhì)不同,傳統(tǒng)數(shù)據(jù)庫的索引是與表整體的全局數(shù)據(jù)相關(guān)聯(lián)的,表的數(shù)據(jù)量越大,傳統(tǒng)關(guān)系庫的索引生成代價就越大。作為這個智能索引中包含的數(shù)據(jù)特征,在GBase8a中包含這樣幾個基本信息,數(shù)據(jù)的MaxValue,MinValue或者使用Hash函數(shù)構(gòu)成的位數(shù)組等,但數(shù)據(jù)可能會產(chǎn)生誤判(即數(shù)據(jù)實際不在該數(shù)據(jù)塊中,但智能索引中的特征集合又表明數(shù)據(jù)可能存在于該數(shù)據(jù)塊中),為了減少誤判,就需要數(shù)據(jù)在入庫時盡量達到一定的有序性(即使是局部有序性,也可以達到減少誤判的效果)。

    讀取數(shù)據(jù)時為了減少數(shù)據(jù)I/O吞吐,GBase8a利用列式存儲下數(shù)據(jù)的相似性,實現(xiàn)了3~30倍的數(shù)據(jù)高壓縮比(具體數(shù)據(jù)壓縮比還依存于數(shù)據(jù)自身的特征和所選擇的數(shù)據(jù)壓縮算法)。

    對于不同的數(shù)據(jù)類型,GBase8a提供不同的壓縮算法。

    (1)對數(shù)值類型的壓縮算法

    ●輕量級壓縮。

    ●PPM壓縮(壓縮速度快、解壓速度慢)。

    ●RAPIDZ壓縮,適用于對性能要求較高的用戶場合。

    (2)對字符類型的壓縮算法

    ●輕量級壓縮。

    ●PPM壓縮(壓縮速度快、解壓速度慢)。

    ●RAPIDZ壓縮,適用于對性能要求較高的業(yè)務(wù)場景。

    在實際應(yīng)用中,這些算法可以根據(jù)實際需要,去適應(yīng)性地適配不同種類數(shù)據(jù)的壓縮,例如對大規(guī)模海量數(shù)據(jù)的存儲,可以根據(jù)歷史周期,對近期數(shù)據(jù)的存儲采用較輕量級壓縮算法;而對于沉淀較長的歷史數(shù)據(jù),由于實際參與處理的機會較少,可以使用PPM算法對其壓縮,這樣會在提供高壓縮率的同時,會部分犧牲解壓處理時的性能等。

    4.3GBase8aMPP集群的可擴展性設(shè)計

    GBase8aMPP從設(shè)計之初,就充分考慮了作為集群數(shù)據(jù)庫的可擴展性。隨著行業(yè)大數(shù)據(jù)的飛速發(fā)展,單一集群的數(shù)據(jù)承載量正在從十TB級,到百TB級,再到PB級,所以早期的十數(shù)節(jié)點集群,和現(xiàn)在的數(shù)十節(jié)點集群很快就將無法滿足作為大數(shù)據(jù)處理平臺的MPP集群的規(guī)模需求,對于GBase8aMPP集群能否支撐上百節(jié)點乃至數(shù)百節(jié)點的MPP集群規(guī)模就成為設(shè)計關(guān)鍵。GBase8aMPP在設(shè)計上,從集群協(xié)議棧設(shè)計,和數(shù)據(jù)在節(jié)點之間的組織和重分部算法的兩個層面作了優(yōu)化設(shè)計,使MPP集群解決了大規(guī)模節(jié)點支持的問題。

    在架構(gòu)設(shè)計上,GBase 8a MPP采用了Shared Nothing的聯(lián)邦分布式架構(gòu),由GCluster集群、GCware集群(實際上GCluster和GCware集群往往部署在1個物理集群上)和GNode集群組成。GCluster集群和GCware集群部署在相同的物理節(jié)點上,每個物理節(jié)點上部署GCluster服務(wù)和GCware服務(wù),GCluster服務(wù)負責(zé)集群任務(wù)的調(diào)度,GCware服務(wù)用于各節(jié)點GCluster服務(wù)間共享信息。GNode集群的物理節(jié)點上部署GNode服務(wù),每個GNode服務(wù)就是最基本的存儲和計算單元。

    在聯(lián)邦架構(gòu)的集群內(nèi)部,無論是處理協(xié)調(diào)調(diào)度的GCluster層,還是實際進行數(shù)據(jù)存取處理的GNode層,都構(gòu)成了各自處理層的集群結(jié)構(gòu),從而解決了集群的單點瓶頸或者單點故障問題。而對于集群內(nèi)部的數(shù)據(jù)元數(shù)據(jù)和集群結(jié)構(gòu)元數(shù)據(jù)的一致性范圍,在聯(lián)邦架構(gòu)下,僅僅局限在了上層的主節(jié)點集群上(GCluster集群),這樣達成元數(shù)據(jù)一致性所需要的節(jié)點之間的廣播也將被約束到小范圍節(jié)點內(nèi),從而防止了因節(jié)點數(shù)增加而導(dǎo)致的節(jié)點間廣播量的膨脹,對于更大規(guī)模的處理工作集群(GNode集群),因為節(jié)點之間不需要達成共享元數(shù)據(jù)一致性,所以這一層集群的節(jié)點之間不存在復(fù)雜的廣播通信機制(節(jié)點之間除了副本數(shù)據(jù)同步,以及在執(zhí)行Join或者Aggregation運算時的節(jié)點之間拉表處理等外,節(jié)點之間不存在P2P的通信)。作為GNode集群狀態(tài)的維護,主要通過上層集群(GCluster)節(jié)點與下層集群(GNode)節(jié)點之間的Heartbeat簡易通信機制來實現(xiàn)(簡易的HB機制是有別于集群層面的協(xié)議的,HB機制主要用于兩點之間的死活確認,而不需要在集群中的多個節(jié)點間具備達成狀態(tài)一致性的通信算法)。這樣聯(lián)邦架構(gòu)下的可擴展性因素中,就突破了集群協(xié)議的規(guī)模限制,考慮GCluster節(jié)點上最大Socket張開數(shù)等物理限制條件和并發(fā)處理數(shù)等,最大合理的集群數(shù)可以達到300節(jié)點程度。

    集群的可擴展性,還依存于數(shù)據(jù)在節(jié)點之間重分布的復(fù)雜度,對于MPP集群,當它在集群計算Join結(jié)果還是擴容時算出搬運結(jié)果集時,它都需要對各個紀錄進行HashValue的重計算,而這種重分布計算會嚴重影響數(shù)據(jù)搬運的速度,例如對于實際擴容處理來說,當考慮實際的HashValue重計算等因素,真正的數(shù)據(jù)在節(jié)點之間的搬運速度只有60MBytes/s左右,而理想的I/O的落地速度可以達到200MBytes/s,也就是說為了維持MPP集群內(nèi)節(jié)點之間數(shù)據(jù)分布的Hash規(guī)則性,數(shù)據(jù)的搬運效率下降了近70%,這個也是MPP比較NoSQL或者Hadoop等非結(jié)構(gòu)化的分布式平臺在擴展性上的天然不利因素。為了解決這一問題(其實這一問題和后來的高可用專題也有相關(guān)),即將每個MPP物理節(jié)點下的分片再進行細分,在數(shù)據(jù)第一次入庫時就將Hashvalue類似的數(shù)據(jù)列分布在同一列簇文件上,這個列簇文件的粒度越細,在進行數(shù)據(jù)重分布時,就越能減少Hashvalue重計算的壓力,甚至在一些情況下(如擴容時,當擴容后集群規(guī)模恰好是擴容前2倍時),可以將這些細粒度的分片列簇文件直接整片地傳輸?shù)叫碌墓?jié)點上,這樣擴容時數(shù)據(jù)搬運速度就會接近理想的磁盤I/O速度,此擴容方式參見圖2。

    4.4GBase8aMPP內(nèi)部復(fù)雜關(guān)系計算的實現(xiàn)設(shè)計

    GBase8a MPP執(zhí)行復(fù)雜查詢以及生成執(zhí)行計劃時,要遵循以下幾個基本目標:

    (1)最大程度地進行并行化。(2)最大化數(shù)據(jù)局部性,即計算離數(shù)據(jù)越近越好。(3)關(guān)聯(lián)(Join)運算的兩個表的數(shù)據(jù),要符合“關(guān)聯(lián)臨近性”原則,實現(xiàn)在同一物理節(jié)點上進行。

    在這里最終目標是為了盡可能減少MPP節(jié)點之間的網(wǎng)絡(luò)數(shù)據(jù)傳輸。

    而對于MPP型的關(guān)系數(shù)據(jù)庫引擎,在生成執(zhí)行計劃邏輯樹時,有一些基本的原則是與傳統(tǒng)關(guān)系數(shù)據(jù)庫相類似的,例如:

    (1)盡可能將一元運算遷移到查詢樹的底部(樹葉部分),使之優(yōu)先執(zhí)行一元計算。

    (2)利用投影和選擇的串接定律,縮減每一關(guān)系,以減少中間結(jié)果集數(shù)據(jù)尺寸。

    (3)將葉子節(jié)點之前的選擇運算作用于所涉及的表,以減少后期運算的結(jié)果集。

    (4)在查詢樹中,將連接運算下移到并運算(Union All)之前執(zhí)行。

    (5)消去不影響查詢運算的垂直片段。

    遵循以上規(guī)則得到邏輯層的執(zhí)行計劃,從計算邏輯上可以降低每個中間步驟的結(jié)果集,從而降低物理上的網(wǎng)絡(luò)傳輸量和I/O代價。

    而GBase8a MPP在從上述原則得到最佳邏輯樹后,需要進一步將邏輯樹轉(zhuǎn)換成為物理執(zhí)行樹,這其中關(guān)鍵就是要利用MPP集群的跨節(jié)點的并行計算能力,而針對關(guān)系數(shù)據(jù)庫的各個操作符的特點(包括Scan、HashJoin、HashAggregation、Union、TopN等),對操作符節(jié)點樹進行劃分,劃分為若干計劃分片,GBase8aMPP內(nèi)部的邏輯執(zhí)行計劃與物理執(zhí)行計劃之間關(guān)系如圖3所示。下面是最典型的關(guān)系操作符的并行化策略:

    (1)Join操作

    采用靜態(tài)Hash或者動態(tài)Hash以及復(fù)制廣播方式,實現(xiàn)MPP集群下的數(shù)據(jù)并行關(guān)聯(lián)運算。所謂靜態(tài)Hash,就是關(guān)聯(lián)表之間的HashKey重合,并且關(guān)聯(lián)鍵與Hash Key重合,此時MPP數(shù)據(jù)庫的GCluster只要將關(guān)聯(lián)操作直接下發(fā)到各個單節(jié)點上,從各個單節(jié)點返回的結(jié)果集的合并結(jié)果就是關(guān)聯(lián)運算的結(jié)果集;而所謂動態(tài)Hash,就是關(guān)聯(lián)表之間的Hash Key不重合時,將對關(guān)聯(lián)鍵與Hash鍵不重合的表的數(shù)據(jù)按照關(guān)聯(lián)鍵進行重分布,從而使Hash重分布后的兩個表的數(shù)據(jù)成為HashKey重合的狀態(tài)(就是類似靜態(tài)Hash的數(shù)據(jù)分布狀態(tài));而作為復(fù)制廣播方式,也是在HashKey與關(guān)聯(lián)鍵不重合的方式下的使用的又一種關(guān)聯(lián)執(zhí)行機制,這種方式下一般關(guān)聯(lián)的兩個表中一個表較小,即可以將這個小表通過廣播的方式向所有節(jié)點進行動態(tài)復(fù)制,這樣就可以保證在全節(jié)點上并行執(zhí)行關(guān)聯(lián)操作。

    圖2 基于分片文件搬運的擴容方式

    (2)聚合操作

    操作符節(jié)點首先在各個單節(jié)點上執(zhí)行局部聚合,之后做全部聚合操作。有時也根據(jù)Group by鍵的Distinct個數(shù),對于這個數(shù)字很大的Groupby鍵,則在聚合運算的第二階段,按照Groupby鍵將第一階段的聚合結(jié)果再次進行重分布,在第二階段以并行計算的方式繼續(xù)進行全局聚合結(jié)果。

    (3)Orderby排序操作

    操作符節(jié)點首先執(zhí)行本地的Orderby操作,之后對局部排序后的信息進行全局的Order by操作。GBase8aMPP對Orderby可以進行局部排序與全局排序間的流水式并行。

    GBase8aMPP作為關(guān)系數(shù)據(jù)庫同樣采用基于成本(CB-Cost Based)的執(zhí)行計劃優(yōu)化器方式(CBO),主要基于數(shù)據(jù)動態(tài)的統(tǒng)計特性,實現(xiàn)執(zhí)行成本的估算。這些統(tǒng)計信息一般包括表數(shù)據(jù)的行數(shù),生成中間關(guān)聯(lián)結(jié)果集的大小評估,各列的寬度,以及列的Distinct值等。GBase8a MPP的引擎會根據(jù)這些統(tǒng)計信息,在執(zhí)行一個復(fù)雜SQL時,去估算一個查詢?nèi)蝿?wù)的代價,并且生成多條執(zhí)行路徑以進行執(zhí)行成本的比較,從其中選擇代價最小的執(zhí)行路徑執(zhí)行本次查詢?nèi)蝿?wù)。

    4.5GBase8aMPP的可用性設(shè)計

    圖3 MPP內(nèi)部高度并行的執(zhí)行計劃

    MPP數(shù)據(jù)庫為了實現(xiàn)最大的并行,采用了計算和存儲緊密耦合的設(shè)計策略,這樣可以有效控制每行數(shù)據(jù)的存儲位置和每個數(shù)據(jù)塊的存儲格式,在統(tǒng)計分析場景中性能表現(xiàn)優(yōu)越。

    具體說,MPP分片是按照數(shù)學(xué)規(guī)則(如Hash函數(shù))來分布的,所以數(shù)據(jù)的分片規(guī)則不能像Hadoop那樣按照數(shù)據(jù)塊(Block)這樣的小粒度單位任意實現(xiàn)(這種小粒度分片可以使1臺物理機上的數(shù)據(jù)分片的副本分散到多臺物理機上),這樣的數(shù)據(jù)集合單位無法實現(xiàn)更加細粒度的數(shù)據(jù)分離,而作為高可用的策略的數(shù)據(jù)副本的分布策略,也是依存上述的數(shù)據(jù)分片策略下的集合粒度。

    如果1臺物理服務(wù)器上只設(shè)置1個分片,就會使單個分片和對應(yīng)這個分片的副本的粒度過大,從而導(dǎo)致1臺服務(wù)器宕機后,持有副本的那一節(jié)點的負載成為故障切換前正常狀態(tài)的2倍。而對于MPP這樣的集群系統(tǒng),系統(tǒng)的處理能力將取決于集群中處理最慢的那一節(jié)點,這種效應(yīng)就是木桶效應(yīng),因為故障切換,導(dǎo)致Safegroup(是一種GBase8a MPP的高可用的舊機制)的另一節(jié)點的處理能力會下降一半,并根據(jù)上述的木桶效應(yīng),整個集群的處理也將會下降一半。

    為了解決上述問題,GBase8a MPP實現(xiàn)了基于虛擬分片的副本分布機制:即1個物理節(jié)點可以部署多個邏輯分片,并且每個邏輯分片的副本分片可以部署在不同物理機上,這樣一臺物理機宕機后,這臺物理機上邏輯分片的副本因為分散到多臺節(jié)點上,所以可以保證宕機服務(wù)器的負載不僅可以實現(xiàn)故障轉(zhuǎn)移,而且可以實現(xiàn)故障服務(wù)器上負載在故障轉(zhuǎn)移后的負載均衡,具體基于虛擬分片的高可用機制實現(xiàn)如圖4所示。

    圖4 GBase 8a PP的虛擬分片和副本技術(shù)

    4.6GBase8aMPP下的事務(wù)控制設(shè)計

    作為數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的最大區(qū)別,就是數(shù)據(jù)庫系統(tǒng)要支持基于DML操作的數(shù)據(jù)更新,并且作為關(guān)系數(shù)據(jù)庫的又一關(guān)鍵特性就是要保證數(shù)據(jù)的一致性和在任務(wù)并發(fā)時的讀寫數(shù)據(jù)之間的邏輯一致性。傳統(tǒng)數(shù)據(jù)庫提出WAL(預(yù)寫日志記錄,Writeahead Log)機制保證了這種數(shù)據(jù)的邏輯一致性,但它的代價很大,因為這種機制會在執(zhí)行任意更新時需要將更新永久化到磁盤的日志文件上。GBase8aMPP數(shù)據(jù)庫設(shè)計之初就是要考慮數(shù)百億,數(shù)千億行所組成的表的數(shù)據(jù)管理,所以它無法采用WAL式的做法,并且GBase8aMPP在內(nèi)部進行任務(wù)數(shù)據(jù)寫處理時,包括load加載處理,還是insert,update操作,最終都是通過對各個列式數(shù)據(jù)文件(多個分片時,就被分割成為列簇文件)的Append處理實現(xiàn)的。與傳統(tǒng)數(shù)據(jù)庫不同,不可能對數(shù)據(jù)更新設(shè)置更大的Buffer區(qū)域,數(shù)據(jù)寫入磁盤的操作基本是按照之前說的數(shù)據(jù)塊(DataCell)單位進行的(也可以設(shè)置DC的Windows Size,這樣就可以按照Windows Size個數(shù)個DC進行批量寫入操作),數(shù)據(jù)更新基本就是按照寫滿1個DC之后(或是1個DC窗口),就永久化到磁盤的方式進行更新的。而一個MPP下的事務(wù)單位很大,有可能是成千上萬個DC,所以MPP為了標記已經(jīng)一時寫入到磁盤上的DC的有效性,就設(shè)置了1個Valid_flag數(shù)據(jù)有效性標志,當途中不斷將數(shù)據(jù)寫入到磁盤時,數(shù)據(jù)的有效標志設(shè)置為“0”,這說明這個數(shù)據(jù)塊的數(shù)據(jù)暫時無效,如果同時發(fā)生讀操作時,這樣的數(shù)據(jù)是不會被讀到的。但當任務(wù)完成,數(shù)據(jù)集體提交時,各個數(shù)據(jù)上的Valid_flag會批量更新成“1”,從而使數(shù)據(jù)對其他任務(wù)也生效,可以讓其他任務(wù)開始讀取到這里提交的數(shù)據(jù)。對于Update這樣的操作,在將更新后的數(shù)據(jù)完成Append處理后,它還要進而對更新前數(shù)據(jù)進行Valid_flag=“0”的重置操作,最終才能進行提交操作(對更新后數(shù)據(jù)對應(yīng)的Valid_flag置為“1”)。當然在整個過程中,如有出現(xiàn)系統(tǒng)故障,系統(tǒng)會保持更新操作前的Valid_flag狀態(tài),從而保證數(shù)據(jù)更新到中途的內(nèi)容不會被其他任務(wù)看到。GBase8aMPP內(nèi)部的有效符機制如圖5所示。

    圖5 GBase 8a MPP內(nèi)部的有效標識符

    而對于Valid_flag自身的更新操作,考慮其數(shù)據(jù)量較小,可以使用類似WAL預(yù)寫日志的方式,保證Valid_flag提交時的事務(wù)性。對于事務(wù)自身參照自身產(chǎn)生的數(shù)據(jù)時,則采用對Valid_flag的多版本管理(MVCCforValid_flag)機制實現(xiàn)對自身更新中數(shù)據(jù)的最新參照。

    對于1個MPP集群系統(tǒng)來說,還必須考慮主分片與副分片之間的數(shù)據(jù)一致性,主副分片的一致性機制一般可以通過經(jīng)典的預(yù)備提交(也稱兩階段提交)來實現(xiàn),GBase8aMPP可以通過兩種方式實現(xiàn):

    (1)一種方式是在兩個分片上同時處理DML等關(guān)系數(shù)據(jù)庫操作,當主分片需要提交時(即按照上述的Valid_flag置位方式實現(xiàn)),會向副分片發(fā)出提交請求,如果副分片已經(jīng)處理完本次任務(wù),它會直接返回主分片一個ACK+消息,如果副分片還沒有完成本次任務(wù),它會返回主分片一個ACK-消息,表明還需要等待(GBase8a MPP可以設(shè)置等待超時),當主分片接到從副分片發(fā)來的ACK+消息時,它會指示副分片一塊提交更新完的數(shù)據(jù)。

    (2)作為另一種方式,是先更新主分片上數(shù)據(jù),再由主分片將數(shù)據(jù)轉(zhuǎn)發(fā)到副分片上,這個數(shù)據(jù)轉(zhuǎn)發(fā)機制可以保證更新數(shù)據(jù)按照增分傳輸?shù)姆绞?,準確傳輸?shù)礁狈制?,而當主分片完成?shù)據(jù)更新后,它會按照與上面第一種DML提交同樣的方式,提交本次更新。GBase 8a MPP內(nèi)部的副本生成機制如圖6所示。

    實際MPP集群對副本的一致性進行了一定的緩和,即當主副分片中有任意一個分片無法工作的時刻,集群可以允許主副分片之間的數(shù)據(jù)非一致性,并允許集群整體的事務(wù)可以強制提交,這時集群的GCware會在健康的分片上保留1個Eventlog事件日志,記錄故障分片上丟失的那個操作(這個操作可能是一個DML數(shù)據(jù)更新操作,也可能是一個DDL操作),而此后當故障節(jié)點上的那個分片恢復(fù)正常的時候,GCware會從Eventlog的事件日志中探測出需要恢復(fù)的操作,進而調(diào)用相關(guān)進程完成故障節(jié)點分片向健康分片上數(shù)據(jù)的數(shù)據(jù)追平,從而完成故障后數(shù)據(jù)恢復(fù)。

    此外,對于GBase8aMPP集群,為了完成并發(fā)下的事務(wù)正確的執(zhí)行能力,采用了適合于MPP和列式存儲的并發(fā)控制策略。作為GBase8aMPP采用的最簡單的并發(fā)控制方式,是采用表級鎖機制,之后采用對DCWindowssize內(nèi)的連續(xù)數(shù)據(jù)塊的DC鎖機制從而減少鎖粒度,這種機制實際上就是在內(nèi)存區(qū)域上設(shè)置了針對各個事務(wù)的獨立的數(shù)據(jù)更新區(qū)域,既提高了寫操作的速度,也同時提高并發(fā)的處理能力。隨著GBase 8aMPP的分片文件自身的細化,數(shù)據(jù)分片將變得更小,將數(shù)據(jù)從內(nèi)存中的DC寫入到分片文件時,由于分片文件存在多個,1個Hash段內(nèi)的DC數(shù)據(jù)在向?qū)?yīng)分片數(shù)據(jù)寫入數(shù)據(jù)時,如果遇到文件被鎖住的情況,它還可以將另一Hash段內(nèi)的DC數(shù)據(jù)寫入其他分片文件上,這樣就減少了因鎖而導(dǎo)致的數(shù)據(jù)寫性能的下降。

    圖6 GBase 8a MPP內(nèi)部的副本生成機制

    5 GBase8 aMPP數(shù)據(jù)庫的應(yīng)用實踐

    GBase8a MPP作為一種分布式的列式關(guān)系數(shù)據(jù)庫,已經(jīng)應(yīng)用到了電信和金融等核心行業(yè),從實際項目中我們總結(jié)了大量項目經(jīng)驗,這些經(jīng)驗對于充分發(fā)揮MPP數(shù)據(jù)庫的能力是十分有益的。

    5.1基于MPP+Hadoop的混搭技術(shù)

    MPP作為一種基于分布式列式關(guān)系數(shù)據(jù)庫,能夠支撐在海量結(jié)構(gòu)化數(shù)據(jù)基礎(chǔ)之上的關(guān)系運算,但作為非結(jié)構(gòu)化數(shù)據(jù)的處理和關(guān)系型運算以外的算法,MPP并不擅長,而作為實際的大數(shù)據(jù)應(yīng)用,則發(fā)現(xiàn)大數(shù)據(jù)的4V特性經(jīng)常會同時成為需求特征,這就需要構(gòu)建一個綜合的大數(shù)據(jù)平臺,而從實際工程中,總結(jié)了MPP+ Hadoop的混搭結(jié)構(gòu)能夠有效解決此類問題。作為一個最典型的場景,Hadoop作為MPP的前端ETL平臺,可以對非結(jié)構(gòu)化數(shù)據(jù)進行結(jié)構(gòu)化轉(zhuǎn)換和低層匯總,或者是從圖像等完全非結(jié)構(gòu)化數(shù)據(jù)中提取特征量等,之后將提煉的結(jié)構(gòu)化數(shù)據(jù)結(jié)果集載入MPP,利用MPP庫內(nèi)強大的數(shù)據(jù)表的關(guān)聯(lián)能力,將Hadoop平臺的生成數(shù)據(jù)與載入MPP的從其他業(yè)務(wù)系統(tǒng)數(shù)據(jù)源載入的數(shù)據(jù)進行關(guān)聯(lián)融合,從而得到傳統(tǒng)數(shù)據(jù)倉庫下無法實現(xiàn)的深度分析能力。對于一個電信運營商的大數(shù)據(jù)系統(tǒng),就經(jīng)常使用這一模式構(gòu)建大數(shù)據(jù)平臺,使用Hadoop對信令和位置信息進行結(jié)構(gòu)化轉(zhuǎn)換和低層匯總。另外,從BOSS、CRM等業(yè)務(wù)系統(tǒng)整合而來的業(yè)務(wù)結(jié)構(gòu)化數(shù)據(jù)同Hadoop加工后的數(shù)據(jù)結(jié)果一并放入GBase 8a MPP,在GBase8aMPP庫內(nèi)綜合客戶資料和用為行為軌跡以及上網(wǎng)行為等的全用戶圖像信息(這些信息可以適用于精準營銷場景中)。

    5.2Hashkey的合理選擇

    合理設(shè)置數(shù)據(jù)表的Hash Key對于提高MPP的計算并行度以及減少節(jié)點之間的數(shù)據(jù)傳輸至關(guān)重要,所以HashKey的選擇在GBase8aMPP工程實施過程中,是作為數(shù)據(jù)模型設(shè)計階段最重要的工作被認知,根據(jù)眾多工程經(jīng)驗,總結(jié)以下因素是在建立HashKey時最重要的考慮因素。

    ●盡量選擇Count(Distinct)值大的列做Hash分布列,讓數(shù)據(jù)均勻分布,避免數(shù)據(jù)傾斜產(chǎn)生木桶效應(yīng)。

    ●優(yōu)先考慮大表間的Join,盡量讓大表Join條件的列為Hash分布列(相關(guān)子查詢的相關(guān)Join也可以參考此原則),以使得大表間的Join可以直接分布式執(zhí)行。

    ●其次考慮Groupby,盡量讓Groupby帶有Hash分布列,讓分組聚合一步完成。

    ●通常是等值查詢的列,并且使用的頻率很高的應(yīng)考慮建立為Hash分布列。

    5.3列式存儲下寬表的使用

    列存以列為單位組織底層文件存儲,在Select投影列一定的情況下,表寬對查詢性能沒有影響,并且考慮數(shù)據(jù)壓縮等優(yōu)勢,利用寬表設(shè)計可在無任何負面影響的前提下,提升關(guān)系計算結(jié)果集生成時的效率。工程項目現(xiàn)場總結(jié)的經(jīng)驗:對于需要大表關(guān)聯(lián)生成查詢結(jié)果的一些場景(多個大表關(guān)聯(lián)并有一些過濾條件),在數(shù)據(jù)膨脹率可接受的情況下可以將大表關(guān)聯(lián)提前進行預(yù)處理,并將預(yù)處理結(jié)果保存為一張寬表,將原來的基于大表多表關(guān)聯(lián)的查詢轉(zhuǎn)化為基于預(yù)處理結(jié)果表的單表查詢,可以有效提升這類SQL查詢的執(zhí)行效率,同時提高此類查詢的并發(fā)能力。

    5.4合理利用壓縮算法

    壓縮在節(jié)省存儲空間的同時,可減少I/O吞吐,從而提升性能。但考慮解壓等因素等,壓縮在某種場景下,如果使用不合理,可能會導(dǎo)致性能的“不生而降”。

    對于GBase8aMPP的實際應(yīng)用場景,總結(jié)了以下經(jīng)驗:

    ●如果對存儲空間要求高,對性能不太要求時,建議使用高壓縮比壓縮算法。

    ●如果對存儲空間要求不高,對性能要求高時,建議使用一般壓縮比壓縮算法。

    5.5提高數(shù)據(jù)質(zhì)量以提高處理效率

    GBase8aMPP處理的效率直接依存于入庫時的數(shù)據(jù)質(zhì)量,數(shù)據(jù)質(zhì)量的惡劣可能導(dǎo)致數(shù)據(jù)Hash分布的無效性或者智能索引的無效性。下面是針對GBase8a MPP在實際項目中運用時,總結(jié)的一些和數(shù)據(jù)質(zhì)量控制相關(guān)的最佳經(jīng)驗。

    ●數(shù)值類型的處理性能比字符串要好,建議選擇數(shù)值類型。

    ●對于表間關(guān)聯(lián)常用的字段,各表應(yīng)該設(shè)計成同樣的字段類型。

    ●在表關(guān)聯(lián)運算中,如果對各表的Hash分布列加Rtrim、ltrim函數(shù)會改變Hash Join的執(zhí)行計劃,必須去掉。為回避此類情形,必須保證加載入庫前的數(shù)據(jù)文件內(nèi)的數(shù)據(jù)質(zhì)量,以保證字段數(shù)據(jù)的正確性。

    類似經(jīng)驗還很多,出于文章篇幅原因,這里不再一一講解。但有一點要注意,就是GBase8aMPP雖然作為一種關(guān)系數(shù)據(jù)庫,由于其存儲架構(gòu)和處理架構(gòu)上的不同,所導(dǎo)致數(shù)據(jù)庫設(shè)計規(guī)范會與傳統(tǒng)關(guān)系數(shù)據(jù)庫有所差別,從傳統(tǒng)數(shù)據(jù)庫遷移到GBase8aMPP時,需要考慮相關(guān)的調(diào)整因素,以充分發(fā)揮遷移到MPP后的應(yīng)用性能的改善效果。

    6 結(jié)束語

    GBase8aMPP作為一款在國內(nèi)行業(yè)大數(shù)據(jù)市場最廣泛使用的新型關(guān)系型數(shù)據(jù)庫(NewSQL),在設(shè)計上根本突破了傳統(tǒng)型關(guān)系數(shù)據(jù)庫的限制,在列式存儲架構(gòu)和MPP+Shared Nothing大規(guī)模處理并行架構(gòu)設(shè)計上作了各種富有創(chuàng)造性的功能特性開發(fā),在充分發(fā)揮MPP型列式數(shù)據(jù)庫的處理優(yōu)勢同時,回避了由于MPP分布式和列式存儲等所導(dǎo)致的新派生問題,并且保證了系統(tǒng)的可靠性。

    同時,GBase8a MPP在進入行業(yè)市場的近6年時間里,從工程實施到實際運用部署,積累了大量的實踐經(jīng)驗,這些都有力消化了新技術(shù)在向?qū)嶋H行業(yè)應(yīng)用導(dǎo)入時的各項風(fēng)險,并且通過迅速的技術(shù)迭代,GBase8a MPP正在成為大數(shù)據(jù)行業(yè)最有競爭力的逐步成熟的大數(shù)據(jù)平臺級產(chǎn)品。

    參考文獻

    [1]舍恩伯格.大數(shù)據(jù)時代[M].杭州:浙江人民出版社,2012.

    [2].張俊林.大數(shù)據(jù)日知錄:架構(gòu)和算法[M].北京:電子工業(yè)出版社,2014.

    [3]陸嘉恒.大數(shù)據(jù)挑戰(zhàn)與NoSQL數(shù)據(jù)庫技術(shù)[M].北京:電子工業(yè)出版社,2013.

    [4]邵佩英.分布式數(shù)據(jù)庫系統(tǒng)及其應(yīng)用[M].北京:科學(xué)出版社,2005.

    [5]George Coulouris,Jean Dollimore,Tim Kindberg,Gordon Blair.分布式系統(tǒng):概念與設(shè)計(原書第5版)[M].北京:機械工業(yè)出版社,2013.

    [6]BonifatA,ChrysanthisPK,OukselAM.Distributeddatabases and peer to peer database:past and present[J]. SIGMOD record,2008.

    [7]Copeland GP,Khoshafian SN.Adecompositionstoragemodel [C].ProcofThe1985ACMSIGMODInternationalconferenceon ManagementofData,1985.

    AnewSQLtechniques’s architecture design and practice for relational database

    LIHan

    Abstract:With the rapid development of the industrial big data, the Big Data applications in industrial fields have proposed more higher demands for data management techniques such as data storage and data processing.As traditional architecture of mini-computer and array storage,it has limited the capacity and scalability ofDBMSsystem. This paper have summarized the key techniques a kind of NewSQLDBMS-GBase 8a MPPbased on MPPand column-oriented architecture. By the advanced techniques of GBase 8aMPP, we can effectively solve the restrications faced by traditional database such as scalability, parallel computing capacity for massive data, and high availability under inexpensive hardware conditions.

    Keywords:big data; massive parallel processing; relational database; column-orientedDBMS;relational operator

    收稿日期:(2016-03-28)

    猜你喜歡
    關(guān)系數(shù)據(jù)庫大數(shù)據(jù)
    關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
    山東冶金(2022年2期)2022-08-08 01:51:30
    關(guān)系數(shù)據(jù)庫技術(shù)在計算機網(wǎng)絡(luò)設(shè)計中的應(yīng)用
    計算機網(wǎng)絡(luò)設(shè)計中關(guān)系數(shù)據(jù)庫技術(shù)的應(yīng)用
    大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
    新聞世界(2016年10期)2016-10-11 20:13:53
    基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
    科技視界(2016年20期)2016-09-29 10:53:22
    數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
    中國記者(2016年6期)2016-08-26 12:36:20
    基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
    一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索方法
    基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
    午夜精品一区二区三区免费看| 久久国产乱子伦精品免费另类| 久久中文看片网| 老熟妇乱子伦视频在线观看| 欧美绝顶高潮抽搐喷水| 成熟少妇高潮喷水视频| 亚洲av第一区精品v没综合| 日本精品一区二区三区蜜桃| 美女午夜性视频免费| 欧美+亚洲+日韩+国产| 国产精品电影一区二区三区| 亚洲av电影不卡..在线观看| 黄频高清免费视频| 午夜a级毛片| 黄色 视频免费看| 久久精品亚洲精品国产色婷小说| 蜜桃久久精品国产亚洲av| 香蕉丝袜av| 国产精华一区二区三区| 国产 一区 欧美 日韩| 免费看a级黄色片| 精品午夜福利视频在线观看一区| 国产精品精品国产色婷婷| 亚洲av成人不卡在线观看播放网| 国产精品久久久久久久电影 | 国产精品影院久久| 久久久久国产精品人妻aⅴ院| 欧美日韩福利视频一区二区| 亚洲黑人精品在线| 亚洲欧美一区二区三区黑人| 欧美zozozo另类| 波多野结衣高清无吗| 国产成+人综合+亚洲专区| 久久久久精品国产欧美久久久| 久99久视频精品免费| 最近最新中文字幕大全免费视频| 91麻豆精品激情在线观看国产| 成人亚洲精品av一区二区| 欧美zozozo另类| 欧美在线一区亚洲| www.999成人在线观看| 又紧又爽又黄一区二区| 精品久久久久久久末码| 成人午夜高清在线视频| 亚洲欧美一区二区三区黑人| 亚洲狠狠婷婷综合久久图片| 1000部很黄的大片| 一区二区三区高清视频在线| 久久久久久人人人人人| 久久久久久人人人人人| 成人国产一区最新在线观看| 两人在一起打扑克的视频| 久久久成人免费电影| 此物有八面人人有两片| 久久国产乱子伦精品免费另类| 欧美最黄视频在线播放免费| 非洲黑人性xxxx精品又粗又长| 久久亚洲真实| 色综合站精品国产| 一进一出好大好爽视频| 嫩草影视91久久| 精品欧美国产一区二区三| 视频区欧美日本亚洲| 少妇丰满av| 两个人的视频大全免费| 国产伦一二天堂av在线观看| 亚洲电影在线观看av| 久久精品国产综合久久久| 两个人看的免费小视频| 少妇的丰满在线观看| 麻豆成人午夜福利视频| 啪啪无遮挡十八禁网站| 国产精品一区二区三区四区久久| 一级a爱片免费观看的视频| 人妻夜夜爽99麻豆av| 国产精品一区二区三区四区免费观看 | 1024香蕉在线观看| 亚洲中文av在线| 国产一区二区在线av高清观看| 亚洲专区国产一区二区| 色尼玛亚洲综合影院| 两性夫妻黄色片| 午夜精品久久久久久毛片777| 免费在线观看成人毛片| 99热这里只有精品一区 | 欧美在线一区亚洲| 成人特级av手机在线观看| 女生性感内裤真人,穿戴方法视频| 国产精品久久久av美女十八| 天天躁狠狠躁夜夜躁狠狠躁| 中文亚洲av片在线观看爽| 亚洲欧美精品综合一区二区三区| 日韩中文字幕欧美一区二区| 老熟妇乱子伦视频在线观看| 国产在线精品亚洲第一网站| a在线观看视频网站| 午夜免费激情av| 久久久久国内视频| 久久这里只有精品中国| 欧美3d第一页| 别揉我奶头~嗯~啊~动态视频| 极品教师在线免费播放| 男女床上黄色一级片免费看| 长腿黑丝高跟| 极品教师在线免费播放| 给我免费播放毛片高清在线观看| 欧美3d第一页| 国产精品美女特级片免费视频播放器 | 国产精品自产拍在线观看55亚洲| 国产欧美日韩精品亚洲av| 午夜福利欧美成人| 国产三级在线视频| 精品电影一区二区在线| 九九在线视频观看精品| 国产毛片a区久久久久| 国产伦一二天堂av在线观看| 一级毛片高清免费大全| 免费观看精品视频网站| 国内久久婷婷六月综合欲色啪| 久久精品综合一区二区三区| 美女大奶头视频| 亚洲,欧美精品.| 叶爱在线成人免费视频播放| 这个男人来自地球电影免费观看| 免费电影在线观看免费观看| 亚洲精品一区av在线观看| 免费在线观看影片大全网站| 日韩成人在线观看一区二区三区| 老汉色av国产亚洲站长工具| 观看美女的网站| 精品国产乱码久久久久久男人| 黄色女人牲交| av欧美777| 欧美在线黄色| 一a级毛片在线观看| 午夜福利18| 国产蜜桃级精品一区二区三区| 中文字幕熟女人妻在线| 两性夫妻黄色片| 99热这里只有精品一区 | 丰满的人妻完整版| avwww免费| 少妇丰满av| 国产一区在线观看成人免费| 亚洲成人精品中文字幕电影| av中文乱码字幕在线| 亚洲av五月六月丁香网| 久久久精品大字幕| 国产伦在线观看视频一区| 动漫黄色视频在线观看| 国产高清视频在线播放一区| 熟女电影av网| 欧美激情久久久久久爽电影| 亚洲va日本ⅴa欧美va伊人久久| 女同久久另类99精品国产91| 无遮挡黄片免费观看| 中文字幕人妻丝袜一区二区| 婷婷六月久久综合丁香| 婷婷精品国产亚洲av在线| 国产欧美日韩一区二区三| 成人特级av手机在线观看| 国模一区二区三区四区视频 | 亚洲男人的天堂狠狠| 一本一本综合久久| 一边摸一边抽搐一进一小说| 国产真实乱freesex| 欧洲精品卡2卡3卡4卡5卡区| 色尼玛亚洲综合影院| 老司机福利观看| 最新在线观看一区二区三区| 最新在线观看一区二区三区| 精品久久蜜臀av无| 亚洲国产精品久久男人天堂| 国产在线精品亚洲第一网站| 一级毛片高清免费大全| 天堂网av新在线| 亚洲av成人精品一区久久| 99国产精品99久久久久| 亚洲av片天天在线观看| 国产亚洲精品综合一区在线观看| 亚洲无线观看免费| 亚洲va日本ⅴa欧美va伊人久久| 91在线观看av| 一个人看视频在线观看www免费 | 又爽又黄无遮挡网站| 熟女人妻精品中文字幕| 亚洲成a人片在线一区二区| 精品午夜福利视频在线观看一区| 精品99又大又爽又粗少妇毛片 | 美女扒开内裤让男人捅视频| 亚洲国产中文字幕在线视频| svipshipincom国产片| 国产高清激情床上av| 一个人看的www免费观看视频| 不卡av一区二区三区| 亚洲中文字幕日韩| 国产高清videossex| 可以在线观看毛片的网站| 久久久久国产精品人妻aⅴ院| 亚洲av成人不卡在线观看播放网| 在线免费观看的www视频| 最近最新中文字幕大全免费视频| 中文字幕精品亚洲无线码一区| 在线看三级毛片| 熟女少妇亚洲综合色aaa.| 久久久精品大字幕| svipshipincom国产片| 国产av麻豆久久久久久久| 757午夜福利合集在线观看| 免费在线观看影片大全网站| 亚洲片人在线观看| 午夜亚洲福利在线播放| 亚洲精品久久国产高清桃花| 日韩高清综合在线| 久久亚洲真实| 99在线视频只有这里精品首页| 性欧美人与动物交配| 好看av亚洲va欧美ⅴa在| 老熟妇仑乱视频hdxx| 男女床上黄色一级片免费看| 18禁裸乳无遮挡免费网站照片| 精品一区二区三区四区五区乱码| 日本一本二区三区精品| 手机成人av网站| 欧美日本亚洲视频在线播放| 欧美一区二区国产精品久久精品| 免费观看的影片在线观看| 国产精品久久久久久人妻精品电影| 男女视频在线观看网站免费| 国内毛片毛片毛片毛片毛片| 日日干狠狠操夜夜爽| 黄片大片在线免费观看| 亚洲人成伊人成综合网2020| 熟女少妇亚洲综合色aaa.| 天堂网av新在线| 美女被艹到高潮喷水动态| 亚洲自偷自拍图片 自拍| 网址你懂的国产日韩在线| 国产一区二区三区视频了| 女人高潮潮喷娇喘18禁视频| 男女做爰动态图高潮gif福利片| 亚洲精品美女久久av网站| 制服丝袜大香蕉在线| 男人的好看免费观看在线视频| 国产成人一区二区三区免费视频网站| 99热这里只有精品一区 | 国产av麻豆久久久久久久| 免费无遮挡裸体视频| 国产精品影院久久| 免费在线观看影片大全网站| 国产av在哪里看| 五月伊人婷婷丁香| 国产亚洲欧美在线一区二区| 国产成人aa在线观看| 精品国内亚洲2022精品成人| 夜夜看夜夜爽夜夜摸| 久久99热这里只有精品18| 男女下面进入的视频免费午夜| 男女床上黄色一级片免费看| 日日干狠狠操夜夜爽| 成人无遮挡网站| 亚洲人与动物交配视频| 亚洲在线观看片| 国产99白浆流出| 男女床上黄色一级片免费看| 91久久精品国产一区二区成人 | www日本在线高清视频| 亚洲av片天天在线观看| 欧美日韩国产亚洲二区| 啦啦啦观看免费观看视频高清| 国内精品久久久久精免费| 不卡av一区二区三区| 三级国产精品欧美在线观看 | 中文字幕精品亚洲无线码一区| 亚洲精品乱码久久久v下载方式 | 真实男女啪啪啪动态图| 看片在线看免费视频| 婷婷精品国产亚洲av| 久久久久亚洲av毛片大全| 香蕉av资源在线| 中文字幕熟女人妻在线| 亚洲五月婷婷丁香| 亚洲精品456在线播放app | 黄色丝袜av网址大全| 成人精品一区二区免费| 亚洲色图av天堂| 亚洲一区二区三区色噜噜| 久久天堂一区二区三区四区| 免费看十八禁软件| 99久久成人亚洲精品观看| 在线a可以看的网站| 国产男靠女视频免费网站| 免费电影在线观看免费观看| 99国产综合亚洲精品| 亚洲人成电影免费在线| 精品久久久久久久人妻蜜臀av| 此物有八面人人有两片| 极品教师在线免费播放| 少妇的丰满在线观看| 国产男靠女视频免费网站| 欧美黑人欧美精品刺激| a在线观看视频网站| 黄色丝袜av网址大全| 成人特级黄色片久久久久久久| 国产精品,欧美在线| 俺也久久电影网| 天堂网av新在线| 夜夜看夜夜爽夜夜摸| 一区福利在线观看| or卡值多少钱| 国产真实乱freesex| 午夜日韩欧美国产| 久久久久亚洲av毛片大全| 舔av片在线| 欧美中文日本在线观看视频| 国产精品野战在线观看| 午夜福利在线观看免费完整高清在 | 九色国产91popny在线| www日本在线高清视频| 日韩免费av在线播放| 他把我摸到了高潮在线观看| 免费搜索国产男女视频| 国产精品 欧美亚洲| 曰老女人黄片| 亚洲成人精品中文字幕电影| 久久香蕉国产精品| 国产亚洲精品久久久com| 亚洲男人的天堂狠狠| 国产伦在线观看视频一区| 91字幕亚洲| 男女床上黄色一级片免费看| 国模一区二区三区四区视频 | 成人国产一区最新在线观看| 深夜精品福利| 久久天躁狠狠躁夜夜2o2o| 色av中文字幕| 可以在线观看毛片的网站| 人妻夜夜爽99麻豆av| 色综合站精品国产| 欧美一级毛片孕妇| 亚洲av五月六月丁香网| 亚洲av免费在线观看| 国产淫片久久久久久久久 | 国产精品亚洲av一区麻豆| 一个人看视频在线观看www免费 | 国产成人系列免费观看| 亚洲精品中文字幕一二三四区| 国产v大片淫在线免费观看| 日韩欧美在线乱码| 日韩人妻高清精品专区| 老汉色av国产亚洲站长工具| 欧美色视频一区免费| 亚洲在线自拍视频| 欧美三级亚洲精品| 国产成人福利小说| 久久久国产成人精品二区| 一级黄色大片毛片| 99在线人妻在线中文字幕| 两人在一起打扑克的视频| 久久精品国产综合久久久| 精品国产超薄肉色丝袜足j| 草草在线视频免费看| 91av网站免费观看| a在线观看视频网站| 女警被强在线播放| 欧美日韩瑟瑟在线播放| 国产精品一及| 欧美日韩一级在线毛片| 在线观看舔阴道视频| 91av网一区二区| 男女之事视频高清在线观看| 亚洲男人的天堂狠狠| 国产午夜福利久久久久久| 九九热线精品视视频播放| 校园春色视频在线观看| 三级国产精品欧美在线观看 | 国产成人啪精品午夜网站| 老司机在亚洲福利影院| 一区福利在线观看| 亚洲国产欧美一区二区综合| 亚洲第一电影网av| 亚洲精品一卡2卡三卡4卡5卡| 黄色女人牲交| a在线观看视频网站| 日本一本二区三区精品| 不卡一级毛片| 天堂√8在线中文| 欧美日韩一级在线毛片| 亚洲中文日韩欧美视频| 国产精品影院久久| 91av网站免费观看| 欧美中文日本在线观看视频| 一本综合久久免费| 亚洲成人中文字幕在线播放| 性色avwww在线观看| 一区二区三区国产精品乱码| 五月伊人婷婷丁香| 欧美成狂野欧美在线观看| 中文资源天堂在线| 午夜免费成人在线视频| av在线天堂中文字幕| 熟女少妇亚洲综合色aaa.| 老司机在亚洲福利影院| 亚洲精品国产精品久久久不卡| 欧美3d第一页| 日本黄色视频三级网站网址| 国内毛片毛片毛片毛片毛片| 级片在线观看| 日韩欧美国产一区二区入口| 欧美xxxx黑人xx丫x性爽| 99热精品在线国产| 欧美一区二区精品小视频在线| av在线天堂中文字幕| 精品午夜福利视频在线观看一区| 老司机在亚洲福利影院| 亚洲18禁久久av| 性欧美人与动物交配| 变态另类成人亚洲欧美熟女| 久久久久久大精品| 中文在线观看免费www的网站| 亚洲精品一区av在线观看| 国产亚洲av嫩草精品影院| 国产免费男女视频| 十八禁网站免费在线| 国产成人欧美在线观看| 国产不卡一卡二| 叶爱在线成人免费视频播放| 一卡2卡三卡四卡精品乱码亚洲| 又紧又爽又黄一区二区| 国产av不卡久久| 久久久久性生活片| 色老头精品视频在线观看| 久久中文看片网| 久99久视频精品免费| 亚洲最大成人中文| 男女床上黄色一级片免费看| 亚洲欧美激情综合另类| 午夜两性在线视频| 俄罗斯特黄特色一大片| 两个人看的免费小视频| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲国产色片| 婷婷亚洲欧美| 日本精品一区二区三区蜜桃| 国内精品久久久久久久电影| 亚洲人成网站高清观看| 国产精品亚洲av一区麻豆| 久久久久国产精品人妻aⅴ院| 波多野结衣高清作品| 久久久国产成人精品二区| 亚洲av五月六月丁香网| 哪里可以看免费的av片| 精品久久蜜臀av无| 国内精品美女久久久久久| 国产伦人伦偷精品视频| 久久热在线av| 午夜免费成人在线视频| 日本 欧美在线| 中文字幕高清在线视频| 国产精品av视频在线免费观看| 在线观看日韩欧美| 黄色成人免费大全| 露出奶头的视频| 三级毛片av免费| 国产精品一区二区三区四区免费观看 | 日本精品一区二区三区蜜桃| 久久久久性生活片| 一级黄色大片毛片| 综合色av麻豆| 黄色丝袜av网址大全| 日本五十路高清| 欧美成狂野欧美在线观看| 亚洲无线观看免费| 亚洲18禁久久av| 日韩欧美在线二视频| 最好的美女福利视频网| 麻豆成人午夜福利视频| 99视频精品全部免费 在线 | 国产精品野战在线观看| 五月伊人婷婷丁香| 亚洲人成电影免费在线| 精品不卡国产一区二区三区| 舔av片在线| 国产欧美日韩精品一区二区| 国产精品av视频在线免费观看| 久久久国产成人精品二区| 此物有八面人人有两片| 真人一进一出gif抽搐免费| 国内精品一区二区在线观看| 久久久国产精品麻豆| 两个人看的免费小视频| 五月伊人婷婷丁香| 午夜激情福利司机影院| 一区二区三区激情视频| 日日干狠狠操夜夜爽| 亚洲午夜理论影院| АⅤ资源中文在线天堂| 丰满人妻熟妇乱又伦精品不卡| 五月伊人婷婷丁香| 夜夜夜夜夜久久久久| 久久欧美精品欧美久久欧美| 午夜精品久久久久久毛片777| 国产精品久久久久久久电影 | or卡值多少钱| 国产成人av激情在线播放| 美女午夜性视频免费| 久99久视频精品免费| 黄色成人免费大全| cao死你这个sao货| 久久精品亚洲精品国产色婷小说| 成人特级av手机在线观看| 久久久精品大字幕| 日韩欧美三级三区| 亚洲第一电影网av| 久久久成人免费电影| 久久久久国产一级毛片高清牌| 午夜视频精品福利| 一本久久中文字幕| 欧美激情久久久久久爽电影| 91av网站免费观看| 91九色精品人成在线观看| 成年女人永久免费观看视频| 免费在线观看日本一区| 国产精品一区二区三区四区久久| 国产又黄又爽又无遮挡在线| 热99在线观看视频| 久久精品国产99精品国产亚洲性色| ponron亚洲| 一边摸一边抽搐一进一小说| 成人永久免费在线观看视频| 亚洲熟妇中文字幕五十中出| www.精华液| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲成人久久爱视频| 亚洲 欧美 日韩 在线 免费| 啪啪无遮挡十八禁网站| 国产伦在线观看视频一区| 国产精品九九99| 久久久久久久久免费视频了| 亚洲国产看品久久| 97超级碰碰碰精品色视频在线观看| 99久久久亚洲精品蜜臀av| www.www免费av| 曰老女人黄片| 欧美在线一区亚洲| 亚洲午夜精品一区,二区,三区| 天天添夜夜摸| 一本综合久久免费| 国产精品自产拍在线观看55亚洲| 中文字幕久久专区| 亚洲国产欧洲综合997久久,| 亚洲在线观看片| 国产av不卡久久| 99国产精品99久久久久| 欧美性猛交黑人性爽| 国产成人精品久久二区二区免费| 久久久久久久午夜电影| 99精品在免费线老司机午夜| 18禁国产床啪视频网站| 日本在线视频免费播放| 中文字幕人成人乱码亚洲影| 最新在线观看一区二区三区| 神马国产精品三级电影在线观看| 精品一区二区三区视频在线 | 老司机午夜福利在线观看视频| 黄色成人免费大全| 色精品久久人妻99蜜桃| h日本视频在线播放| 日本免费a在线| 国产免费男女视频| 亚洲av第一区精品v没综合| 老司机深夜福利视频在线观看| 亚洲狠狠婷婷综合久久图片| 欧美日本视频| 极品教师在线免费播放| 国产精品亚洲美女久久久| а√天堂www在线а√下载| 婷婷亚洲欧美| 男女视频在线观看网站免费| 欧美不卡视频在线免费观看| 母亲3免费完整高清在线观看| 国产精品1区2区在线观看.| 亚洲五月天丁香| 黄色日韩在线| 国产精品久久视频播放| 黄色成人免费大全| 18美女黄网站色大片免费观看| h日本视频在线播放| 久久亚洲真实| 国产黄片美女视频| 精品久久久久久久末码| 一二三四在线观看免费中文在| 中亚洲国语对白在线视频| 一个人看的www免费观看视频| 男女视频在线观看网站免费| 老司机在亚洲福利影院| 男女视频在线观看网站免费| 国语自产精品视频在线第100页| 亚洲av熟女| 白带黄色成豆腐渣| 久久精品91无色码中文字幕| 黑人巨大精品欧美一区二区mp4| 这个男人来自地球电影免费观看| 国产亚洲av高清不卡| 黄片大片在线免费观看| 国产午夜福利久久久久久| 后天国语完整版免费观看| 黄色 视频免费看| 国产精品美女特级片免费视频播放器 | 国产男靠女视频免费网站| 欧美3d第一页| 国产不卡一卡二| 丰满人妻熟妇乱又伦精品不卡| 午夜免费观看网址| 淫妇啪啪啪对白视频|