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

    多主數(shù)據(jù)庫中基于分區(qū)的并發(fā)控制

    2021-03-14 21:31:27劉文欣蔡鵬
    關(guān)鍵詞:分區(qū)

    劉文欣 蔡鵬

    摘要:大數(shù)據(jù)時代,存儲計算架構(gòu)分離的單寫多讀場景已無法滿足海量數(shù)據(jù)的高效讀寫需求;另一方面, 多個計算節(jié)點同時提供寫服務(wù)還會引起計算節(jié)點間的緩存不一致.已有的研究采用全局有序的事務(wù)日志 來進(jìn)行沖突檢測,并通過廣播和回放事務(wù)日志維護(hù)整個系統(tǒng)的數(shù)據(jù)一致性.但該類方案由于是在每個寫節(jié) 點維護(hù)全局寫日志,可擴(kuò)展性較差.針對這些問題,提出了一個基于分區(qū)的并發(fā)控制方案:通過分區(qū)的方式 降低每個寫節(jié)點需要維護(hù)的事務(wù)日志,以有效提升系統(tǒng)的擴(kuò)展能力.基于此想法,在MySQL上實現(xiàn)了分區(qū) 多主插件,并通過實驗驗證了該解決方案對系統(tǒng)性能的影響.

    關(guān)鍵詞:多主數(shù)據(jù)庫;分區(qū);并發(fā)控制

    中圖分類號:TP392?????? 文獻(xiàn)標(biāo)志碼:A?????? DOI: 10.3969/j.issn.1000-5641.2021.05.008

    Partition-based concurrency control in a multi-master database

    LIU Wenxin, CAI Peng

    (School of Data Science and Engineering, East China Normal University, Shanghai 200062, China)

    Abstract: In the era of big data, the single-write multi-read process with separate storage and computing architectures can no longer meet the demands for efficient reading and writing of massive datasets. Multiple computing nodes providing write services concurrently can also cause cache inconsistencies. Some studies have proposed a global ordered transaction log to detect conflicts and maintain data consistency for the whole system using broadcast and playback of the transaction log. However, this scheme has poor scalability because it maintains the global write log at each write node. To solve this problem, this paper proposes a partition-based concurrency control scheme, which reduces the transaction log maintained by each write node by partitioning, and effectively improves the systems overall expansion ability.

    Keywords: multi-master database; partition; concurrency control

    0引 言

    隨著云計算與大數(shù)據(jù)的發(fā)展,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已無法滿足金融市場業(yè)務(wù)的需求,越來越多的 用戶開始選擇云數(shù)據(jù)庫.計算存儲分離架構(gòu)是當(dāng)下大多商業(yè)云數(shù)據(jù)庫的解決方案.在此架構(gòu)下,數(shù)據(jù) 庫分為存儲層和計算層兩個部分:多個存儲節(jié)點共同組成一個共享存儲層為計算層提供可靠的持久 化存儲服務(wù);計算層則由多個計算節(jié)點組成,每個計算節(jié)點運行一個單獨的數(shù)據(jù)庫進(jìn)程.計算節(jié)點緩 存一部分?jǐn)?shù)據(jù)用于服務(wù)用戶的讀寫請求,當(dāng)緩存無法命中時,計算節(jié)點會遵循替換策略將需要的數(shù)據(jù) 從存儲層讀入緩存.大多云數(shù)據(jù)庫的計算節(jié)點目前僅支持一寫多讀的架構(gòu),即計算層只存在一個計算節(jié)點擁有數(shù)據(jù)的讀寫權(quán)限,其余計算節(jié)點都僅擁有讀權(quán)限.

    為實現(xiàn)集群中寫節(jié)點的擴(kuò)展,數(shù)據(jù)庫領(lǐng)域曾嘗試?yán)面i機(jī)制實現(xiàn)同一時間僅有一個節(jié)點擁有數(shù) 據(jù)的寫權(quán)限并通過網(wǎng)絡(luò)傳遞數(shù)據(jù)頁的方法實現(xiàn)多主之后提出基于日志的沖突檢測或是確定性數(shù) 據(jù)庫的解決方法.另一方面,為提高系統(tǒng)吞吐量,現(xiàn)存在部分系統(tǒng)選擇將數(shù)據(jù)庫進(jìn)行分區(qū),但因此引 入了跨分區(qū)事務(wù)這一·問題,導(dǎo)致需要在滿足事務(wù)ACID (Atomicity, Consistency, Isolation, Durability) 特性與限制事務(wù)僅能夠訪問一個分區(qū)這兩個條件中取舍.

    對于存儲計算分離的架構(gòu),實現(xiàn)多個寫節(jié)點的一大難點在于各寫節(jié)點緩存中數(shù)據(jù)的一致性維護(hù). 如上所述,數(shù)據(jù)庫讀取數(shù)據(jù)會先從緩存讀取,這樣的機(jī)制便導(dǎo)致對于某個數(shù)據(jù)各寫節(jié)點中緩存的版本 并不相同的情況出現(xiàn).為解決這種情況,現(xiàn)有提出基于全局事務(wù)日志進(jìn)行沖突檢測的方法通過為每 個事務(wù)分配唯一的全局事務(wù)號,并以此事務(wù)號維護(hù)事務(wù)間的可串行化調(diào)度,在各個節(jié)點上根據(jù)事務(wù)調(diào) 度順序回放與本地緩存數(shù)據(jù)相關(guān)的事務(wù)日志以更新各節(jié)點本地緩存.但在這樣的解決方法下,隨著寫 節(jié)點數(shù)量的增加,事務(wù)數(shù)量增長導(dǎo)致日志規(guī)模急劇上升,在每個寫節(jié)點上維護(hù)全局事務(wù)日志并依序檢 查每條事務(wù)無疑會產(chǎn)生較多不必要的網(wǎng)絡(luò)及計算存儲資源的消耗.

    綜上所述,為了在計算存儲分離架構(gòu)的云數(shù)據(jù)庫中實現(xiàn)寫性能的擴(kuò)展,本文基于MySQL設(shè)計并 實現(xiàn)多主分區(qū)事務(wù)插件.本文的主要貢獻(xiàn)如下.

    (1)設(shè)計分區(qū)算法.基于數(shù)據(jù)訪問信息對事務(wù)進(jìn)行分區(qū),各分區(qū)內(nèi)設(shè)計獨立的驗證器,并維護(hù)分區(qū) 獨立的日志記錄.

    (2)設(shè)計事務(wù)序號的分配.通過事務(wù)序號實現(xiàn)可能有數(shù)據(jù)訪問沖突的事務(wù)間的串行化,以事務(wù)序 號為驗證基礎(chǔ)的并發(fā)控制維護(hù)數(shù)據(jù)一致性.

    (3)通過實驗對比全局事務(wù)日志的解決方案,論證分區(qū)方法對多主數(shù)據(jù)庫性能的影響.

    本文后續(xù)內(nèi)容:第1章介紹多主數(shù)據(jù)庫相關(guān)工作;第2章介紹本文提出的基于分區(qū)的多主數(shù)據(jù)庫 架構(gòu);第3章闡述分區(qū)算法的具體實現(xiàn);第4章說明跨分區(qū)并發(fā)控制的設(shè)計;第5章通過實驗驗證本 文方案對系統(tǒng)性能的影響;第6章總結(jié)全文.

    1相關(guān)工作

    云數(shù)據(jù)庫發(fā)展初期,大多實現(xiàn)方法僅是為傳統(tǒng)的關(guān)系型數(shù)據(jù)庫添加云存儲,如今各大廠商逐漸推 出基于存儲計算分離架構(gòu)的云數(shù)據(jù)庫.亞馬遜率先推出計算存儲分離的云數(shù)據(jù)庫產(chǎn)品Aurora:6-'提出 “日志即數(shù)據(jù)庫”的思想.其認(rèn)為由于日志中已包含有數(shù)據(jù)的信息,故僅通過日志就可以恢復(fù)出數(shù)據(jù), 可以僅向存儲層傳輸Redo日志,減少網(wǎng)絡(luò)I/O (Input/Output),并在存儲層回放Redo日志生成數(shù)據(jù) 頁供計算層讀取;同時由寫節(jié)點向讀節(jié)點廣播日志,讀節(jié)點通過回放日志更新緩存,以此實現(xiàn)節(jié)點緩 存的一致.阿里云的PolarDB同樣沿用存儲計算分離的架構(gòu),通過寫節(jié)點廣播日志流幫助其余節(jié)點緩 存的更新,PolarDB的設(shè)計在計算層做的改動較少,其主要通過自研的分布式文件系統(tǒng)PolarFS[8]以 及存儲引擎X-Engine[9]更好地利用高性能硬件的特性以實現(xiàn)存儲層的優(yōu)化.隨后,微軟推出的 Socrates[10]以及華為推出的Taurus[11]在計算層依舊沿用一寫多讀的設(shè)計,但存儲層的設(shè)計各有特色.

    迄今為止,大多數(shù)的商用云數(shù)據(jù)庫只提供一寫多讀的配置,即僅實現(xiàn)了讀性能的擴(kuò)展,而寫性能 的擴(kuò)展還沒有很好的實踐方案.目前已實現(xiàn)的多主解決方案,如Oracle RAC[1]和DB2 pureScale[2],這 二者的設(shè)計思想都是利用鎖機(jī)制和數(shù)據(jù)頁的網(wǎng)絡(luò)傳輸實現(xiàn)數(shù)據(jù)的一致性.不同的是,pureScale通過全 局鎖管理器和全局緩存池實現(xiàn),各個實例通過RDMA與二者通信;而Oracle RAC則是將鎖管理器分 布在各個實例,并通過在實例間構(gòu)建高速內(nèi)聯(lián)網(wǎng)絡(luò)實現(xiàn)緩存融合.無論是集中式還是分布式的鎖管理 方法,頻繁的鎖申請與數(shù)據(jù)頁的傳輸都會限制整個系統(tǒng)的擴(kuò)展性和吞吐量.

    為消除鎖的“瓶頸”,微軟提出了一款日志結(jié)構(gòu)的共享存儲數(shù)據(jù)庫模型Hyder[3],其架構(gòu)分為3 層——事務(wù)層、索引層、存儲層.當(dāng)本地事務(wù)執(zhí)行完成后會將更新打包廣播至存儲層的日志末尾,所 有服務(wù)器都會依據(jù)此日志有序進(jìn)行回放,包括一開始執(zhí)行事務(wù)的服務(wù)器,并在回放日志的過程中進(jìn)行 沖突檢測(meld).同時,Hyder認(rèn)為沖突檢測階段是此系統(tǒng)的一大“瓶頸”.Bernstein等為此做了進(jìn)一 步探究,提出了并行化meld加速沖突檢測過程[12],以及通過數(shù)據(jù)庫分區(qū)將meld算法本身并行化[13]的 方法.

    2系統(tǒng)架構(gòu)

    本文設(shè)計了如圖1所示的多主數(shù)據(jù)庫架構(gòu):沿用現(xiàn)有云數(shù)據(jù)庫存儲計算分離的架構(gòu),將數(shù)據(jù)庫分 為存儲層與計算層兩個部分;每個計算節(jié)點上運行有獨立的MySQL進(jìn)程,這些計算節(jié)點會將日志和 數(shù)據(jù)頁寫到遠(yuǎn)程的共享存儲上;通過分區(qū)算法將數(shù)據(jù)庫劃分至若干個分區(qū),分區(qū)內(nèi)的所有計算節(jié)點都 擁有本分區(qū)數(shù)據(jù)的讀寫權(quán)限;每個分區(qū)內(nèi)有獨立的事務(wù)日志以及驗證器,故同一分區(qū)內(nèi)的計算節(jié)點間 的緩存一致性可依靠分區(qū)內(nèi)部有序的事務(wù)日志和驗證機(jī)制實現(xiàn).

    由于每兩個分區(qū)間的數(shù)據(jù)并不存在沖突,故兩個分區(qū)間的事務(wù)可以并發(fā)執(zhí)行.但在實際應(yīng)用環(huán)境 中無法實現(xiàn)所有事務(wù)都僅訪問一個分區(qū),仍然會存在部分事務(wù)訪問多個分區(qū)的情況.為避免復(fù)雜的分 區(qū)并發(fā)控制,本文設(shè)計了一個邏輯分區(qū),用來處理所有的跨分區(qū)事務(wù),即將單分區(qū)事務(wù)路由到該事務(wù) 所訪問的分區(qū)執(zhí)行,而訪問多個分區(qū)的事務(wù)則會路由至邏輯分區(qū)執(zhí)行.此設(shè)計下,兩個單分區(qū)之間 依舊不存在數(shù)據(jù)沖突,因此可以并發(fā)執(zhí)行;沖突只會存在于單分區(qū)與邏輯分區(qū)之間,故通過邏輯分區(qū) 與各單分區(qū)之間的并發(fā)控制便可以維護(hù)數(shù)據(jù)的一致性.

    3分區(qū)算法

    3.1動態(tài)分區(qū)

    將數(shù)據(jù)庫分區(qū)是提高系統(tǒng)吞吐量的有效方法之一.但常用的靜態(tài)分區(qū)方法在時變負(fù)載下并不能 發(fā)揮很好的作用.為應(yīng)對動態(tài)負(fù)載變化,本文提出了結(jié)合以頁為單位的數(shù)據(jù)訪問并查集運行分區(qū)算法

    來實現(xiàn)動態(tài)分區(qū).

    本文提出的多主場景下的分區(qū)意味著以頁為單位,將經(jīng)常需要同時訪問的數(shù)據(jù)頁放置在同一個 分區(qū)內(nèi),同時各個分區(qū)內(nèi)部署有若干擁有該分區(qū)數(shù)據(jù)讀寫權(quán)限的計算節(jié)點.除實際物理劃分出的分區(qū) 外,本文設(shè)計了一個邏輯分區(qū),用來處理訪問多個分區(qū)的跨分區(qū)事務(wù).分區(qū)內(nèi)計算節(jié)點間通過其共同 維護(hù)的分區(qū)事務(wù)日志實現(xiàn)數(shù)據(jù)一致性,分區(qū)間跨分區(qū)事務(wù)與其相關(guān)單分區(qū)事務(wù)間的并發(fā)控制則由跨 分區(qū)并發(fā)控制維護(hù).具體的并發(fā)控制方法將在第4章中詳細(xì)介紹.

    集群初始化時,將所有數(shù)據(jù)頁劃分至同一個單分區(qū);運行過程中由計算節(jié)點異步地將記錄的數(shù)據(jù) 訪問信息發(fā)送至分區(qū)統(tǒng)籌節(jié)點;分區(qū)統(tǒng)籌節(jié)點收集一批次內(nèi)的事務(wù)訪問信息后,運行分區(qū)算法重新劃 分分區(qū),并將分區(qū)結(jié)果返回至各節(jié)點實現(xiàn)分區(qū)的重組.由于動態(tài)調(diào)整分區(qū)后會觸發(fā)分區(qū)的拆分與合并, 可能造成部分計算節(jié)點需要同步新增數(shù)據(jù)之前的日志記錄.這無疑是一個會影響系統(tǒng)性能的變動,故 分區(qū)的調(diào)整不應(yīng)太過頻繁.這一限制通過在分區(qū)統(tǒng)籌節(jié)點處設(shè)置定時機(jī)制觸發(fā)分區(qū)算法來實現(xiàn).同時, 當(dāng)一個分區(qū)負(fù)載較大時,事務(wù)數(shù)量會增多,可能會導(dǎo)致該分區(qū)吞吐量有所下降.但因負(fù)載均衡問題不 是本文的論述重點,此分區(qū)算法保證不會加劇負(fù)載不均衡現(xiàn)象,不構(gòu)成系統(tǒng)“瓶頸”,故本文不再過多 討論負(fù)載均衡問題.

    3.2分區(qū)算法

    本文提出的基于數(shù)據(jù)訪問信息的分區(qū)算法見算法1. “輸入”中,Origin_partition是當(dāng)前數(shù)據(jù)庫的 分區(qū)情況,每個分區(qū)包含若干數(shù)據(jù)頁;txn_set是分區(qū)與事務(wù)間的映射,表示某個分區(qū)下的事務(wù)集合; data_access_info是所有事務(wù)的數(shù)據(jù)訪問信息集合.算法1中集群的產(chǎn)生利用了并查集這一數(shù)據(jù)結(jié)構(gòu), 屬于同一集合中的數(shù)據(jù)頁被歸為同一個分區(qū).算法1將事務(wù)分區(qū)劃分為兩大步驟:①對原分區(qū)進(jìn)行拆 分;②將拆分后的分區(qū)合并.算法1代碼部分,collections表示數(shù)據(jù)集合,若干數(shù)據(jù)頁共同構(gòu)成一個集 合;single—trx[p]表示分區(qū)p下的單分區(qū)事務(wù)集.

    算法1分區(qū)算法

    輸人:當(dāng)前數(shù)據(jù)庫分區(qū)情況origm_partition;事務(wù)與其所訪問分區(qū)的映射txn_set;事務(wù)的數(shù)據(jù)訪問信息集合

    輸出:分區(qū)重新劃分結(jié)果new_partition

    //分區(qū)拆分階段 1: For k* origin_partition do 2:?? For single_trx[p] do

    3:????? 隨機(jī)選取p分區(qū)下的單分區(qū)事務(wù)T

    4:????? If T訪問的數(shù)據(jù)不存在于其他集合then

    5:????? 將T所訪問的數(shù)據(jù)合并至同一集合collection

    6:????? 將集合 collection 加人新分區(qū) new_partition

    7:????? End if

    8:????? End? for

    9:????? For?? T = single_trx[p]?????? do

    10:?? If T訪問的數(shù)據(jù)集合數(shù)=0 then

    11:?? 將T所訪問的數(shù)據(jù)合并至同一集合collection

    12:?? 將集合 collection?? 加人新分區(qū)???? new_partition

    Else if T訪問的數(shù)據(jù)集合數(shù)=1 then

    14:?? 將T所訪問的數(shù)據(jù)合并至該集合

    15:?? End if

    16:?? End for

    17: End for

    //分區(qū)合并階段

    18: For all data_access_info do

    19:統(tǒng)計集合兩兩之間的共同訪問次數(shù)至count數(shù)組

    20: End for

    21: Repeat

    22:以共同訪問次數(shù)升序與降序交替的規(guī)律合并集合

    23: Until跨分區(qū)事務(wù)的比例低于《

    3.2.1分區(qū)拆分階段

    根據(jù)輸入的數(shù)據(jù)訪問信息data_access_info構(gòu)建并查集,每個數(shù)據(jù)頁最開始僅屬于單獨的一個集 合.拆分步驟以分區(qū)為單位進(jìn)行,僅處理各分區(qū)內(nèi)的單分區(qū)事務(wù),故可以在各個分區(qū)間并行執(zhí)行.

    首先在分區(qū)內(nèi)隨機(jī)選擇任一單分區(qū)事務(wù),將其所訪問的數(shù)據(jù)合并至同一集合,并將此集合添加至 new_partition作為新分區(qū)之一;若該事務(wù)所訪問的數(shù)據(jù)中已有部分?jǐn)?shù)據(jù)存在于其他新分區(qū)中,則跳 過這個事務(wù)不做任何操作,直至遍歷視個此分區(qū)單事務(wù).由于事務(wù)選擇的隨機(jī)性,訪問次數(shù)較多的數(shù) 據(jù)大概率將會被分散至不同集合,這樣的方式下有效避免了頻繁訪問的數(shù)據(jù)匯聚在同一集合的現(xiàn)象 出現(xiàn).一次遍歷以后,每個原單分區(qū)已包含有若干新分區(qū),但仍存在有部分離散數(shù)據(jù)不屬于任何新分區(qū).

    接下來開始第二次遍歷,此次遍歷依舊只訪問單分區(qū)事務(wù),獲取事務(wù)的數(shù)據(jù)訪問集,若是該事務(wù) 訪問的新分區(qū)數(shù)目不超過1個,則將剩余數(shù)據(jù)合并至該新分區(qū),否則不做任何操作.可以發(fā)現(xiàn),在此步 驟中僅涉及獨立的數(shù)據(jù)與新分區(qū)之間的合并,并不存在新分區(qū)之間的合并,此步驟結(jié)束后將原有的單 分區(qū)拆分成為若干個新分區(qū).

    3.2.2 分區(qū)合并階段

    上述步驟完成了對原有單分區(qū)的拆分,接下來通過一次遍歷所有事務(wù)完善記錄現(xiàn)有新分區(qū)間的 共同訪問次數(shù).為避免分區(qū)合并后導(dǎo)致大量負(fù)載集中在同一分區(qū)內(nèi),合并時按照訪問次數(shù)升序和降序 交替的順序合并分區(qū),若次數(shù)相同,則優(yōu)先合并組合中有新分區(qū)內(nèi)僅存在單獨數(shù)據(jù)或是原本屬于同一 個分區(qū)的兩個新分區(qū),合并步驟持續(xù)至事務(wù)遍歷完畢或是跨分區(qū)事務(wù)比例達(dá)到預(yù)設(shè)閾值《.

    3.3邏輯分區(qū)

    邏輯分區(qū)作為架構(gòu)中較為特殊的一部分,需要處理跨分區(qū)事務(wù),并維護(hù)全局事務(wù)日志,事務(wù)執(zhí)行 開銷較單分區(qū)事務(wù)而言更大,因此邏輯分區(qū)內(nèi)事務(wù)執(zhí)行時延將是系統(tǒng)整體吞吐量的一大影響因素,故 減小跨分區(qū)事務(wù)執(zhí)行時延是系統(tǒng)設(shè)計時必須考慮的問題.

    算法1中提到,分區(qū)算法控制跨分區(qū)事務(wù)比例不高于a (a的取值視網(wǎng)絡(luò)情況和集群規(guī)模等因素 設(shè)置).因此集群中大部分事務(wù)被劃分至各單分區(qū)并發(fā)執(zhí)行,同時各分區(qū)將事務(wù)日志異步發(fā)送至邏輯 分區(qū),以至于邏輯分區(qū)能夠不斷更新,維護(hù)較為完整的全局事務(wù)日志,保證在執(zhí)行跨分區(qū)事務(wù)時不會 因等待日志空洞而產(chǎn)生大量延時.

    為保證沖突事務(wù)間的有序,跨分區(qū)事務(wù)的執(zhí)行需要同其他分區(qū)溝通最新事務(wù)序號.為了減少網(wǎng)絡(luò) 傳輸,本文設(shè)計將序號溝通控制在一次網(wǎng)絡(luò)交互中,由邏輯分區(qū)發(fā)起,其他物理單分區(qū)在收到邏輯分 區(qū)的序號更新信息后返回本分區(qū)最新事務(wù)序號.同時邏輯分區(qū)需要維護(hù)每條跨分區(qū)事務(wù)對應(yīng)單分區(qū) 的最新事務(wù)序號以保證串行化,這類信息的維護(hù)對邏輯分區(qū)而言也存在一定的資源占用,但由于跨分 區(qū)事務(wù)的比例較低,且此信息以較為簡單的映射關(guān)系存在,事務(wù)完成后便可以刪除此事務(wù)相關(guān)信息.

    4并發(fā)控制

    本文沿用事務(wù)日志的思想由于分配有全局唯一且遞增的事務(wù)序號的事務(wù)形成的事務(wù)日志包含 了所有事務(wù)的提交順序和數(shù)據(jù)修改操作,故通過掃描事務(wù)日志就可以檢測出跨節(jié)點事務(wù)之間的沖突, 并通過日志的回放實現(xiàn)緩存的更新.不同于上述設(shè)計,由于維護(hù)全局事務(wù)日志帶來的資源開銷隨節(jié)點 數(shù)量的線性增長,本文提出不再維護(hù)全局事務(wù)日志,而是選擇在每個分區(qū)內(nèi)設(shè)計獨立的分區(qū)事務(wù)日志 和驗證器.

    屬于同一分區(qū)的寫節(jié)點通過分區(qū)事務(wù)日志即可以實現(xiàn)分區(qū)內(nèi)的數(shù)據(jù)一致性,由于分區(qū)規(guī)模的限 制,分區(qū)事務(wù)日志較全局事務(wù)日志而言輕量很多.由于數(shù)據(jù)的不相交性,兩個訪問不同單分區(qū)的事務(wù) 可以在不破壞數(shù)據(jù)一致性的前提下并發(fā)執(zhí)行,而訪問多個分區(qū)的事務(wù)將會被路由至邏輯分區(qū)執(zhí)行,因 此邏輯分區(qū)與其余單分區(qū)之間可能存在數(shù)據(jù)沖突,即存在一條事務(wù)日志出現(xiàn)在多個分區(qū)獨立日志中 的情況,故需要在邏輯分區(qū)與各單分區(qū)之間引入跨分區(qū)并發(fā)控制,保證可能存在沖突的兩個事務(wù)間的 相對順序在任一分區(qū)日志內(nèi)都是一致的.

    4.1事務(wù)序號

    本文設(shè)計為每條事務(wù)分配全局唯一的事務(wù)序號,依賴事務(wù)序號的順序性進(jìn)行沖突檢測確定事務(wù) 提交與否.事務(wù)序號由3部分組成:事務(wù)所屬分區(qū)P;事務(wù)所屬分區(qū)序號S-TSN,表示事務(wù)在分區(qū)內(nèi)部 的順序位置;跨分區(qū)事務(wù)序號M-TSN,表示此事務(wù)對應(yīng)的跨分區(qū)事務(wù)序號.

    事務(wù)序號的比較規(guī)則:先比較M-TSN;再比較S-TSN.分區(qū)序號P用來區(qū)分事務(wù)所屬分區(qū),不同 分區(qū)下的單分區(qū)事務(wù)由于可并發(fā),因此其序號不具有可比性.同一分區(qū)內(nèi)的單分區(qū)事務(wù)擁有遞增的S- TSN,而單分區(qū)事務(wù)的M-TSN的變化依賴于分區(qū)間交流,即邏輯分區(qū)下有跨分區(qū)事務(wù)執(zhí)行時就會通 知其他單分區(qū)置其M-TSN+1;邏輯分區(qū)尸。下的事務(wù)S-TSN統(tǒng)一置為0,其通過遞增的M-TSN表示 事務(wù)順序.例如,事務(wù)序號TSN(J\) = [0, 0, 3] < TSN(jy = [1, 5, 3],代表在串行化序列中,事務(wù) 先于事務(wù)^提交;而TSN(J\) = [0, 0, 3] > TSN(rO) = [1, 4, 2]代表事務(wù)晚于事務(wù)rO提交.

    為防止長事務(wù)以及申請序號時的信息傳遞導(dǎo)致的時延影響,事務(wù)在開始執(zhí)行時就會發(fā)起序號請 求,分配的序號不會直接分配給發(fā)起請求的事務(wù),而是分配給計算節(jié)點本身,待此節(jié)點上有事務(wù)完成 后直接從節(jié)點的序號列表中獲取序號,同時設(shè)置定時機(jī)制,及時將等待過長時間的序號置為無效序號. 4.2跨分區(qū)并發(fā)控制

    由于需要通過事務(wù)日志實現(xiàn)沖突檢測,故沖突檢測的必要條件在于事務(wù)日志的傳輸,事務(wù)日志生 成后將會傳輸至所有與之相關(guān)的分區(qū)日志,即對應(yīng)單分區(qū)與邏輯分區(qū)下的日志記錄,并通過事務(wù)序號 的比較在日志中維護(hù)串行化順序.事務(wù)的沖突檢測同時依賴于事務(wù)日志的完整性,故對于日志中存在 的空洞部分設(shè)計補全機(jī)制向相關(guān)節(jié)點請求日志傳輸.

    分區(qū)驗證器通過事務(wù)日志中的串行化順序與事務(wù)序號提供的信息,對比事務(wù)讀寫數(shù)據(jù)與沖突域 中各事務(wù)的修改數(shù)據(jù)之間的交集確定事務(wù)是否因存在數(shù)據(jù)訪問沖突需要回滾.例如,TSN(T) = [2, 3, 1]表示在事務(wù)r之前存在2條單分區(qū)事務(wù)和1條跨分區(qū)事務(wù),故事務(wù)r在沖突檢測階段便需要對比 沖突域中的所有事務(wù)寫集合確定事務(wù)是否可以提交.

    4.3基于時間順序的事務(wù)執(zhí)行示例

    接下來通過圖2示例說明具體的并發(fā)控制過程.圖2中左側(cè)表示事務(wù)時間線以及各事務(wù)訪問的分區(qū),右側(cè)表示各分區(qū)上的事務(wù)執(zhí)行情況以及每個事務(wù)的事務(wù)序號.按照時間線依次處理各事務(wù)有如下 過程.

    由于事務(wù) T1和事務(wù) T2都是單分區(qū)事務(wù),故二者被分配到相應(yīng)分區(qū)八及慫上執(zhí)行.本地樂觀執(zhí) 行完成后獲取事務(wù)序號,以乃序號[2, 1, 0]為例,在此事務(wù)之前有0個本分區(qū)事務(wù)和0個跨分區(qū)事務(wù), 沒有日志空洞需要等待,可以直接提交;^同上所述,事務(wù)執(zhí)行完成后將事務(wù)日志發(fā)送到及分區(qū)內(nèi) 其他服務(wù)器回放.

    事務(wù)巧為訪問Pi和戶3的跨分區(qū)事務(wù),因此巧被分配到邏輯分區(qū)戶0上執(zhí)行,事務(wù)序號為[0, 0, 1],表示其是第一個跨分區(qū)事務(wù),邏輯分區(qū)通知相關(guān)單分區(qū)置M-TSN為1,同時單分區(qū)以本分區(qū)最新 事務(wù)序號為返回信息,即在一次消息傳遞后二^者都獲得對方最新事務(wù)序號信息.r3本地樂觀執(zhí)行完成 后進(jìn)入驗證階段,根據(jù)其他單分區(qū)傳回的信息可知戶1上最新事務(wù)序號為[0, 0, 0],慫上最新事務(wù)序號 為[3, 1,0],故需要等待事務(wù)序號為[3, 1,0]的事務(wù)日志到來后空洞被補全.在此空洞補全的過程中, 可并行檢測在此事務(wù)沖突域是否存在數(shù)據(jù)訪問沖突,若發(fā)現(xiàn)沖突可直接回滾而不需要等待空洞補全 結(jié)果;若沖突檢測后發(fā)現(xiàn)乃與^沖突則需要回滾乃,并將事務(wù)無效標(biāo)記轉(zhuǎn)發(fā)至其他分區(qū),無效標(biāo)記 即代表此事務(wù)空洞不需要被回放.

    八為訪問^的單分區(qū)事務(wù),獲取事務(wù)序號[1,1,1],M-TSN為1是由于跨分區(qū)事務(wù)乃的執(zhí)行. 八本地樂觀執(zhí)行完成后需要等待跨分區(qū)事務(wù)[0, 0, 1]的日志或無效標(biāo)記到來.r5分配至執(zhí)行,同 上,驗證階段需等待事務(wù)序號為[2, 1,0]及[3, 1,0]事務(wù)日志到來.此時,雖然八還未執(zhí)行完成,但是 由于訪問數(shù)據(jù)不沖突,所以巧不需要等待八的事務(wù)日志到來.隨后3個單分區(qū)事務(wù)r6、r7、巧分 配到各自分區(qū)執(zhí)行,本地樂觀執(zhí)行完成后進(jìn)入空洞補全和沖突檢測階段.

    r9訪問分區(qū)^和分區(qū)八,申請事務(wù)序號一次消息傳遞后,獲得A及八分區(qū)上最新的事務(wù)序號, 分別為[1,1,1]和[2, 2, 2]. r9在本地樂觀執(zhí)行完畢后,檢查空洞,發(fā)現(xiàn)事務(wù)r7的日志仍未到來,所以 需要繼續(xù)等待空洞補全完成沖突檢測.

    5實 驗

    5.1實驗環(huán)境

    本文實驗基于15臺Linux服務(wù)器組成的集群環(huán)境,每臺Linux服務(wù)器有相同的軟件和硬件配置: Intel(R) Xeon(R) Silver 4110 CPU @ 2.10 GHz; 128 GB 內(nèi)存;10 GB/s 以太網(wǎng);CentOS Linux release 7.8.2003操作系統(tǒng).為便于控制數(shù)據(jù)訪問沖突率,實驗選用短事務(wù)負(fù)載,每條事務(wù)僅包含1條更新 語句.

    5.2系統(tǒng)吞吐量分析

    第一組實驗,集群中節(jié)點數(shù)量由單節(jié)點擴(kuò)展至15個節(jié)點,由多個計算節(jié)點執(zhí)行短事務(wù)負(fù)載,測試 本文分區(qū)方案對系統(tǒng)吞吐量的影響.實驗分區(qū)算法處理后,將數(shù)據(jù)劃分至3個分區(qū),并通過短事務(wù)更 新語句控制事務(wù)訪問的分區(qū)數(shù)量,對比在有跨分區(qū)事務(wù)負(fù)載與無跨分區(qū)事務(wù)負(fù)載下全局事務(wù)日志與 分區(qū)方案的擴(kuò)展性.由于單節(jié)點情況下事務(wù)僅在單個計算節(jié)點執(zhí)行,其中也并不涉及事務(wù)日志的傳遞, 故分區(qū)算法下節(jié)點數(shù)量從3個節(jié)點開始實驗.全局事務(wù)日志方案下,單節(jié)點系統(tǒng)吞吐量可做線性擴(kuò)展 的參考值.

    5.2.1無跨分區(qū)事務(wù)負(fù)載

    圖3是不存在事務(wù)訪問多個分區(qū)的情況下,即無跨分區(qū)事務(wù)負(fù)載下,全局事務(wù)日志與分區(qū)方案的 系統(tǒng)總吞吐量對比.圖3中,橫坐標(biāo)表示集群中的節(jié)點數(shù)量;縱坐標(biāo)表示系統(tǒng)總的吞吐量,用每秒傳輸 的事務(wù)數(shù)量(Transactions Per Second, TPS)表示(后續(xù)圖4亦如此).

    從圖3可以看出,集群節(jié)點數(shù)量不超過5個計算節(jié)點時,系統(tǒng)吞吐量在兩種解決方案下并無太大 差異.但隨著節(jié)點數(shù)量的增長,全局事務(wù)日志的解決方案下系統(tǒng)的吞吐量增長明顯減緩,可以預(yù)見,隨 著節(jié)點數(shù)量的進(jìn)一步增長,系統(tǒng)吞吐量可能會到達(dá)“瓶頸而分區(qū)策略下,系統(tǒng)吞吐量隨節(jié)點數(shù)量的 增長基本保持線性增長,隨著節(jié)點數(shù)量的增長,二者差距越發(fā)明顯.

    5.2.2有跨分區(qū)事務(wù)負(fù)載

    圖4是存在少量事務(wù)訪問多個分區(qū)的情況下,即有跨分區(qū)事務(wù)負(fù)載下,全局事務(wù)日志與分區(qū)方案 的系統(tǒng)總吞吐量對比.

    從圖4可以看出,集群數(shù)量不超過5個節(jié)點的情況下,兩種解決方案下系統(tǒng)的吞吐量仍并無太大 差異.隨著節(jié)點數(shù)量的增長,全局事務(wù)日志的解決方案下吞吐量增長依舊處于減緩趨勢,分區(qū)算法下 系統(tǒng)的吞吐量表現(xiàn)較無跨分區(qū)事務(wù)而言,同全局事務(wù)日志方案的差距有所減小,但還是保持增長趨勢.

    5.3日志等待時延分析

    從第一組實驗可以看出,全局事務(wù)日志的方案在節(jié)點較多時系統(tǒng)性能有很大折損.第二組實驗的 目的是探究產(chǎn)生這一現(xiàn)象的原因.

    圖5以全局事務(wù)日志與分區(qū)方案下無跨分區(qū)事務(wù)產(chǎn)生的場景做對比,從圖中可以看出,隨著節(jié)點 數(shù)量的增多,全局事務(wù)日志的方法下等待事務(wù)空洞補全的時延越來越大.究其原因,是因為全局事務(wù) 日志的解決方案下,每條事務(wù)的提交需要等待本地維護(hù)的全局事務(wù)日志空洞補全后才可能提交,而隨 著節(jié)點數(shù)量增加,產(chǎn)生的全局日志規(guī)模急劇增長,事務(wù)需要等待的空洞規(guī)模也越來越大,故等待日志 傳遞的時延也在線性增長.而在分區(qū)場景下,每個分區(qū)維護(hù)有獨立的日志記錄和驗證器,隨著節(jié)點數(shù) 量的增多,雖然全局日志的規(guī)模也在急劇增長,但由于分區(qū)僅維護(hù)了部分僅屬于此分區(qū)的事務(wù)日志, 所以其分區(qū)內(nèi)事務(wù)日志空洞的規(guī)模增長并不隨節(jié)點數(shù)量線性增長,故日志等待時延較全局事務(wù)日志 而言增長更為緩慢.

    6結(jié) 語

    在大數(shù)據(jù)時代,存儲計算架構(gòu)分離的單寫多讀場景已無法滿足海量數(shù)據(jù)的高效讀寫需求.另一方 面,多個計算節(jié)點同時提供寫服務(wù)會引起計算節(jié)點間的緩存不一致問題.針對全局事務(wù)日志回放的方 法,本文給出了基于數(shù)據(jù)訪問圖的分區(qū)方法,通過收集一批次的事務(wù)信息對數(shù)據(jù)進(jìn)行動態(tài)分區(qū),引入 邏輯分區(qū)處理跨分區(qū)事務(wù),并在邏輯分區(qū)與物理單分區(qū)之間設(shè)計跨分區(qū)并發(fā)控制方法以維護(hù)數(shù)據(jù)一 致性.通過實驗證明,較全局事務(wù)日志的方法,隨著計算節(jié)點數(shù)量的增長,分區(qū)方法下的系統(tǒng)擴(kuò)展性表 現(xiàn)更優(yōu).

    [參考文獻(xiàn)]

    [1]HAYAT Z, SOOMRO T R. Implementation of oracle real application cluster [J]. Review of Computer Engineering Studies, 2016, 3(4): 81-85.

    [2]CHONG R F, LIU C. DB2 Essentials: Understanding DB2 in a Big Data World [M]. [S.l]: IBM Press, 2013.

    [3]BERNSTEIN P A, REID C W, DAS S. Hyder - A transactional record manager for shared flash [C]// CIDR 2011, 5th Biennial Conference

    on Innovative Data Systems Research. CIDR, 2011: 9-20.

    [4]THOMSON A, DIAMOND T, WENG S C, et al. Calvin: Fast distributed transactions for partitioned database systems [C]// Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. ACM, 2012: 1-12.

    [5]衛(wèi)孝賢,劉文欣,蔡鵬.多主云數(shù)據(jù)庫的全局事務(wù)日志[J].華東師范大學(xué)學(xué)報(自然科學(xué)版),2020(5): 10-20.

    [6 ] VERBITSKI A, GUPTA A, SAHA D, et al. Amazon aurora: Design considerations for high throughput cloud-native relational databases [C]// Proceedings of the 2017 ACM International Conference on Management of Data. ACM, 2017: 1041-1052.

    [7 ] VERBITSKI A, GUPTA A, SAHA D, et al. Amazon aurora: On avoiding distributed consensus for I/Os, commits, and membership changes [C]// Proceedings of the 2018 International Conference on Management of Data. ACM, 2018: 789-796.

    [8 ] CAO W, LIU Z J, WANG P, et al. PolarFS: An ultra-low latency and failure resilient distributed file system for shared storage cloud database [J]. Proceedings of the VLDB Endowment, 2018, 11(1(2): 1849-1862.

    [9 ] HUANG G, CHENG X T, WANG J Y, et al. X-engine: An optimized storage engine for large-scale E-commerce transaction Processing[C] // Proceedings of the 2019 International Conference on Management of Data. ACM, 2019: 651-665.

    [10]ANTONOPOULOS P, BUDOVSKI A, DIACONU C, et al. Socrates: The new SQL server in the cloud [C]// Proceedings of the 2019 International Conference on Management of Data. ACM, 2019: 1743-1756.

    [11]DEPOUTOVITCH A, CHEN C, CHEN J, et al. Taurus database: How to be fast, available, and frugal in the cloud [C]// Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data. ACM, 2020: 1463-1478.

    [12]BERNSTEIN P A, DAS S, DING B L, et al. Optimizing optimistic concurrency control for tree-structured, log-structured databases [C]// Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. ACM, 2015: 1295-1309.

    [13]BERNSTEIN P A, DAS S. Scaling optimistic concurrency control by approximately partitioning the certifier and log [J]. IEEE Data Eng Bull, 2015, 38: 32-49.

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

    猜你喜歡
    分區(qū)
    上海實施“分區(qū)封控”
    “三線一單”生態(tài)環(huán)境分區(qū)管控體系建設(shè)回顧與展望
    浪莎 分區(qū)而治
    大空間建筑防火分區(qū)設(shè)計的探討
    人間(2015年11期)2016-01-09 13:13:00
    AP1000核島廠房防火分區(qū)設(shè)計
    基于SAGA聚類分析的無功電壓控制分區(qū)
    電測與儀表(2015年8期)2015-04-09 11:50:16
    基于多種群遺傳改進(jìn)FCM的無功/電壓控制分區(qū)
    電測與儀表(2015年7期)2015-04-09 11:40:16
    VTS“分區(qū)-分時-分類-定責(zé)”管理模式分析
    世界海運(2015年8期)2015-03-11 16:39:03
    分區(qū)魔術(shù)師PartitionMagic的妙用
    電子世界(2012年8期)2012-07-12 07:05:54
    天津市控制地面沉降分區(qū)管理模式研究
    老师上课跳d突然被开到最大视频| 亚洲人成网站高清观看| 国产一区亚洲一区在线观看| 国产国拍精品亚洲av在线观看| 日本精品一区二区三区蜜桃| 日日啪夜夜撸| 一级av片app| 美女内射精品一级片tv| 午夜免费激情av| 国内精品宾馆在线| 俺也久久电影网| 卡戴珊不雅视频在线播放| 97热精品久久久久久| 中文字幕精品亚洲无线码一区| 老司机午夜福利在线观看视频| 观看免费一级毛片| av在线亚洲专区| 成人永久免费在线观看视频| 国产高清三级在线| 搡老熟女国产l中国老女人| 观看免费一级毛片| 可以在线观看毛片的网站| 日日摸夜夜添夜夜添av毛片| 精品久久久久久久人妻蜜臀av| 欧美+日韩+精品| av天堂中文字幕网| 国产一级毛片七仙女欲春2| 日本免费一区二区三区高清不卡| 日日啪夜夜撸| 久久久久久久久久黄片| 一级毛片久久久久久久久女| 亚洲欧美清纯卡通| 欧美成人免费av一区二区三区| 日本在线视频免费播放| 直男gayav资源| 久久亚洲国产成人精品v| 亚洲av二区三区四区| 欧美绝顶高潮抽搐喷水| 国内少妇人妻偷人精品xxx网站| 国产不卡一卡二| 亚洲一级一片aⅴ在线观看| 国产精品av视频在线免费观看| 午夜福利18| 少妇的逼好多水| 我要看日韩黄色一级片| 丝袜美腿在线中文| av女优亚洲男人天堂| 夜夜夜夜夜久久久久| 免费看日本二区| 亚洲av成人精品一区久久| 成人精品一区二区免费| 又黄又爽又免费观看的视频| 人人妻,人人澡人人爽秒播| 亚洲av免费在线观看| 久久久精品94久久精品| 日日干狠狠操夜夜爽| 三级毛片av免费| 老女人水多毛片| 国产精品亚洲美女久久久| 国产免费男女视频| 国产免费男女视频| 在线a可以看的网站| 国产av在哪里看| 久久精品夜夜夜夜夜久久蜜豆| 日韩三级伦理在线观看| 美女xxoo啪啪120秒动态图| 国产成人影院久久av| 国产欧美日韩一区二区精品| 国产69精品久久久久777片| 女的被弄到高潮叫床怎么办| av黄色大香蕉| 亚洲精华国产精华液的使用体验 | 在线看三级毛片| 女人被狂操c到高潮| 亚洲第一电影网av| 精品国内亚洲2022精品成人| 色综合色国产| 精品人妻偷拍中文字幕| 深夜精品福利| 嫩草影院新地址| 亚洲成人久久爱视频| 男人狂女人下面高潮的视频| 成人一区二区视频在线观看| 国产伦一二天堂av在线观看| 亚洲av五月六月丁香网| 日本黄大片高清| 午夜福利在线观看免费完整高清在 | 国产精品嫩草影院av在线观看| 干丝袜人妻中文字幕| 亚洲天堂国产精品一区在线| 别揉我奶头 嗯啊视频| 精品人妻一区二区三区麻豆 | av天堂在线播放| 一进一出好大好爽视频| 男女之事视频高清在线观看| 麻豆国产av国片精品| 别揉我奶头 嗯啊视频| 国产免费男女视频| 久久热精品热| 99热网站在线观看| 观看美女的网站| 精品人妻熟女av久视频| 最近最新中文字幕大全电影3| 内地一区二区视频在线| 国产aⅴ精品一区二区三区波| 别揉我奶头 嗯啊视频| 欧美日本视频| 全区人妻精品视频| 精品一区二区三区视频在线观看免费| 熟女电影av网| 晚上一个人看的免费电影| 给我免费播放毛片高清在线观看| 亚洲国产欧洲综合997久久,| 国产免费男女视频| 插阴视频在线观看视频| 在线天堂最新版资源| 亚洲一区高清亚洲精品| 亚洲一级一片aⅴ在线观看| 日韩国内少妇激情av| av黄色大香蕉| 老女人水多毛片| 久久99热6这里只有精品| а√天堂www在线а√下载| 久久精品人妻少妇| 中文字幕免费在线视频6| 中文字幕熟女人妻在线| 亚洲中文字幕一区二区三区有码在线看| 久久精品国产亚洲网站| 国产一区二区三区av在线 | 深爱激情五月婷婷| 国产亚洲精品久久久久久毛片| 一进一出抽搐动态| 久久久久久国产a免费观看| 全区人妻精品视频| 大香蕉久久网| 国产久久久一区二区三区| 俄罗斯特黄特色一大片| 国产高潮美女av| 精品一区二区三区av网在线观看| 91久久精品国产一区二区成人| 日韩av不卡免费在线播放| 可以在线观看毛片的网站| 亚洲av免费高清在线观看| 黄色视频,在线免费观看| 国产高潮美女av| 亚洲自拍偷在线| 男女边吃奶边做爰视频| av在线播放精品| 老司机影院成人| 九九爱精品视频在线观看| 久久久久久久久中文| 黄色配什么色好看| 熟妇人妻久久中文字幕3abv| 欧美日韩国产亚洲二区| av在线蜜桃| 丰满的人妻完整版| 插阴视频在线观看视频| 亚洲第一电影网av| 网址你懂的国产日韩在线| 久久亚洲精品不卡| 黄色视频,在线免费观看| 最近在线观看免费完整版| 亚洲精品456在线播放app| 青春草视频在线免费观看| 亚洲国产日韩欧美精品在线观看| 国产亚洲精品久久久久久毛片| 中文字幕av成人在线电影| 搡女人真爽免费视频火全软件 | 国产精品日韩av在线免费观看| 久久午夜亚洲精品久久| 真实男女啪啪啪动态图| 欧美日韩综合久久久久久| 日韩人妻高清精品专区| 日本色播在线视频| 国产男人的电影天堂91| 久久国内精品自在自线图片| 午夜激情福利司机影院| 中文字幕人妻熟人妻熟丝袜美| 亚洲丝袜综合中文字幕| 联通29元200g的流量卡| 欧美激情久久久久久爽电影| 99视频精品全部免费 在线| 男女下面进入的视频免费午夜| 男女边吃奶边做爰视频| 久久久精品欧美日韩精品| 日日摸夜夜添夜夜爱| 亚洲成人久久爱视频| 欧美一级a爱片免费观看看| 日韩国内少妇激情av| 日本成人三级电影网站| 日韩中字成人| 3wmmmm亚洲av在线观看| 男女边吃奶边做爰视频| 狠狠狠狠99中文字幕| 最近视频中文字幕2019在线8| 国产高清有码在线观看视频| 久久久精品欧美日韩精品| 美女内射精品一级片tv| 亚洲av免费高清在线观看| 国产精品久久电影中文字幕| 天天一区二区日本电影三级| 亚洲真实伦在线观看| 久久人人爽人人爽人人片va| 日本一二三区视频观看| 午夜精品国产一区二区电影 | 免费大片18禁| 成年免费大片在线观看| 免费av观看视频| 国内精品美女久久久久久| 国产精品av视频在线免费观看| 99国产精品一区二区蜜桃av| 国产精品伦人一区二区| 亚洲性久久影院| 欧美日韩在线观看h| 欧美一区二区亚洲| 免费看日本二区| 不卡视频在线观看欧美| 日本与韩国留学比较| 波多野结衣高清作品| 99久久精品国产国产毛片| 日本在线视频免费播放| 成人永久免费在线观看视频| 日韩精品青青久久久久久| 少妇被粗大猛烈的视频| 色哟哟·www| 国产亚洲精品久久久com| 亚洲aⅴ乱码一区二区在线播放| 日韩欧美免费精品| 久久精品国产亚洲网站| 99久久精品一区二区三区| 特级一级黄色大片| 中文字幕av成人在线电影| 欧美+亚洲+日韩+国产| 99久久中文字幕三级久久日本| 97在线视频观看| 最近2019中文字幕mv第一页| 午夜福利成人在线免费观看| 黄色欧美视频在线观看| 国产免费男女视频| 精品一区二区三区人妻视频| 精品乱码久久久久久99久播| 成人无遮挡网站| 中文字幕人妻熟人妻熟丝袜美| 欧美区成人在线视频| www.色视频.com| 日本a在线网址| 久久久国产成人精品二区| 亚洲欧美日韩东京热| 国产 一区精品| 女生性感内裤真人,穿戴方法视频| 国产中年淑女户外野战色| 99热精品在线国产| ponron亚洲| 久久久久久大精品| 久99久视频精品免费| 久久久久免费精品人妻一区二区| 国产真实伦视频高清在线观看| 免费大片18禁| 特大巨黑吊av在线直播| 成人亚洲欧美一区二区av| 国产成年人精品一区二区| 久99久视频精品免费| 亚洲国产日韩欧美精品在线观看| 人人妻,人人澡人人爽秒播| 一级毛片久久久久久久久女| 啦啦啦啦在线视频资源| 国产成人a区在线观看| 人人妻人人澡人人爽人人夜夜 | 亚洲av中文字字幕乱码综合| 亚洲精品日韩在线中文字幕 | 校园人妻丝袜中文字幕| 国产亚洲欧美98| 人妻制服诱惑在线中文字幕| 在线观看一区二区三区| 最后的刺客免费高清国语| 又黄又爽又刺激的免费视频.| 不卡一级毛片| 国国产精品蜜臀av免费| 麻豆乱淫一区二区| 欧美激情国产日韩精品一区| www日本黄色视频网| 国产精品久久久久久av不卡| 国产在线精品亚洲第一网站| 一区二区三区高清视频在线| 狠狠狠狠99中文字幕| 美女被艹到高潮喷水动态| 男女啪啪激烈高潮av片| 一级毛片我不卡| 成人高潮视频无遮挡免费网站| 色哟哟·www| 人妻久久中文字幕网| 你懂的网址亚洲精品在线观看 | 亚洲熟妇熟女久久| 国产美女午夜福利| 亚洲久久久久久中文字幕| 日韩av不卡免费在线播放| 亚洲内射少妇av| 美女高潮的动态| 欧美日韩综合久久久久久| 国产精品三级大全| 女人被狂操c到高潮| 黄色一级大片看看| 一区二区三区高清视频在线| 寂寞人妻少妇视频99o| 嫩草影院新地址| 免费人成在线观看视频色| 男人舔奶头视频| 99国产精品一区二区蜜桃av| 国产 一区 欧美 日韩| 插逼视频在线观看| 久久精品综合一区二区三区| 热99re8久久精品国产| 亚洲欧美成人精品一区二区| 久久中文看片网| 女的被弄到高潮叫床怎么办| 日本-黄色视频高清免费观看| 麻豆国产97在线/欧美| 中文字幕精品亚洲无线码一区| 久久精品国产亚洲av涩爱 | 美女免费视频网站| 国产精品久久视频播放| 国产精品野战在线观看| 亚洲成人精品中文字幕电影| 在线观看午夜福利视频| 国产精品野战在线观看| 一级a爱片免费观看的视频| 亚洲欧美清纯卡通| 欧美日韩一区二区视频在线观看视频在线 | 成人欧美大片| 国产精品日韩av在线免费观看| 啦啦啦观看免费观看视频高清| 国产精品,欧美在线| 久久久久久久久久久丰满| avwww免费| 色av中文字幕| 看非洲黑人一级黄片| 免费看日本二区| 村上凉子中文字幕在线| 成年女人毛片免费观看观看9| 最好的美女福利视频网| 亚洲成a人片在线一区二区| 久久欧美精品欧美久久欧美| 日本撒尿小便嘘嘘汇集6| 久久欧美精品欧美久久欧美| 简卡轻食公司| 老熟妇乱子伦视频在线观看| 男女做爰动态图高潮gif福利片| av天堂在线播放| 岛国在线免费视频观看| 亚洲人成网站高清观看| 99国产极品粉嫩在线观看| 欧美xxxx黑人xx丫x性爽| 日日摸夜夜添夜夜添小说| 亚洲国产精品sss在线观看| 色播亚洲综合网| 国内精品久久久久精免费| 国产真实伦视频高清在线观看| 亚洲欧美清纯卡通| 欧美日本视频| 国产精品免费一区二区三区在线| 久久人人爽人人片av| 亚洲av二区三区四区| 女生性感内裤真人,穿戴方法视频| 成年av动漫网址| 12—13女人毛片做爰片一| 两个人视频免费观看高清| 中文字幕久久专区| 美女黄网站色视频| av在线老鸭窝| 国产成人福利小说| 日韩欧美在线乱码| 日韩欧美免费精品| 欧美激情久久久久久爽电影| 久久天躁狠狠躁夜夜2o2o| 三级男女做爰猛烈吃奶摸视频| av卡一久久| 变态另类成人亚洲欧美熟女| 插阴视频在线观看视频| 寂寞人妻少妇视频99o| 亚洲欧美日韩高清专用| 天天躁夜夜躁狠狠久久av| 51国产日韩欧美| 波多野结衣高清无吗| 韩国av在线不卡| 天天躁夜夜躁狠狠久久av| 51国产日韩欧美| 亚洲精品在线观看二区| 蜜桃亚洲精品一区二区三区| 搡女人真爽免费视频火全软件 | 亚洲av二区三区四区| 欧美xxxx黑人xx丫x性爽| 女同久久另类99精品国产91| 国产精华一区二区三区| 1000部很黄的大片| 国产美女午夜福利| 无遮挡黄片免费观看| 夜夜夜夜夜久久久久| 国产真实伦视频高清在线观看| 如何舔出高潮| 色综合亚洲欧美另类图片| 国产又黄又爽又无遮挡在线| 亚洲内射少妇av| 国产在线男女| 一级毛片久久久久久久久女| 伦理电影大哥的女人| 精品久久久久久久末码| 国产极品精品免费视频能看的| 国产淫片久久久久久久久| 22中文网久久字幕| 干丝袜人妻中文字幕| 精品久久久久久久久亚洲| 高清毛片免费看| 国产精品,欧美在线| 日韩大尺度精品在线看网址| 淫秽高清视频在线观看| 两性午夜刺激爽爽歪歪视频在线观看| 嫩草影院入口| 国产精品一区二区性色av| 日韩 亚洲 欧美在线| 国产男靠女视频免费网站| 女人被狂操c到高潮| 看非洲黑人一级黄片| 久久久久久久久久久丰满| 99热只有精品国产| 亚洲av中文字字幕乱码综合| 男女之事视频高清在线观看| 日本成人三级电影网站| 简卡轻食公司| 亚洲成人精品中文字幕电影| 别揉我奶头 嗯啊视频| 免费不卡的大黄色大毛片视频在线观看 | 精华霜和精华液先用哪个| 国产精品久久电影中文字幕| 国产精品,欧美在线| 大又大粗又爽又黄少妇毛片口| 国产一区二区亚洲精品在线观看| 亚洲,欧美,日韩| 少妇猛男粗大的猛烈进出视频 | 国产精品人妻久久久影院| 免费观看精品视频网站| 欧美性猛交╳xxx乱大交人| 久久久久国产网址| 国产成人影院久久av| 成人av一区二区三区在线看| 97超级碰碰碰精品色视频在线观看| av国产免费在线观看| 久久久久久久久久久丰满| 插逼视频在线观看| 日日干狠狠操夜夜爽| 成人亚洲欧美一区二区av| 精品欧美国产一区二区三| 男人舔奶头视频| 国产v大片淫在线免费观看| 亚洲精品日韩av片在线观看| 老师上课跳d突然被开到最大视频| 我的女老师完整版在线观看| 国产伦精品一区二区三区四那| 成人漫画全彩无遮挡| 国产亚洲精品综合一区在线观看| 国国产精品蜜臀av免费| 日韩在线高清观看一区二区三区| 国产黄色小视频在线观看| 尾随美女入室| av在线天堂中文字幕| 搡老熟女国产l中国老女人| 卡戴珊不雅视频在线播放| 亚洲第一区二区三区不卡| 狂野欧美白嫩少妇大欣赏| 色在线成人网| 一本精品99久久精品77| 精品久久国产蜜桃| 看免费成人av毛片| 午夜精品在线福利| 悠悠久久av| 99在线视频只有这里精品首页| 久久久久免费精品人妻一区二区| 三级男女做爰猛烈吃奶摸视频| 国产私拍福利视频在线观看| 成年av动漫网址| 3wmmmm亚洲av在线观看| 禁无遮挡网站| 网址你懂的国产日韩在线| 女人十人毛片免费观看3o分钟| 在线国产一区二区在线| 女生性感内裤真人,穿戴方法视频| 精品久久久噜噜| 亚洲综合色惰| 蜜桃久久精品国产亚洲av| 精品久久久久久久久亚洲| 成年女人毛片免费观看观看9| 日本与韩国留学比较| 麻豆精品久久久久久蜜桃| 在线观看av片永久免费下载| 18禁裸乳无遮挡免费网站照片| av福利片在线观看| 国产精品久久久久久av不卡| 亚洲色图av天堂| 国产精品99久久久久久久久| 亚洲性夜色夜夜综合| 看黄色毛片网站| 亚洲精品国产成人久久av| 国产在线男女| 九九热线精品视视频播放| 成人美女网站在线观看视频| 亚州av有码| 亚洲在线观看片| 日本精品一区二区三区蜜桃| 精品久久久久久久久久免费视频| 亚洲18禁久久av| 中文字幕久久专区| 国产欧美日韩精品亚洲av| 日韩在线高清观看一区二区三区| 精品久久久久久久末码| 国产三级中文精品| 国内久久婷婷六月综合欲色啪| 男女边吃奶边做爰视频| 看十八女毛片水多多多| 国产麻豆成人av免费视频| 精品久久久久久久久亚洲| 亚洲在线观看片| 中国国产av一级| 欧美日韩国产亚洲二区| 综合色丁香网| 91精品国产九色| 91在线观看av| 国产成年人精品一区二区| 日本黄色片子视频| 最好的美女福利视频网| aaaaa片日本免费| 日产精品乱码卡一卡2卡三| 韩国av在线不卡| 男女啪啪激烈高潮av片| 久久人人爽人人片av| 人人妻,人人澡人人爽秒播| 日本撒尿小便嘘嘘汇集6| 国产精品福利在线免费观看| 国产亚洲欧美98| 日韩欧美精品v在线| 国产精品久久久久久久久免| 国产 一区精品| 色av中文字幕| 久久精品国产亚洲av香蕉五月| 老师上课跳d突然被开到最大视频| 国产精品国产三级国产av玫瑰| 久久久久久久亚洲中文字幕| 长腿黑丝高跟| 日日摸夜夜添夜夜添小说| a级毛片a级免费在线| 搡老熟女国产l中国老女人| 男女之事视频高清在线观看| 色综合色国产| 男人的好看免费观看在线视频| 人人妻,人人澡人人爽秒播| 乱码一卡2卡4卡精品| 久久综合国产亚洲精品| 国内精品美女久久久久久| 亚洲av不卡在线观看| 哪里可以看免费的av片| 国产白丝娇喘喷水9色精品| 亚洲人与动物交配视频| 亚洲欧美成人综合另类久久久 | 在线看三级毛片| 在线免费观看的www视频| 欧美绝顶高潮抽搐喷水| 久久久国产成人免费| 日韩精品有码人妻一区| 国产精品人妻久久久久久| 亚洲精品国产av成人精品 | 男女那种视频在线观看| 深爱激情五月婷婷| 色哟哟哟哟哟哟| 99热这里只有精品一区| 日韩强制内射视频| 精品不卡国产一区二区三区| 免费在线观看成人毛片| 精品乱码久久久久久99久播| 亚洲欧美日韩东京热| 男人和女人高潮做爰伦理| 久久精品久久久久久噜噜老黄 | 免费大片18禁| 国产午夜福利久久久久久| 欧美极品一区二区三区四区| 久久久久久国产a免费观看| 在线a可以看的网站| 久久久国产成人精品二区| 亚洲内射少妇av| 国产高清不卡午夜福利| 97超级碰碰碰精品色视频在线观看| 黑人高潮一二区| 大香蕉久久网| 久久精品国产亚洲网站| 久久久久久久久大av| 国产免费男女视频| 国产精品美女特级片免费视频播放器| 色综合亚洲欧美另类图片| a级一级毛片免费在线观看| а√天堂www在线а√下载| 小说图片视频综合网站| 麻豆成人午夜福利视频| 91av网一区二区| 亚洲在线观看片| 黄色视频,在线免费观看| 大香蕉久久网| 午夜老司机福利剧场| 国产免费一级a男人的天堂| 51国产日韩欧美| 亚洲精品成人久久久久久| 真实男女啪啪啪动态图| 噜噜噜噜噜久久久久久91| 欧美不卡视频在线免费观看| 午夜精品在线福利| 国产三级在线视频| 国产久久久一区二区三区| 亚洲熟妇熟女久久| 天天一区二区日本电影三级|