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

    一種基于關(guān)系數(shù)據(jù)庫管理系統(tǒng)的圖計算平臺

    2016-11-29 09:34:27蔣奎陳亮
    關(guān)鍵詞:關(guān)系數(shù)據(jù)庫語句表格

    蔣奎,陳亮

    (1.河北軌道運輸職業(yè)技術(shù)學(xué)院,石家莊050021; 2.微軟亞洲研究院,北京100080)

    一種基于關(guān)系數(shù)據(jù)庫管理系統(tǒng)的圖計算平臺

    蔣奎1,陳亮2

    (1.河北軌道運輸職業(yè)技術(shù)學(xué)院,石家莊050021; 2.微軟亞洲研究院,北京100080)

    本文提出了一種新的基于關(guān)系數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System,RDBMS)(本文簡稱關(guān)系數(shù)據(jù)庫)的圖計算平臺.該平臺將圖數(shù)據(jù)以原生的形式在關(guān)系數(shù)據(jù)庫的表格中存儲,從而在數(shù)據(jù)表達(dá)上和原生圖計算平臺達(dá)到了一致.該平臺將圖計算邏輯完整準(zhǔn)確地表達(dá)為SQL(Structured Query Language)查詢語句.關(guān)系數(shù)據(jù)庫執(zhí)行SQL查詢語句,從而完成圖計算,并將結(jié)果返回.實驗結(jié)果表明,該新的平臺有效地利用了關(guān)系數(shù)據(jù)庫成熟的查詢優(yōu)化技術(shù),在很多方面優(yōu)于現(xiàn)有的原生數(shù)據(jù)平臺;而目前的性能局限,也會隨著未來關(guān)系數(shù)據(jù)庫的不斷演化和迭代,得到有效的解決.

    關(guān)系數(shù)據(jù)庫管理系統(tǒng);圖計算;原生圖計算平臺

    0 引言

    圖數(shù)據(jù)在今天的企業(yè)環(huán)境中無處不在,它的大量出現(xiàn)使得越來越多的應(yīng)用需要高效地分析、處理、計算圖數(shù)據(jù),進(jìn)而對圖計算平臺產(chǎn)生了大量的需求.雖然今天關(guān)系數(shù)據(jù)庫(RDBMS)在企業(yè)中是最為重要的數(shù)據(jù)平臺,但它的成功常常被看作僅僅局限于表格數(shù)據(jù),而在圖計算領(lǐng)域面臨著諸多困難.事實上,在最近的NoSQL(Not Only SQL)趨勢中,大量的原生圖計算平臺紛紛涌現(xiàn)[1-3],其中的絕大部分放棄了關(guān)系數(shù)據(jù)庫,從而完全重新設(shè)計、實現(xiàn)針對圖數(shù)據(jù)的存儲和查詢引擎.

    原生圖計算平臺和關(guān)系數(shù)據(jù)最明顯的區(qū)別體現(xiàn)在兩方面:數(shù)據(jù)存儲和計算語言.和關(guān)系數(shù)據(jù)庫的表格相比,原生圖計算平臺中最為自然的表達(dá)圖的數(shù)據(jù)結(jié)構(gòu)為鄰接表(Adjacency List).鄰接表為一個鏈表,鏈表中的每一個元素代表了一條指向鄰居節(jié)點的邊.物理表達(dá)上,鏈表中的每個元素為鄰居節(jié)點的ID(Identification).通過鏈表中的ID可以在底層存儲中定位每個鄰居節(jié)點.如果每條邊上還附帶有屬性,則鏈表中的元素從節(jié)點ID變?yōu)橐粋€元組(Tuple),該元祖不僅包含鄰居節(jié)點的ID,還包含邊上的屬性.

    在原生圖計算平臺中,廣泛采用的編程模型為BSP(Bulk Synchronous Parallel)模型[4]. BSP模型最早在并行計算中被提出,因為近些年在Google的Pregel圖計算平臺上被采用而廣為人知[5].BSP模型將圖中的每一個節(jié)點定義為一個計算單元,每個計算單元維護(hù)自己的狀態(tài),并不斷從它的鄰居節(jié)點接收鄰居的狀態(tài),用它們來更新自己的狀態(tài).該更新過程一直持續(xù),直到所有節(jié)點的狀態(tài)都已經(jīng)收斂,或者某個定義的參數(shù)滿足某些條件.正像Google在Pregel中展示的那樣,大多數(shù)圖計算算法都可以通過該模型來表達(dá),比如最短路徑、PageRank算法以及最小生成樹(Minimal Spanning Tree).

    基于鄰接表的數(shù)據(jù)表達(dá)以及BSP的編程模型,看起來和傳統(tǒng)關(guān)系數(shù)據(jù)庫的表格以及SQL語句有著巨大差距.長久以來,基于關(guān)系數(shù)據(jù)庫的圖計算研究一直十分有限.如何利用關(guān)系數(shù)據(jù)庫成熟、高效的查詢優(yōu)化技術(shù)來支持圖計算,不僅有學(xué)術(shù)價值,還有著深遠(yuǎn)的實際價值,能使數(shù)百萬關(guān)系數(shù)據(jù)庫的用戶更為方B地利用現(xiàn)有平臺滿足新的計算需求.

    本文提出了一種新的基于關(guān)系數(shù)據(jù)庫(RDBMS)的計算平臺.該平臺采用了和原生圖計算平臺相同的數(shù)據(jù)結(jié)構(gòu)來表示圖數(shù)據(jù):鄰接表.在該數(shù)據(jù)表達(dá)之上,平臺利用SQL查詢語句表達(dá)BSP程序邏輯,并將該SQL語句在底層的關(guān)系數(shù)據(jù)庫運行.SQL查詢語句包含了迭代邏輯,在每一輪迭代中不斷更新節(jié)點上的狀態(tài),直到收斂.同時,圖算法的優(yōu)化可以同通過SQL語句準(zhǔn)確清晰地表達(dá)出來,極大地提高了圖計算的性能.

    在本文中,平臺的實現(xiàn)以SQL Server數(shù)據(jù)庫為基礎(chǔ).SQL Server數(shù)據(jù)庫是主流關(guān)系數(shù)據(jù)庫之一.本文中介紹的用于實現(xiàn)鄰接表和BSP編程的技術(shù),在其他關(guān)系數(shù)據(jù)庫中也可以找到相應(yīng)的對應(yīng).

    1 圖在關(guān)系數(shù)據(jù)庫中的表達(dá)和解析

    在本節(jié)中,我們分別討論鄰接表以及圖數(shù)據(jù)在關(guān)系數(shù)據(jù)庫中的表示和操作,這是圖計算的基礎(chǔ).

    1.1 圖的表達(dá):鄰接表

    圖數(shù)據(jù)由節(jié)點和邊組成.節(jié)點和邊上可以附帶額外的屬性.一個節(jié)點上的所有出邊(Outgoing Edges)組成了一個鄰接表(Adjacency List),表中的每一個元素代表了一條指向鄰居節(jié)點的邊.在物理表達(dá)上,鄰接表中的每個元素為一個元組(Tuple),它包含了這條邊所指向的鄰居節(jié)點的ID,以及該邊上的屬性.類似,一個節(jié)點上的所有入邊(Incoming Edges),組成了另外一個鄰接表,其中的每一個元祖代表了一條指向節(jié)點自己的邊.在圖的操作中,給定一個節(jié)點,訪問該節(jié)點的鄰居十分方B:通過遍歷鄰接表,可以方B地知道每個鄰居節(jié)點的ID,通過ID也就可以進(jìn)一步定位到鄰居節(jié)點.

    盡管鄰接表十分方B圖的遍歷,但在關(guān)系數(shù)據(jù)庫中表達(dá)鄰接表卻十分困難.其根本原因在于,關(guān)系數(shù)據(jù)庫中表格的一列無法存儲一個鏈表;一個多值集合只能存到額外的表格中,并通過主鍵(Primary Key)和外鍵(Foreign Key)將兩張表格聯(lián)系起來,進(jìn)而喪失了鄰接表的方B.在系統(tǒng)實現(xiàn)中,這個困難直接導(dǎo)致了眾多系統(tǒng)開發(fā)人員放棄了關(guān)系數(shù)據(jù)庫作為圖數(shù)據(jù)的存儲引擎,進(jìn)而設(shè)計原生圖存儲.

    本文提出了一種新的在關(guān)系數(shù)據(jù)庫中表達(dá)鄰接表的方式,克服了上述提到的困難.其基本思想如下:盡管鄰接表無法直接存儲于表格的一列中,但它可以被序列化為二進(jìn)制字符串.現(xiàn)有的關(guān)系數(shù)據(jù)庫都對變長二進(jìn)制字符串有著很好的支持,會自動根據(jù)字符串的長短分配地址空間.因此通過將鏈表序列化,就能把鄰接表存放于表格的一列中,達(dá)到和原生圖存儲相同的數(shù)據(jù)表達(dá).

    給定鄰接表的表達(dá),圖數(shù)據(jù)可以方B地存儲在關(guān)系數(shù)據(jù)庫的表格中:每一個節(jié)點映射到表的一行;節(jié)點的每一個屬性,映射到表格的一列;節(jié)點出邊的鄰接表和入邊的鄰接表分別映射到兩個特殊的二進(jìn)制字符串列.圖1給出了一個社交網(wǎng)絡(luò)圖在SQL Server數(shù)據(jù)庫的存儲樣例.在該表格中,第一列存儲節(jié)點ID;第二列存儲節(jié)點上的屬性,即每位用戶的姓名;第三列存儲出邊的鄰接表.在SQL Server數(shù)據(jù)庫中,鄰接表以二進(jìn)制字符串存儲.

    圖1 社交網(wǎng)絡(luò)圖在SQL Server數(shù)據(jù)庫中存儲樣例Fig.1An example of a social network graph in SQL Server

    1.2 圖的解析

    把鄰接表以二進(jìn)制字符串存儲在關(guān)系表格中,關(guān)系數(shù)據(jù)庫的查詢引擎無法知曉該字符串的語義,也就無法用傳統(tǒng)的SQL語句來實現(xiàn)圖的遍歷.本節(jié)介紹如何通過SQL Server數(shù)據(jù)庫的擴展技術(shù),將鄰接表解析為SQL Server數(shù)據(jù)庫可見的數(shù)據(jù),進(jìn)而用SQL語句實現(xiàn)從一個節(jié)點游走到鄰居節(jié)點.該技術(shù)對其他關(guān)系數(shù)據(jù)庫同樣適用.

    圖的單步游走包含了3個基本步驟:①將節(jié)點從底層存儲中取出;②遍歷該節(jié)點上的鄰接表;③對于每個鄰居節(jié)點指針(即鄰居節(jié)點ID),定位到相應(yīng)的節(jié)點.第一步操作對應(yīng)為SQL查詢語句中的一個或多個查詢條件.第二步操作是一個遍歷操作,因為關(guān)系數(shù)據(jù)庫只能對表格進(jìn)行遍歷,因此,二進(jìn)制表達(dá)的鄰接表必須首先轉(zhuǎn)化為表格.在SQL Server數(shù)據(jù)庫中,這樣的轉(zhuǎn)化由TVF(Table-Valued Function)函數(shù)來實現(xiàn).TVF函數(shù)是一個用戶自定義函數(shù),由C#實現(xiàn),它傳入一個標(biāo)量數(shù)據(jù),返回的則是表格數(shù)據(jù).TVF函數(shù)必須實現(xiàn)3個標(biāo)準(zhǔn)接口Reset()、Current以及MoveNext(),使得SQL Server數(shù)據(jù)庫能不斷調(diào)用這些接口,將標(biāo)量數(shù)據(jù)轉(zhuǎn)化為表格數(shù)據(jù).TVF函數(shù)的接口和定義參見圖2.

    在圖計算平臺中,我們把解析鄰接表的TVF函數(shù)稱為Transpose.Transpose傳入的是二進(jìn)制表達(dá)的鄰接表.通過TVF函數(shù)中MoveNext()的實現(xiàn),Transpose完成對二進(jìn)制字符串的解析.通過Current接口,它不斷地將當(dāng)前解析出的邊返回給SQL Server數(shù)據(jù)庫引擎.SQL Server數(shù)據(jù)庫將新解析出的邊插入到臨時表格中,并通過該臨時表格將鄰居節(jié)點的ID最終傳遞給下一級的SQL語句.二進(jìn)制表示的鄰接表的完整解析過程參見圖3.在圖中,鄰接表被解析到一個臨時表中.臨時表包含兩列,第二列Sink包含了每個起始節(jié)點的鄰居指針.

    圖2 TVF函數(shù)的接口與定義Fig.2Interfaces and definition of a table-valued function(TVF)

    圖3 二進(jìn)制鄰接表的解析Fig.3Decoding of serialized adjacency lists

    在鄰接表被解析成臨時表格之后,單步游走的最后一步通過Join操作完成,即將臨時表的每一個鄰居指針(即鄰居ID)和鄰居節(jié)點關(guān)聯(lián)起來.完整的查詢語句如下所示.

    SELECT friend.NodeID,friend.Name

    FROM SocialTable AS user CROSS APPLY Transpose(user.Friends)AS E

    JOIN SocialTable AS friend on E.Sink=friend.NodeID

    WHERE user.Name=‘John Smith'

    2 圖計算編程和優(yōu)化

    2.1 BSP實現(xiàn)簡述

    BSP(Bulk Synchronous Parallel)為現(xiàn)有圖計算平臺的主要編程模型,它給每個節(jié)點定義一個狀態(tài),每個節(jié)點根據(jù)鄰居的狀態(tài)不斷更新自己的狀態(tài),直到狀態(tài)收斂.BSP模型又分為“同步BSP”和“異步BSP”.同步BSP規(guī)定每個節(jié)點第k輪的狀態(tài)由其所有鄰居的k一1輪狀態(tài)決定.因此,只有當(dāng)所有節(jié)點的第k一1輪狀態(tài)計算完畢,節(jié)點的k輪狀態(tài)才能開始計算,即存在一個全局的分界點將第k輪計算和第k一1輪計算明確地分隔開.相比而言,異步BSP則放松了每一輪更新對鄰居節(jié)點狀態(tài)的要求,節(jié)點的第k輪狀態(tài)可以由其鄰居節(jié)點的k一l輪狀態(tài)決定,l≥1.由此,異步BSP并不需要全局的分界點將所有節(jié)點的k一1輪計算和k輪計算分隔開來.在任意時刻,有些節(jié)點的狀態(tài)處于第k輪,而有些節(jié)點的狀態(tài)可能已經(jīng)是第k+l輪,l>1.同步BSP與異步BSP比較起來,邏輯清晰,實現(xiàn)簡單.因此也成為圖計算平臺主要的編程模型.在本文的討論中,我們主要關(guān)注同步BSP.

    同步BSP可以在本文提出的圖計算平臺上通過SQL語句方B地表達(dá)和實現(xiàn).每個節(jié)點的狀態(tài)映射到表格中的一列.在每一輪迭代中,每個節(jié)點需要從鄰居接受其上一輪的狀態(tài).這個操作通過解析鄰接表以及Join操作將每個節(jié)點和鄰居節(jié)點關(guān)聯(lián)起來.接著,每個節(jié)點的狀態(tài)更新表達(dá)為基于該節(jié)點的聚合函數(shù)(Aggregation Function).最后通過SQL提供的循環(huán)語句控制迭代.因為在關(guān)系數(shù)據(jù)庫中,兩次循環(huán)的執(zhí)行不會重疊,兩次循環(huán)之間存在著一個全局分界點.由此,所有節(jié)點的同步也得到天然的保障.

    BSP編程模型及其對應(yīng)的SQL語句有很強的表達(dá)力,能表達(dá)多種圖算法,比如最短路徑和最小生成樹.因為每個算法細(xì)節(jié)不同,實現(xiàn)起來也各不一樣,在本文中無法窮盡.在下面的討論中,我們著重關(guān)注一個很有代表性的實例:PageRank算法的實現(xiàn)和優(yōu)化.其他圖算法可以類似實現(xiàn).

    2.2 PageRank算法實現(xiàn)

    PageRank算法是鏈接分析里很重要的一個算法.它通過迭代運算給每個節(jié)點賦予一個分?jǐn)?shù).分?jǐn)?shù)越高的節(jié)點,重要性越高.在迭代初始狀態(tài),所有節(jié)點被賦予相同的分?jǐn)?shù).以上面提到的社交網(wǎng)絡(luò)為例,我們將圖1中的表格擴展一列Score,用來存儲每個節(jié)點的分?jǐn)?shù).在每一輪迭代中,每個節(jié)點將自己的分?jǐn)?shù)和指向自己的鄰居的分?jǐn)?shù)加權(quán)疊加,得到自己新的分?jǐn)?shù).當(dāng)節(jié)點的分?jǐn)?shù)更新后不再改變,則該節(jié)點收斂;當(dāng)所有節(jié)點收斂后,迭代運算也就終止.我們將圖1中的表格再擴展一列Converge來表示每個節(jié)點在哪一輪收斂,Converge=0表示該節(jié)點還未收斂.

    圖4展示了PageRank實現(xiàn)的代碼樣例.在循環(huán)內(nèi)部中,SQL語句通過Transpose函數(shù)解析鄰接表,并通過Join將每條邊的起點和終點關(guān)聯(lián)起來.在此基礎(chǔ)之上,SQL通過GROUP BY語句和聚合函數(shù)計算每個節(jié)點新的PageRank分?jǐn)?shù).該聚合函數(shù)是一個簡單的求和函數(shù),將每個節(jié)點鄰居的分?jǐn)?shù)加權(quán)求和.在代碼中,BinaryCount是另一個自定義函數(shù),用來計算給定鄰接表的長度.

    2.3 PageRank算法優(yōu)化

    圖4給出的PageRank的代碼是在SQL Server數(shù)據(jù)庫上最樸素的實現(xiàn).針對具體的圖算法特性,經(jīng)常會有算法級別的優(yōu)化.這類優(yōu)化不依賴于底層系統(tǒng),和具體算法緊密相關(guān),因此很難抽象為統(tǒng)一的優(yōu)化策略而在系統(tǒng)中實現(xiàn).一個好的圖計算平臺應(yīng)該提供有足夠表達(dá)力的語言,使得算法設(shè)計和實現(xiàn)者能在該平臺上將這些優(yōu)化準(zhǔn)確、簡潔地實現(xiàn)出來.本文提出的計算平臺,利用SQL語句表達(dá)算法邏輯,能很好地滿足這一需求.本小節(jié)以PageRank為例,展示如何利用SQL語句來實現(xiàn)PageRank算法的優(yōu)化.

    PageRank的計算是一個非常耗時的過程,很重要的一個原因就是每一輪迭代需要對全圖進(jìn)行遍歷.同時,只要有任何節(jié)點沒有收斂,迭代就要一直進(jìn)行下去.之前的研究者觀察到一個很重要的現(xiàn)象,可以用來極大的降低計算復(fù)雜度[6]:在PageRank分?jǐn)?shù)的計算過程中,只有少數(shù)分?jǐn)?shù)很高的節(jié)點遲遲不能收斂;大多數(shù)分?jǐn)?shù)較低的節(jié)點在開始幾輪迭代后很快就收斂了,在迭代過程中,已經(jīng)收斂的節(jié)點就不用再繼續(xù)計算了;同時,收斂節(jié)點對于未收斂節(jié)點分?jǐn)?shù)的貢獻(xiàn)也就固定不變了.如果在每輪迭代中,重用收斂節(jié)點的分?jǐn)?shù)以及它們對其他節(jié)點的貢獻(xiàn),那每一輪的迭代就可以避免重復(fù)計算,從而大大降低計算復(fù)雜度.下面我們將該優(yōu)化思想以數(shù)學(xué)公式嚴(yán)格地表達(dá)出來.

    圖4 PageRank實現(xiàn)代碼樣例Fig.4PageRank implementation using SQL

    PageRank的計算可以用迭代公式

    描述,其中,X是一個向量,每一維代表了一個節(jié)點的PageRank分?jǐn)?shù),Xk代表了第k輪迭代后所有節(jié)點的分?jǐn)?shù),A為圖的鄰接矩陣.

    我們將上述的所有優(yōu)化移植到圖4的SQL語句中,就得到了優(yōu)化后的PageRank算法實現(xiàn),如圖5所示.圖5和圖4代碼的不同之處在圖5中通過加黑高亮出來.在內(nèi)部查詢語句里,加入了條件

    該條件用在每一輪選出未收斂節(jié)點或者有最新收斂的節(jié)點.每一輪查詢語句計算兩個數(shù)值: scoren和deltac.前者對應(yīng),計算了所有未收斂節(jié)點之間互相的分?jǐn)?shù)貢獻(xiàn);后者對應(yīng)在每一輪的增量.

    圖5 PageRank優(yōu)化后的PageRank實現(xiàn)Fig.5An optimized implementation of PageRank in SQL

    3 實驗結(jié)果

    本節(jié)對本文提出的基于關(guān)系數(shù)據(jù)庫的圖計算平臺進(jìn)行實驗評估.底層的關(guān)系數(shù)據(jù)庫為SQL Server數(shù)據(jù)庫.我們選取GraphLab作為對比系統(tǒng)[3].GraphLab是一個用C++編寫的并行圖計算平臺,它提供了BSP類型的編程接口,使得開發(fā)者能夠方B地在上面實現(xiàn)圖算法.GraphLab的系統(tǒng)以迭代式圖算法為主要設(shè)計目標(biāo),其性能也以迭代式算法而著稱.在數(shù)據(jù)存儲上,GraphLab將節(jié)點以對象的形式存儲在內(nèi)存中.在默認(rèn)模式下,GraphLab僅僅維護(hù)內(nèi)存對象,而不會將這些對象同步到磁盤上.因為完全避免了磁盤訪問,這種模式會給GraphLab帶來極大的性能優(yōu)勢.但另一方面,這種模式對于關(guān)系數(shù)據(jù)庫并不公平.在關(guān)系數(shù)據(jù)庫里,任何更新都有事務(wù)(Transaction)保障,所有操作的結(jié)果都時時同步到磁盤上,以防硬件出錯和機器重啟以后結(jié)果丟失.沒有了同步機制,如果運算因為各種原因中斷,GraphLab將會丟失所有中間結(jié)果,而不得不從頭開始.因此,GraphLab也提供了同步機制,允許使用者指定一定的間隔將所有節(jié)點同步到磁盤上.在實驗中,我們分別考慮了下面兩種模式下的性能.

    我們選取了兩組數(shù)據(jù)來評估PageRank算法在基于SQL Server數(shù)據(jù)庫的圖平臺和GraphLab上的運行效率.兩組數(shù)據(jù)都來自斯坦福大學(xué)發(fā)布的萬維網(wǎng)超鏈接圖,兩組數(shù)據(jù)的大小如表1所示.

    表1 實驗數(shù)據(jù)集Tab.1Experiment data sets

    我們首先測量了GraphLab在有同步機制下和SQL Server數(shù)據(jù)庫的性能比較.GraphLab在PageRank每輪迭代完后,將當(dāng)前圖的狀態(tài)同步到磁盤上.在每組實驗中,我們分別測量了無優(yōu)化的PageRank算法和優(yōu)化后的PageRank的算法.實驗結(jié)果如圖6所示.可以看到,在這組實驗中,基于SQL Server數(shù)據(jù)庫的PageRank性能遠(yuǎn)遠(yuǎn)好于GraphLab.當(dāng)PageRank算法沒有任何優(yōu)化時,兩個系統(tǒng)迭代次數(shù)相同.在每輪迭代中,因為所有節(jié)點的分?jǐn)?shù)都要更新一遍,和磁盤之間同步的數(shù)據(jù)量也相同.但是基于SQL Server數(shù)據(jù)庫的圖計算的性能仍然大大高于GraphLab.我們將這樣的性能差距歸咎于關(guān)系數(shù)據(jù)庫長期以來的對磁盤讀寫的優(yōu)化.相比較而言,GraphLab開發(fā)時間較短,在磁盤讀寫上還有很多設(shè)計和實現(xiàn)需要優(yōu)化.對于優(yōu)化后的PageRank算法,SQL Server數(shù)據(jù)庫的性能優(yōu)勢更加明顯;性能提升在20倍左右.這是因為,優(yōu)化后的PageRank算法每一輪迭代只會更新還未收斂的節(jié)點.在開始幾輪迭代后,需要更新的節(jié)點數(shù)量銳減,進(jìn)而磁盤讀寫也會大大降低.而GraphLab并未實現(xiàn)增量式同步機制.所以每一輪迭代后,所有節(jié)點都要被寫回磁盤,即使它的狀態(tài)沒有任何更新.GraphLab在這種模式下,幾乎沒有享受到PageRank算法優(yōu)化所帶來的好處.

    圖6 GraphLab磁盤和SQL Server數(shù)據(jù)庫PageRank性能比較Fig.6Performance comparison between GraphLab-disk and SQL Server

    在第二組比較實驗中,我們測量GraphLab在沒有同步機制下的性能.實驗結(jié)果如圖7所示.可以看到,當(dāng)GraphLab沒有任何磁盤讀寫時,其性能大大好于基于SQL Server數(shù)據(jù)庫的實現(xiàn).考慮到磁盤讀寫遠(yuǎn)遠(yuǎn)慢于內(nèi)存操作,GraphLab在完全沒有磁盤訪問的情況下,這樣的性能差距并不意外.從另一方面看,將數(shù)據(jù)放在內(nèi)存中從而完全避免磁盤操作,并不是圖數(shù)據(jù)的專利.在近些年,隨著內(nèi)存容量不斷擴大,內(nèi)存價格不斷走低,越來愈多的內(nèi)存型關(guān)系數(shù)據(jù)應(yīng)運而生.傳統(tǒng)商業(yè)數(shù)據(jù)庫也開始逐步將內(nèi)存數(shù)據(jù)庫的概念、技術(shù)融入到其存儲、查詢引擎中.可以預(yù)見,隨著內(nèi)存技術(shù)在關(guān)系數(shù)據(jù)庫中成熟,圖7中的性能差距會越來越小,甚至消失.

    圖7 GraphLab內(nèi)存和SQL Server數(shù)據(jù)庫PageRank性能比較Fig.7Performance comparison between GraphLab-memory and SQL Server

    4 結(jié)論

    本文提出了一種基于關(guān)系數(shù)據(jù)庫的圖計算平臺.該平臺將圖的拓?fù)浣Y(jié)構(gòu)以鄰接表的形式存儲在表格中,從而達(dá)到了和原生圖計算平臺相同的數(shù)據(jù)格式.在此基礎(chǔ)上,利用SQL語句豐富的表達(dá)力,將BSP編程模型下的圖算法簡潔、準(zhǔn)確地表達(dá)出來.SQL語句進(jìn)而被關(guān)系數(shù)據(jù)庫高效地執(zhí)行,最終將圖計算結(jié)果返回.實驗結(jié)果表明,基于關(guān)系數(shù)據(jù)庫的圖計算與原生圖平臺比較起來,在很多方面都有性能優(yōu)勢.目前存在的性能局限,和圖數(shù)據(jù)本身并無關(guān)系.隨著關(guān)系數(shù)據(jù)庫的發(fā)展、演化,這些局限最終都可以被彌補、消除,在各類場景下提供高效的圖計算支持.

    [1]GONZALEZ J E,LOW Y,GU H J,et al.PowerGraph:Distributed graph-parallel computation on natural graphs[C]//Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation. 2012:17-30.

    [2]KYROLA A,BLELLOCH G,GUESTRIN C.GraphChi:Large-scale graph computation on just a PC [C]//Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation.2012: 31-46.

    [3]LOW Y,GONZALEZ J E,KYROLA A,et al.GraphLab:A new framework for parallel machine learning[J]. Computer Science,2014:arXiv:1408.2041[cs.LG].

    [4]VALIANT L G.A bridging model for parallel computation[J].Communications of the ACM,1990,33(8):103-111.

    [5]MALEWICZ G,AUSTERN M H,BIK A J C,et al.Pregel:A system for large-scale graph processing [C]//Proceedings of the 28th ACM Symposium on Principles of Distributed Computing.2009:6-16.

    [6]Kamvar S,Haveliwala T,Golub G.Adaptive methods for the computation of PageRank[J].Linear Algebra and its Applications,2004,386:51-65.

    (責(zé)任編輯:李藝)

    A RDBMS-based graph computing platform

    JIANG Kui1,CHEN Liang2
    (1.Hebei Vocational College of Rail Transportation,Shijiazhuang,050021 China; 2.Microsoft Research Asia,Beijing100080,China)

    This paper proposes a new RDBMS-based(relational database management system)graph computing platform.In this platform,graph data is represented in native data structures,achieving the same representation as in native graph computing systems. On top of this native representation,graph algorithms are expressed as SQL(Structured Query Language)statements,which are executed by the underlying relational database systems.Experimental results show that this new graph computing platform leverages mature SQL technologies on query optimization and execution,thereby providing superior performance in many aspects.Its current performance limitations,on the other hand,will be overcome by future evolution and optimization of relational database systems.

    RDBMS(relational database management system);graph computing; native graph computing platforms

    TP392

    A

    10.3969/j.issn.1000-5641.2016.05.012

    1000-5641(2016)05-0103-09

    2016-05

    蔣奎,男,高級講師,研究方向為鐵道車輛及鐵道信息系統(tǒng).E-mail:mwong56@gmail.com.

    陳亮,男,研究員,研究方向為數(shù)據(jù)庫及信息系統(tǒng).E-mail:jeche@microsoft.com.

    猜你喜歡
    關(guān)系數(shù)據(jù)庫語句表格
    關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
    山東冶金(2022年2期)2022-08-08 01:51:30
    《現(xiàn)代臨床醫(yī)學(xué)》來稿表格要求
    重點:語句銜接
    統(tǒng)計表格的要求
    統(tǒng)計表格的要求
    統(tǒng)計表格的要求
    精彩語句
    基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
    如何搞定語句銜接題
    語文知識(2014年4期)2014-02-28 21:59:52
    一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索方法
    五月开心婷婷网| 亚洲欧美成人综合另类久久久| 国产一区二区激情短视频 | 免费观看人在逋| 亚洲第一青青草原| 精品人妻在线不人妻| 搡老岳熟女国产| 一级爰片在线观看| 欧美在线黄色| 日韩 欧美 亚洲 中文字幕| 搡老岳熟女国产| 美女中出高潮动态图| 亚洲av在线观看美女高潮| 亚洲av在线观看美女高潮| 国产乱人偷精品视频| 中文字幕制服av| 婷婷成人精品国产| 黄色 视频免费看| 激情视频va一区二区三区| 亚洲精品成人av观看孕妇| 建设人人有责人人尽责人人享有的| 久久久精品区二区三区| 丝袜脚勾引网站| 中文乱码字字幕精品一区二区三区| 亚洲欧美清纯卡通| 一本大道久久a久久精品| 亚洲精品久久午夜乱码| 久久人人爽av亚洲精品天堂| www.熟女人妻精品国产| 久久久久人妻精品一区果冻| 亚洲情色 制服丝袜| 国产高清国产精品国产三级| 欧美另类一区| svipshipincom国产片| 一边亲一边摸免费视频| 日韩中文字幕视频在线看片| 精品国产一区二区久久| 亚洲欧洲国产日韩| 免费观看a级毛片全部| 国产一区二区三区av在线| 香蕉国产在线看| 国产黄频视频在线观看| 欧美精品一区二区免费开放| 亚洲色图 男人天堂 中文字幕| 亚洲天堂av无毛| 日韩伦理黄色片| 日韩制服骚丝袜av| 久久这里只有精品19| 免费人妻精品一区二区三区视频| 亚洲人成电影观看| 男人操女人黄网站| 69精品国产乱码久久久| 男人操女人黄网站| 欧美日韩一级在线毛片| 欧美精品一区二区免费开放| 青草久久国产| 亚洲一卡2卡3卡4卡5卡精品中文| 免费观看a级毛片全部| 两性夫妻黄色片| 亚洲国产av影院在线观看| 色吧在线观看| 国产免费一区二区三区四区乱码| 一二三四中文在线观看免费高清| 精品少妇一区二区三区视频日本电影 | 国产极品天堂在线| 操美女的视频在线观看| xxxhd国产人妻xxx| 久热爱精品视频在线9| av在线老鸭窝| 99re6热这里在线精品视频| 大话2 男鬼变身卡| 看非洲黑人一级黄片| 亚洲精品,欧美精品| 亚洲天堂av无毛| 香蕉国产在线看| 中文字幕人妻熟女乱码| 国产精品一国产av| 最黄视频免费看| 亚洲免费av在线视频| 国产视频首页在线观看| 99九九在线精品视频| 国语对白做爰xxxⅹ性视频网站| 在现免费观看毛片| 韩国av在线不卡| 亚洲五月色婷婷综合| 婷婷色综合www| 丝袜脚勾引网站| 亚洲精品中文字幕在线视频| 王馨瑶露胸无遮挡在线观看| 好男人视频免费观看在线| 久久久国产一区二区| 久久午夜综合久久蜜桃| 免费观看性生交大片5| 婷婷色综合www| 97人妻天天添夜夜摸| 一级黄片播放器| 欧美成人精品欧美一级黄| 巨乳人妻的诱惑在线观看| 亚洲久久久国产精品| 丝袜美腿诱惑在线| 老鸭窝网址在线观看| 欧美人与性动交α欧美精品济南到| 成人国产av品久久久| 国产97色在线日韩免费| 男女高潮啪啪啪动态图| 制服人妻中文乱码| 王馨瑶露胸无遮挡在线观看| a 毛片基地| 亚洲伊人色综图| 久久亚洲国产成人精品v| 99精国产麻豆久久婷婷| 国产极品天堂在线| 午夜老司机福利片| 欧美精品av麻豆av| 王馨瑶露胸无遮挡在线观看| 久久久久精品性色| 婷婷成人精品国产| 欧美av亚洲av综合av国产av | 国产精品三级大全| 看免费av毛片| 国产精品99久久99久久久不卡 | 精品国产乱码久久久久久小说| xxx大片免费视频| 91精品国产国语对白视频| 99久国产av精品国产电影| 亚洲精品中文字幕在线视频| 一区福利在线观看| 久久精品人人爽人人爽视色| 午夜日本视频在线| 少妇人妻久久综合中文| 在线观看国产h片| 日日摸夜夜添夜夜爱| 热99国产精品久久久久久7| 激情视频va一区二区三区| 巨乳人妻的诱惑在线观看| 日本黄色日本黄色录像| 电影成人av| 亚洲伊人久久精品综合| 久久热在线av| 精品卡一卡二卡四卡免费| 国产精品一二三区在线看| 在线观看人妻少妇| 亚洲视频免费观看视频| 香蕉丝袜av| 成人手机av| av网站在线播放免费| 久久青草综合色| 久久精品亚洲熟妇少妇任你| 性色av一级| 久久国产精品男人的天堂亚洲| 国产毛片在线视频| 亚洲av日韩在线播放| av免费观看日本| 欧美中文综合在线视频| 丁香六月欧美| 亚洲精品成人av观看孕妇| 久久久国产欧美日韩av| 精品一品国产午夜福利视频| videosex国产| 午夜av观看不卡| av一本久久久久| 美国免费a级毛片| 欧美 日韩 精品 国产| 欧美在线黄色| 看免费成人av毛片| 超色免费av| 成人国语在线视频| 久久97久久精品| 电影成人av| 男人操女人黄网站| 欧美精品av麻豆av| 91精品国产国语对白视频| 侵犯人妻中文字幕一二三四区| 国产深夜福利视频在线观看| 国产伦理片在线播放av一区| 亚洲一码二码三码区别大吗| 中文欧美无线码| 狂野欧美激情性xxxx| 卡戴珊不雅视频在线播放| 日韩中文字幕欧美一区二区 | 成人午夜精彩视频在线观看| 亚洲七黄色美女视频| 精品久久久久久电影网| 极品人妻少妇av视频| 久久综合国产亚洲精品| 一本大道久久a久久精品| 国产精品久久久久久精品古装| 80岁老熟妇乱子伦牲交| 一级片免费观看大全| 国产女主播在线喷水免费视频网站| 操出白浆在线播放| 国产精品一区二区在线不卡| www日本在线高清视频| 黑人巨大精品欧美一区二区蜜桃| 久久久久精品人妻al黑| 久久精品人人爽人人爽视色| 99精品久久久久人妻精品| 成人黄色视频免费在线看| 丰满乱子伦码专区| 亚洲四区av| 男女午夜视频在线观看| 岛国毛片在线播放| 久久性视频一级片| 久久久国产一区二区| 欧美人与性动交α欧美软件| 国产成人系列免费观看| 国产av精品麻豆| 在线观看免费午夜福利视频| 久久久精品94久久精品| www日本在线高清视频| 秋霞伦理黄片| 母亲3免费完整高清在线观看| 操美女的视频在线观看| 王馨瑶露胸无遮挡在线观看| 伊人久久国产一区二区| 国产有黄有色有爽视频| 成年女人毛片免费观看观看9 | 欧美精品一区二区大全| 男人操女人黄网站| av国产精品久久久久影院| 亚洲国产欧美日韩在线播放| 日韩欧美一区视频在线观看| 精品国产一区二区三区久久久樱花| 哪个播放器可以免费观看大片| 国产av国产精品国产| 婷婷色av中文字幕| 亚洲男人天堂网一区| 久久99精品国语久久久| www.精华液| a 毛片基地| 人妻 亚洲 视频| 亚洲欧美一区二区三区黑人| 日韩中文字幕视频在线看片| 最近的中文字幕免费完整| 欧美老熟妇乱子伦牲交| 69精品国产乱码久久久| 欧美乱码精品一区二区三区| 国产日韩欧美亚洲二区| 精品国产露脸久久av麻豆| 亚洲欧洲国产日韩| 99久久99久久久精品蜜桃| 亚洲精品一区蜜桃| 日韩熟女老妇一区二区性免费视频| 一区在线观看完整版| 国产成人a∨麻豆精品| 天天躁夜夜躁狠狠躁躁| 亚洲成色77777| 99热网站在线观看| 午夜日韩欧美国产| 中文字幕制服av| 九草在线视频观看| 少妇人妻 视频| av卡一久久| 新久久久久国产一级毛片| 国产免费现黄频在线看| 免费在线观看黄色视频的| av国产精品久久久久影院| 老司机靠b影院| 九草在线视频观看| 久久这里只有精品19| 99久久99久久久精品蜜桃| 一个人免费看片子| 成人毛片60女人毛片免费| 日本猛色少妇xxxxx猛交久久| 侵犯人妻中文字幕一二三四区| 欧美黄色片欧美黄色片| 亚洲激情五月婷婷啪啪| 久久久久精品国产欧美久久久 | 国产精品.久久久| 日韩不卡一区二区三区视频在线| 久久国产亚洲av麻豆专区| 中文字幕亚洲精品专区| 99国产精品免费福利视频| 两性夫妻黄色片| 中文字幕av电影在线播放| 黑人巨大精品欧美一区二区蜜桃| 国产男女超爽视频在线观看| 亚洲一级一片aⅴ在线观看| 9191精品国产免费久久| 一个人免费看片子| 久久99一区二区三区| 欧美中文综合在线视频| 老司机在亚洲福利影院| 日韩欧美一区视频在线观看| 这个男人来自地球电影免费观看 | 人妻 亚洲 视频| 国产一区二区三区av在线| 我的亚洲天堂| 日韩不卡一区二区三区视频在线| 亚洲国产精品一区三区| 亚洲成人一二三区av| 欧美日韩综合久久久久久| 99热网站在线观看| 国语对白做爰xxxⅹ性视频网站| 美女中出高潮动态图| 一级,二级,三级黄色视频| 伦理电影免费视频| 久久久精品区二区三区| 在线天堂中文资源库| 国产欧美日韩综合在线一区二区| 99九九在线精品视频| 日日啪夜夜爽| 国产福利在线免费观看视频| 一级毛片电影观看| 韩国av在线不卡| 啦啦啦 在线观看视频| 操美女的视频在线观看| 老司机亚洲免费影院| avwww免费| 最新的欧美精品一区二区| 久久人人爽av亚洲精品天堂| 黄色 视频免费看| 国产成人精品在线电影| 成人国语在线视频| 国产精品免费视频内射| 国产毛片在线视频| 七月丁香在线播放| 曰老女人黄片| 熟女av电影| 99香蕉大伊视频| 99九九在线精品视频| 在线观看人妻少妇| 亚洲一码二码三码区别大吗| 日本猛色少妇xxxxx猛交久久| 亚洲精品国产区一区二| 亚洲成色77777| 亚洲成国产人片在线观看| 曰老女人黄片| 99国产精品免费福利视频| 国产极品粉嫩免费观看在线| av国产久精品久网站免费入址| 日韩 欧美 亚洲 中文字幕| 日韩大码丰满熟妇| 日日摸夜夜添夜夜爱| 午夜福利视频在线观看免费| 电影成人av| 久久综合国产亚洲精品| 国产精品久久久久久久久免| 成年美女黄网站色视频大全免费| svipshipincom国产片| 国产无遮挡羞羞视频在线观看| 性高湖久久久久久久久免费观看| 国产成人欧美在线观看 | 操出白浆在线播放| 女性被躁到高潮视频| 国产又色又爽无遮挡免| 国产极品粉嫩免费观看在线| 国产精品嫩草影院av在线观看| 日韩欧美一区视频在线观看| 精品国产乱码久久久久久小说| 最近手机中文字幕大全| 精品一品国产午夜福利视频| 亚洲色图 男人天堂 中文字幕| 咕卡用的链子| 日韩欧美一区视频在线观看| 国产欧美日韩综合在线一区二区| 最近手机中文字幕大全| 一区二区日韩欧美中文字幕| 亚洲熟女精品中文字幕| 毛片一级片免费看久久久久| 如何舔出高潮| 狠狠婷婷综合久久久久久88av| 亚洲国产精品一区三区| 亚洲美女搞黄在线观看| 亚洲国产精品一区二区三区在线| 男女国产视频网站| 免费黄网站久久成人精品| 制服丝袜香蕉在线| 丰满乱子伦码专区| 天天躁夜夜躁狠狠躁躁| 国产成人精品久久二区二区91 | 国产亚洲av高清不卡| 女性生殖器流出的白浆| 国产亚洲欧美精品永久| 啦啦啦啦在线视频资源| 丝袜美腿诱惑在线| av一本久久久久| 久久精品国产a三级三级三级| 午夜福利网站1000一区二区三区| 精品第一国产精品| videos熟女内射| 亚洲精品视频女| 精品国产国语对白av| 久久精品aⅴ一区二区三区四区| av免费观看日本| 老司机亚洲免费影院| 精品少妇黑人巨大在线播放| 日韩制服骚丝袜av| 亚洲欧美一区二区三区国产| 亚洲av日韩精品久久久久久密 | 男人操女人黄网站| 婷婷色综合www| 高清视频免费观看一区二区| 少妇的丰满在线观看| 另类精品久久| 男女之事视频高清在线观看 | 久久精品久久久久久噜噜老黄| 秋霞在线观看毛片| 肉色欧美久久久久久久蜜桃| 久久综合国产亚洲精品| tube8黄色片| 视频在线观看一区二区三区| 好男人视频免费观看在线| 丝瓜视频免费看黄片| 亚洲一区二区三区欧美精品| 大片免费播放器 马上看| 亚洲国产精品999| 久久久久国产一级毛片高清牌| 女人被躁到高潮嗷嗷叫费观| 男女免费视频国产| 久久97久久精品| 午夜福利一区二区在线看| 国产精品秋霞免费鲁丝片| 亚洲一区中文字幕在线| 午夜福利在线免费观看网站| 熟女少妇亚洲综合色aaa.| 伊人久久大香线蕉亚洲五| 日韩av在线免费看完整版不卡| 精品久久久精品久久久| 亚洲国产精品999| 色综合欧美亚洲国产小说| 超碰97精品在线观看| 国产成人精品无人区| 久久 成人 亚洲| 久久久精品免费免费高清| 精品国产乱码久久久久久小说| 97精品久久久久久久久久精品| 欧美日韩一区二区视频在线观看视频在线| 免费观看性生交大片5| 免费看不卡的av| 七月丁香在线播放| 亚洲精品国产区一区二| 交换朋友夫妻互换小说| 十八禁网站网址无遮挡| 中文字幕色久视频| 欧美 日韩 精品 国产| 日韩一本色道免费dvd| 99久久99久久久精品蜜桃| 在线精品无人区一区二区三| 高清av免费在线| 黑人巨大精品欧美一区二区蜜桃| 亚洲人成电影观看| www日本在线高清视频| 中文字幕人妻丝袜一区二区 | 丝袜喷水一区| av免费观看日本| 99热全是精品| 一级毛片黄色毛片免费观看视频| 丰满迷人的少妇在线观看| 久久精品aⅴ一区二区三区四区| 日日撸夜夜添| 欧美日韩亚洲高清精品| 国产精品无大码| 免费黄色在线免费观看| 午夜福利网站1000一区二区三区| 欧美乱码精品一区二区三区| 日韩熟女老妇一区二区性免费视频| 丰满迷人的少妇在线观看| 亚洲视频免费观看视频| 国产成人欧美在线观看 | 人人澡人人妻人| 午夜福利视频在线观看免费| 久久性视频一级片| 人人妻人人添人人爽欧美一区卜| 国产又爽黄色视频| 久久99精品国语久久久| a 毛片基地| 精品免费久久久久久久清纯 | 精品人妻熟女毛片av久久网站| 免费久久久久久久精品成人欧美视频| 精品国产国语对白av| 自线自在国产av| 啦啦啦 在线观看视频| 搡老乐熟女国产| avwww免费| 午夜激情久久久久久久| 国产日韩欧美亚洲二区| 国产熟女午夜一区二区三区| 一二三四在线观看免费中文在| 欧美激情高清一区二区三区 | 中文字幕人妻丝袜一区二区 | 一区二区日韩欧美中文字幕| 国产成人免费观看mmmm| 999久久久国产精品视频| 免费人妻精品一区二区三区视频| 亚洲一区中文字幕在线| 一级毛片黄色毛片免费观看视频| 亚洲国产欧美网| 九草在线视频观看| 精品一区二区三区av网在线观看 | 欧美av亚洲av综合av国产av | 亚洲少妇的诱惑av| 免费观看a级毛片全部| 天堂俺去俺来也www色官网| 亚洲精品自拍成人| 亚洲国产精品成人久久小说| 中文字幕人妻丝袜制服| av卡一久久| 国产在线视频一区二区| 久久综合国产亚洲精品| 国产又色又爽无遮挡免| 午夜久久久在线观看| 久久国产精品男人的天堂亚洲| 国产成人免费观看mmmm| 男女午夜视频在线观看| 人人妻人人澡人人看| 亚洲国产欧美日韩在线播放| 国产精品无大码| 国产精品免费视频内射| 亚洲av欧美aⅴ国产| 国产在视频线精品| 90打野战视频偷拍视频| 一二三四中文在线观看免费高清| 亚洲在久久综合| 亚洲情色 制服丝袜| 亚洲精品一二三| av一本久久久久| 国产精品国产av在线观看| 男女国产视频网站| 热99久久久久精品小说推荐| 亚洲欧洲日产国产| 午夜免费观看性视频| 自拍欧美九色日韩亚洲蝌蚪91| 精品亚洲成a人片在线观看| 极品人妻少妇av视频| av线在线观看网站| 一区在线观看完整版| 婷婷色av中文字幕| 国产 一区精品| 国产成人欧美| 在线观看免费午夜福利视频| 悠悠久久av| 亚洲一卡2卡3卡4卡5卡精品中文| 韩国高清视频一区二区三区| 最新的欧美精品一区二区| 777久久人妻少妇嫩草av网站| 亚洲欧美精品自产自拍| 亚洲婷婷狠狠爱综合网| 亚洲精华国产精华液的使用体验| 一边亲一边摸免费视频| 天天影视国产精品| 成年女人毛片免费观看观看9 | 人妻一区二区av| 久久久国产一区二区| 在线观看人妻少妇| 欧美日韩一级在线毛片| 女的被弄到高潮叫床怎么办| 两性夫妻黄色片| 在线观看www视频免费| 国产精品国产三级专区第一集| 国产亚洲av高清不卡| 亚洲一区二区三区欧美精品| 黄色视频在线播放观看不卡| 欧美精品一区二区大全| 成年人午夜在线观看视频| 高清黄色对白视频在线免费看| 无限看片的www在线观看| 天天添夜夜摸| 日韩欧美精品免费久久| 精品国产乱码久久久久久男人| 午夜日韩欧美国产| 岛国毛片在线播放| 国产成人a∨麻豆精品| 亚洲av日韩精品久久久久久密 | 亚洲精品aⅴ在线观看| 美女国产高潮福利片在线看| 老鸭窝网址在线观看| 日韩 亚洲 欧美在线| 天天躁夜夜躁狠狠久久av| 成年人午夜在线观看视频| 最近中文字幕2019免费版| 国语对白做爰xxxⅹ性视频网站| 夫妻性生交免费视频一级片| 毛片一级片免费看久久久久| 夫妻性生交免费视频一级片| 成人手机av| 我要看黄色一级片免费的| 国产高清不卡午夜福利| 一级毛片我不卡| 天堂中文最新版在线下载| 一边摸一边抽搐一进一出视频| 亚洲七黄色美女视频| 曰老女人黄片| 亚洲精品视频女| 国产日韩欧美视频二区| a级毛片在线看网站| 最近2019中文字幕mv第一页| 午夜日本视频在线| 狂野欧美激情性bbbbbb| 十八禁人妻一区二区| 久久久精品区二区三区| 久久精品久久久久久噜噜老黄| 日日啪夜夜爽| 在线观看三级黄色| 青春草视频在线免费观看| av网站在线播放免费| 久热这里只有精品99| 日本猛色少妇xxxxx猛交久久| 亚洲精品久久成人aⅴ小说| 久久久久精品国产欧美久久久 | 一级片免费观看大全| 秋霞在线观看毛片| 亚洲美女黄色视频免费看| 中文字幕亚洲精品专区| 看非洲黑人一级黄片| 亚洲精品一区蜜桃| 成人国产av品久久久| 人人澡人人妻人| 捣出白浆h1v1| 99久久99久久久精品蜜桃| 黄频高清免费视频| av不卡在线播放| 亚洲av欧美aⅴ国产| 国产乱来视频区| 亚洲熟女精品中文字幕|