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

    內(nèi)存數(shù)據(jù)庫(kù)事務(wù)提交的關(guān)鍵技術(shù)與挑戰(zhàn)

    2016-11-29 09:34:19胡爽周歡錢(qián)衛(wèi)寧
    關(guān)鍵詞:數(shù)據(jù)庫(kù)系統(tǒng)磁盤(pán)緩沖區(qū)

    胡爽,周歡,錢(qián)衛(wèi)寧

    (華東師范大學(xué)數(shù)據(jù)科學(xué)與工程研究院,上海200062)

    內(nèi)存數(shù)據(jù)庫(kù)事務(wù)提交的關(guān)鍵技術(shù)與挑戰(zhàn)

    胡爽,周歡,錢(qián)衛(wèi)寧

    (華東師范大學(xué)數(shù)據(jù)科學(xué)與工程研究院,上海200062)

    ARIES作為傳統(tǒng)事務(wù)提交機(jī)制從20世紀(jì)90年代問(wèn)世以來(lái),一直是主流商業(yè)或開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)普遍采用的方法.隨著應(yīng)用的高通量化,基于傳統(tǒng)硬件設(shè)備實(shí)現(xiàn)的事務(wù)提交機(jī)制成為了系統(tǒng)性能提升的首要瓶頸.然而大內(nèi)存、多核等高性能硬件技術(shù)的發(fā)展又為事務(wù)提交機(jī)制的優(yōu)化提供了新的契機(jī).本文詳細(xì)分析并總結(jié)了傳統(tǒng)事務(wù)提交機(jī)制中存在的問(wèn)題,然后歸納并討論了現(xiàn)有基于新型硬件的事務(wù)提交技術(shù)的應(yīng)用現(xiàn)狀與優(yōu)缺點(diǎn),最后探討了事務(wù)提交優(yōu)化的未來(lái)發(fā)展與挑戰(zhàn).

    內(nèi)存數(shù)據(jù)庫(kù);事務(wù)提交;日志處理技術(shù)

    0 引言

    內(nèi)存數(shù)據(jù)庫(kù)是以內(nèi)存為主要存儲(chǔ)介質(zhì)的數(shù)據(jù)庫(kù)系統(tǒng),由于內(nèi)存讀寫(xiě)速度非常快和避開(kāi)了磁盤(pán)I/O操作,相對(duì)于傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)來(lái)說(shuō),其具有高吞吐量和低延遲的顯著優(yōu)勢(shì)[1].雖然內(nèi)存發(fā)展迅速,但容量遠(yuǎn)不及磁盤(pán)而不足以支持整個(gè)數(shù)據(jù)庫(kù).所以,目前多數(shù)內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)是混合存儲(chǔ)介質(zhì)的,除了內(nèi)存它還需要磁盤(pán)存儲(chǔ),讓部分?jǐn)?shù)據(jù)存在磁盤(pán).另外,聯(lián)機(jī)事務(wù)處理(On-Line Transaction Processing,OLTP)是數(shù)據(jù)庫(kù)系統(tǒng)的重要內(nèi)容之一,在金融、互聯(lián)網(wǎng)、電信等領(lǐng)域應(yīng)用廣泛,也是當(dāng)前學(xué)術(shù)研究的熱門(mén)方向.針對(duì)這種新型的事務(wù)型內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō),在傳統(tǒng)單機(jī)環(huán)境下,內(nèi)存的讀寫(xiě)訪問(wèn)速度與磁盤(pán)相差太多,導(dǎo)致涉及磁盤(pán)I/O的日志結(jié)構(gòu)成為瓶頸.而在分布式的多機(jī)環(huán)境下多臺(tái)機(jī)器并發(fā)執(zhí)行事務(wù),日志仍然是集中式的結(jié)構(gòu),高并發(fā)的負(fù)載使其必然成為系統(tǒng)瓶頸.

    日志是支持系統(tǒng)容災(zāi)恢復(fù)的基礎(chǔ)技術(shù)[2],也是內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要結(jié)構(gòu),它和數(shù)據(jù)是緊密聯(lián)系的兩個(gè)部分.日志記錄于非易失性存儲(chǔ)器(磁盤(pán)等)上,以一種穩(wěn)定的方式記錄數(shù)據(jù)庫(kù)變更的歷史,不會(huì)因故障(如系統(tǒng)斷電,關(guān)機(jī)等)而丟失,以保證系統(tǒng)在重新啟動(dòng)后進(jìn)行及時(shí)恢復(fù).事實(shí)上,日志不僅僅涉及I/O,它涉及事務(wù)提交的整個(gè)流程,與緩沖區(qū)管理,鎖管理等模塊緊密聯(lián)系.日志緩沖區(qū)沖突以及日志引發(fā)的鎖競(jìng)爭(zhēng)等問(wèn)題越來(lái)越嚴(yán)重,導(dǎo)致事務(wù)提交性能跟不上事務(wù)的執(zhí)行速度,從而使事務(wù)提交成為系統(tǒng)的性能瓶頸.

    作為數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)核心服務(wù),事務(wù)提交是數(shù)據(jù)庫(kù)系統(tǒng)的研究熱點(diǎn).隨著計(jì)算機(jī)硬件的飛速發(fā)展,數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)始面向大容量?jī)?nèi)存、多核處理器和高速網(wǎng)絡(luò)等,并試圖通過(guò)這些硬件基礎(chǔ)來(lái)提高事務(wù)提交性能.近幾年來(lái),陸續(xù)有研究利用多核特性,充分協(xié)調(diào)每個(gè)核的調(diào)度請(qǐng)求以提高系統(tǒng)的并行度.在傳統(tǒng)成組提交[3]的基礎(chǔ)上,已有一系列優(yōu)化技術(shù)解決了不同瓶頸來(lái)提升事務(wù)提交的性能.新型存儲(chǔ)介質(zhì)的出現(xiàn)與快速發(fā)展,非易失內(nèi)存(Non-Volatile Memory,NVM)[4]以其數(shù)據(jù)的非易失性和高效的訪問(wèn)性能,成為日志存儲(chǔ)介質(zhì)的不二選擇.現(xiàn)基于NVM日志存儲(chǔ)的事務(wù)提交機(jī)制的研究處于探索和原型階段[5-6].另外,利用快速讀寫(xiě)、質(zhì)量輕以及能耗低特點(diǎn)的閃存(Flash)等固態(tài)存儲(chǔ)和高速網(wǎng)絡(luò)(High-Speed Data Center Networks),一些高性能日志服務(wù)系統(tǒng)相繼問(wèn)世[7-9].

    傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)事務(wù)執(zhí)行流程需要記錄兩方面的內(nèi)容,包括修改數(shù)據(jù)和日志.事務(wù)的數(shù)據(jù)操作在內(nèi)存中進(jìn)行,而操作被記錄在全局的日志結(jié)構(gòu).為了緩沖從內(nèi)存到磁盤(pán)的讀寫(xiě)性能差異,日志先互斥地寫(xiě)到集中式緩沖區(qū),并產(chǎn)生全局唯一的日志序列號(hào)LSN(Log Sequence Number),以保證日志有序性.當(dāng)有事務(wù)提交,緩沖區(qū)日志根據(jù)LSN被寫(xiě)到磁盤(pán),并在刷盤(pán)成功后響應(yīng)客戶端.其中,事務(wù)在數(shù)據(jù)操作時(shí)獲得的鎖會(huì)保留到日志刷盤(pán)成功后才釋放.圖1表示的是事務(wù)提交流程:①階段事務(wù)寫(xiě)緩沖區(qū);②階段緩沖區(qū)日志刷磁盤(pán);③階段釋放鎖并響應(yīng)客戶端.其中,前兩個(gè)階段頻繁涉及緩沖區(qū)管理、鎖管理以及磁盤(pán)I/O等,是主要產(chǎn)生瓶頸的階段.目前事務(wù)提交技術(shù)主要是對(duì)這兩個(gè)階段涉及的結(jié)構(gòu)和硬件存儲(chǔ)進(jìn)行優(yōu)化.

    圖1 事務(wù)提交的流程Fig.1Process of transaction commit

    本文主要從三個(gè)部分展開(kāi)論述.第一部分針對(duì)目前新型內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)高并發(fā)的負(fù)載特點(diǎn),分析傳統(tǒng)事務(wù)提交機(jī)制存在的瓶頸;第二部分對(duì)利用不同硬件特性優(yōu)化的事務(wù)提交關(guān)鍵技術(shù)進(jìn)行整理,討論現(xiàn)有事務(wù)提交關(guān)鍵技術(shù)的應(yīng)用現(xiàn)狀和優(yōu)缺點(diǎn),以及歸納它們各自解決的傳統(tǒng)事務(wù)提交的瓶頸;第三部分對(duì)事務(wù)提交機(jī)制存在的挑戰(zhàn)與未來(lái)的發(fā)展趨勢(shì)進(jìn)行探討.

    1 傳統(tǒng)事務(wù)提交流程與分析

    內(nèi)存數(shù)據(jù)庫(kù)在處理數(shù)據(jù)庫(kù)恢復(fù)問(wèn)題(Database Recovery)[10]時(shí),目前大多數(shù)系統(tǒng)都基于數(shù)據(jù)庫(kù)日志[11].基于日志的ARIES傳統(tǒng)事務(wù)提交機(jī)制是大多數(shù)系統(tǒng)的選擇.然而,隨著可擴(kuò)展事務(wù)處理技術(shù)的發(fā)展,傳統(tǒng)事務(wù)提交機(jī)制已無(wú)法滿足新型數(shù)據(jù)庫(kù)系統(tǒng)的需求.下面對(duì)ARIES的事務(wù)提交機(jī)制進(jìn)行分析,歸納出其存在的瓶頸.

    1.1 Write Ahead Logging方法

    由IBM提出的ARIES算法是經(jīng)典的數(shù)據(jù)庫(kù)恢復(fù)原型算法,其中預(yù)寫(xiě)日志(Write Ahead Logging,WAL)[12],自20世紀(jì)90年代問(wèn)世一直是事務(wù)提交的標(biāo)準(zhǔn).盡管目前大量數(shù)據(jù)庫(kù)系統(tǒng)已使用多核硬件及大容量?jī)?nèi)存,但這些系統(tǒng)仍使用這種集中式的ARIES預(yù)寫(xiě)日志提交機(jī)制[2,13].

    傳統(tǒng)事務(wù)提交機(jī)制的核心是數(shù)據(jù)落入磁盤(pán)必須發(fā)生在這些修改記錄日志,且日志被寫(xiě)到磁盤(pán)之后.事務(wù)執(zhí)行過(guò)程中所有操作產(chǎn)生的日志先填寫(xiě)到日志緩沖區(qū),直到發(fā)出事務(wù)提交請(qǐng)求時(shí)才會(huì)把緩沖區(qū)的日志寫(xiě)到非易失性存儲(chǔ)器(磁盤(pán)),數(shù)據(jù)后于日志落盤(pán).

    傳統(tǒng)事務(wù)提交機(jī)制遵循“先寫(xiě)日志”的原則,以確保數(shù)據(jù)安全.數(shù)據(jù)落盤(pán)和日志落盤(pán)是兩個(gè)不同的階段,這兩個(gè)階段之間有可能發(fā)生故障.如果數(shù)據(jù)先落盤(pán),而日志沒(méi)有存下來(lái),那么故障恢復(fù)時(shí),日志與數(shù)據(jù)是不一致的,系統(tǒng)無(wú)法恢復(fù).如果先寫(xiě)了日志,還沒(méi)來(lái)得及將數(shù)據(jù)更新到磁盤(pán),那么在系統(tǒng)重啟后,根據(jù)日志文件中的記錄,重新將更新數(shù)據(jù)補(bǔ)錄,確保數(shù)據(jù)安全.因此,傳統(tǒng)事務(wù)提交機(jī)制嚴(yán)格地保持?jǐn)?shù)據(jù)和日志的一致性,系統(tǒng)出現(xiàn)故障后將已提交的事務(wù)根據(jù)日志文件進(jìn)行重做,而將未提交的事務(wù)恢復(fù)到事務(wù)開(kāi)始前的狀態(tài).

    1.2 事務(wù)提交的瓶頸分析

    隨著多機(jī)、大內(nèi)存以及多核系統(tǒng)的發(fā)展,數(shù)據(jù)庫(kù)負(fù)載變得復(fù)雜和高并發(fā)化,系統(tǒng)無(wú)法達(dá)到足夠高的并行性以滿足硬件需要.日志作為全局的數(shù)據(jù)結(jié)構(gòu),被每個(gè)運(yùn)行的事務(wù)共享,在事務(wù)執(zhí)行中成為了一個(gè)全局互斥點(diǎn).事務(wù)執(zhí)行因日志的嚴(yán)格互斥性,在提交階段發(fā)生阻塞,大量事務(wù)為爭(zhēng)用日志結(jié)構(gòu)而不斷等待,降低事務(wù)并行速度從而嚴(yán)重影響系統(tǒng)的吞吐量.

    Stonebraker等人對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)做了一次分析[14].實(shí)驗(yàn)分析,系統(tǒng)只有約10%時(shí)間在實(shí)際處理事務(wù),而剩下巨大的90%都花費(fèi)在三大部分:緩沖區(qū)管理,鎖管理和日志管理.為強(qiáng)有力的說(shuō)明事務(wù)提交已成為內(nèi)存數(shù)據(jù)系統(tǒng)的一大瓶頸,Johnson R等人對(duì)Shore-MT系統(tǒng)[15]進(jìn)行分析:Shore-MT隨事務(wù)線程數(shù)逐漸增加,事務(wù)執(zhí)行的時(shí)間分布情況,使用TATP Update Location transaction.其中Shore-MT是Shore[16]優(yōu)化的48核數(shù)據(jù)庫(kù)系統(tǒng).實(shí)驗(yàn)顯示:隨線程數(shù)增加,日志管理約占事務(wù)執(zhí)行總時(shí)間的20%,鎖管理約占10%,其他競(jìng)爭(zhēng)約占5%,其他latch約占25%,而剩下40%都花費(fèi)在日志競(jìng)爭(zhēng)上.由此看出,集中式的事務(wù)提交明顯成為了主要開(kāi)銷(xiāo).表1主要從4種延遲來(lái)分析與歸納其對(duì)事務(wù)提交的影響.

    表1 事務(wù)提交瓶頸總結(jié)Tab.1Analysis and conclusions for bottlenecks of transaction commit

    2 事務(wù)提交的關(guān)鍵技術(shù)

    根據(jù)傳統(tǒng)事務(wù)提交的整個(gè)流程以及其存在的各種瓶頸,本文主要研究與討論基于多核、NVM和高速網(wǎng)絡(luò)等硬件設(shè)備的事務(wù)提交關(guān)鍵技術(shù).

    2.1 基于?核的事務(wù)提交關(guān)鍵技術(shù)

    面對(duì)多核在新型內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)中的廣泛應(yīng)用和高并發(fā)負(fù)載需求,已有一系列成熟的技術(shù)充分利用每個(gè)核的調(diào)度請(qǐng)求來(lái)提高系統(tǒng)的并行性,減少系統(tǒng)的性能瓶頸,主要分為緩沖區(qū)填寫(xiě)日志階段和日志寫(xiě)入磁盤(pán)階段的優(yōu)化.

    2.1.1 成組提交(Group Commit)

    事務(wù)每進(jìn)行一次提交,緩沖區(qū)中日志刷磁盤(pán)階段都會(huì)產(chǎn)生磁盤(pán)I/O.多數(shù)事務(wù)因處于等待狀態(tài)而增加延遲,從而造成了系統(tǒng)瓶頸.

    為減少每次事務(wù)提交產(chǎn)生的磁盤(pán)I/O,成組提交提出了一種新的解決方案,即每隔時(shí)間T、或者每提交X個(gè)事務(wù)、或者提交的N個(gè)事務(wù)日志長(zhǎng)度達(dá)到L字節(jié)時(shí),才將緩沖區(qū)中的積累的所有日志統(tǒng)一刷磁盤(pán).

    成組提交的特點(diǎn)是打包多個(gè)事務(wù)日志進(jìn)行成組處理,將原本多次磁盤(pán)I/O減少為一次,降低磁盤(pán)I/O的開(kāi)銷(xiāo).雖然該技術(shù)優(yōu)化了傳統(tǒng)日志的I/O延遲,提高了系統(tǒng)性能,但系統(tǒng)仍存在上下文切換、鎖競(jìng)爭(zhēng)和緩沖區(qū)競(jìng)爭(zhēng)等問(wèn)題.

    目前有不少商業(yè)或開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)使用成組提交,其中包括MySQL[17]和Oracle[18]等.其中,Hekaton[19]對(duì)成組提交進(jìn)行了改進(jìn)以適用于自身的架構(gòu).Hekaton是微軟為大內(nèi)存和多核CPU研發(fā)的新型內(nèi)存事務(wù)引擎,現(xiàn)已集成到了SQL Server.Hekaton日志流是存儲(chǔ)在磁盤(pán)的數(shù)據(jù),與常規(guī)SQL Server日志相同.不同的是,Hekaton每個(gè)事務(wù)只生成單一日志,日志記錄有關(guān)該事務(wù)插入和刪除操作的所有版本,足以在故障恢復(fù)時(shí)重做.事務(wù)日志流作為事務(wù)提交的重要結(jié)構(gòu),減少日志生成數(shù)量和空間可提高效率.因此Hekaton在每個(gè)事務(wù)提交時(shí)才生成日志填入緩沖區(qū),并成組寫(xiě)入磁盤(pán)以減少多次磁盤(pán)I/O切換.

    2.1.2 異步提交(Asynchronous Commit)

    針對(duì)磁盤(pán)I/O的延遲問(wèn)題,異步提交[20-21]對(duì)成組提交進(jìn)行了擴(kuò)展.相比與傳統(tǒng)的事務(wù)提交,它增加了日志提交線程(Commit Threads),專(zhuān)門(mén)進(jìn)行日志刷盤(pán)活動(dòng).每個(gè)事務(wù)提交時(shí),處理線程(Handle Threads)填完緩沖區(qū)日志后就響應(yīng)客戶端.緩沖區(qū)日志成組(每隔時(shí)間T、每X個(gè)事務(wù)或提交的N個(gè)事務(wù)日志長(zhǎng)度達(dá)到L字節(jié))后,提交線程將緩沖區(qū)成組的日志刷盤(pán).圖2是異步提交的基本流程:①處理線程填寫(xiě)緩沖區(qū)日志;②處理線程響應(yīng)客戶端,③提交線程將成組的緩沖區(qū)日志刷盤(pán).

    圖2 異步提交流程Fig.2Process of asynchronous commit

    異步提交的特點(diǎn)是事務(wù)不等待日志刷盤(pán)成功就響應(yīng)客戶端,商業(yè)和開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)Oracle[20]和PostgreSQL[21]就采用了這種提交方式.異步提交將耗時(shí)較長(zhǎng)的日志刷盤(pán)階段完全隱藏不僅縮短了響應(yīng)客戶端的時(shí)間,還減少了鎖競(jìng)爭(zhēng)和過(guò)度的上下文切換.但該提交下的數(shù)據(jù)是不安全,如果系統(tǒng)故障而崩潰,已提交的日志可能因還沒(méi)有被刷到磁盤(pán)而丟失.

    2.1.3 提前釋放鎖(Early Lock Release,ELR)

    日志寫(xiě)入磁盤(pán)階段除了磁盤(pán)I/O的延遲,還存在的問(wèn)題是事務(wù)直到日志持久化成功后才能釋放鎖.事務(wù)長(zhǎng)期持鎖使得其他并行事務(wù)阻塞而產(chǎn)生鎖沖突,因此增加事務(wù)提交的延遲,并導(dǎo)致系統(tǒng)的并行度無(wú)法提高.

    針對(duì)這一問(wèn)題,DeWitt等人[1]早在20世紀(jì)80年代就提出了在一定條件下事務(wù)可在日志刷盤(pán)前安全釋放鎖的觀點(diǎn).事務(wù)被分為兩種類(lèi)型:預(yù)提交事務(wù)和依賴事務(wù).提前釋放鎖的事務(wù)稱為預(yù)提交事務(wù);訪問(wèn)預(yù)提交事務(wù)的更新數(shù)據(jù)的事務(wù)稱為依賴事務(wù),依賴于預(yù)提交事務(wù).在緩沖區(qū)填寫(xiě)階段之前,事務(wù)就已確定全局的提交順序.提交過(guò)程中,未依賴于其他事務(wù)的預(yù)提交事務(wù)可提前釋放鎖,無(wú)依賴關(guān)系的事務(wù)得到鎖后就可繼續(xù)執(zhí)行,提高了事務(wù)提交效率.只有少數(shù)依賴事務(wù)被阻塞,需等到預(yù)提交事務(wù)日志刷盤(pán)成功并響應(yīng)客戶端.過(guò)了十多年,觀點(diǎn)的正確性才被文獻(xiàn)[22]證明.另外,提前釋放鎖必須滿足兩個(gè)條件才能維持系統(tǒng)的可恢復(fù)性.

    (1)每個(gè)依賴事務(wù)必須在它依賴的預(yù)提交事務(wù)日志刷盤(pán)完成后進(jìn)行刷盤(pán).

    (2)當(dāng)一個(gè)預(yù)提交事務(wù)被終止了,那么所有該預(yù)提交事務(wù)的依賴事務(wù)也將被終止.

    提前釋放鎖的特點(diǎn)是消除了日志刷盤(pán)帶給其他事務(wù)的延遲,只有依賴事務(wù)必須等待其刷盤(pán)后才能完成提交操作,其他事務(wù)可立即獲得鎖繼續(xù)執(zhí)行.早在正確性被驗(yàn)證之前,文獻(xiàn)[23]和IBM的IVS[24]事務(wù)處理工具就已采用了這種技術(shù).對(duì)于鎖競(jìng)爭(zhēng)激烈的負(fù)載,提前釋放鎖使系統(tǒng)性能顯著提升.與異步提交比較,它能夠保證數(shù)據(jù)安全.

    2.1.4 流水線提交(Flush Pipelining)

    近幾年已有一些研究[25-26]通過(guò)閃存優(yōu)化來(lái)減少I(mǎi)/O延遲,但閃存不能完全消除日志刷盤(pán)的高延遲.在多核數(shù)據(jù)庫(kù)系統(tǒng)中,日志寫(xiě)入磁盤(pán)階段仍存在著頻繁的上下文切換延遲.

    Johnson.R等人提出了流水線提交[27]:流水線提交是將傳統(tǒng)的事務(wù)處理分成兩個(gè)階段:事務(wù)處理階段和事務(wù)提交階段,分別對(duì)應(yīng)多個(gè)事務(wù)代理線程(Agent Threads)和一個(gè)事務(wù)守護(hù)線程(Daemon Threads).事務(wù)代理線程負(fù)責(zé)負(fù)責(zé)寫(xiě)緩沖區(qū)、響應(yīng)客戶端;守護(hù)線程負(fù)責(zé)刷盤(pán).事務(wù)提交時(shí),代理線程寫(xiě)完緩沖區(qū)日志就將當(dāng)前待提交任務(wù)壓入響應(yīng)客戶端隊(duì)列,而自己執(zhí)行其他事務(wù).每隔時(shí)間T、每X個(gè)事務(wù)或提交的N個(gè)事務(wù)日志長(zhǎng)度達(dá)到L字節(jié)后,守護(hù)線程將那部分緩沖區(qū)日志刷磁盤(pán).日志刷盤(pán)后,守護(hù)線程通知代理線程最新一批已完成的事務(wù).代理線程喚醒隊(duì)列中的待提交任務(wù),完成提交并響應(yīng)客戶端.圖3是流水線提交的基本流程.

    流水線提交的特點(diǎn)是將事務(wù)處理拆分成兩個(gè)階段進(jìn)行,長(zhǎng)時(shí)間的日志刷盤(pán)階段交給專(zhuān)門(mén)線程執(zhí)行.Johnson R等人在Shore-MT的Aether日志組件中對(duì)它進(jìn)行了實(shí)現(xiàn),對(duì)比傳統(tǒng)機(jī)制,系統(tǒng)性能提高了22%.流水線提交不僅減少了頻繁的上下文切換的瓶頸,還能保證數(shù)據(jù)安全,從而大大提高了系統(tǒng)的吞吐量.

    圖3 流水線提交流程Fig.3Process of flush pipelining

    2.1.5 可擴(kuò)展的緩沖區(qū)(Scalable Log Buffer)

    傳統(tǒng)事務(wù)提交機(jī)制的每個(gè)日志都分配全局唯一的日志序列號(hào)LSN,作為數(shù)據(jù)存入磁盤(pán)的時(shí)間戳,緩沖區(qū)寫(xiě)日志階段必須是互斥的.并且傳統(tǒng)事務(wù)處理采用的是集中式日志緩沖區(qū).

    為永久地消除日志緩沖區(qū)競(jìng)爭(zhēng),并且使其不受日志大小和線程數(shù)量的影響,Johnson R等人提出兩種可擴(kuò)展的日志緩沖區(qū)設(shè)計(jì)[27]:合并緩沖區(qū)分配(Consolidating Buffer Allocation)和解耦緩沖區(qū)填寫(xiě)(Decoupling Buffer Fill).

    合并緩沖區(qū)分配的優(yōu)化目的是減少競(jìng)爭(zhēng),并使事務(wù)提交不受線程數(shù)的影響.多個(gè)線程同時(shí)競(jìng)爭(zhēng)鎖,獲得鎖的線程生成LSN并填寫(xiě)緩沖區(qū)日志.未獲得鎖的多線程搶占一個(gè)固定大小的“合并數(shù)組”(Consolidation Array)[28].搶占成功的多個(gè)線程成組等待鎖釋放.一旦釋放鎖,第一個(gè)成員將獲得鎖并生成LSN,并將LSN、緩沖區(qū)位置和偏移通知下一成員.所有成員依次推算出LSN和緩沖區(qū)位置后,并行填寫(xiě)緩沖區(qū)日志.所有成員填寫(xiě)完后清空數(shù)組,并由該數(shù)組最后一個(gè)成員的線程負(fù)責(zé)緩沖區(qū)日志刷盤(pán)和緩沖區(qū)空間的釋放.

    解耦緩沖區(qū)填寫(xiě)進(jìn)一步提高了日志緩沖區(qū)填寫(xiě)的并行度.在傳統(tǒng)事務(wù)提交機(jī)制基礎(chǔ)上,生成LSN的線程在獲得緩沖區(qū)位置的同時(shí)釋放鎖,另一個(gè)線程就可獲得鎖并確定緩沖區(qū)位置.確定緩沖區(qū)位置的線程可填寫(xiě)緩沖區(qū)日志,使得日志進(jìn)行流水線式的填寫(xiě).防止創(chuàng)建空白日志而丟失可恢復(fù)性,緩沖區(qū)空間必須按LSN順序釋放,使日志按LSN依次寫(xiě)入磁盤(pán).

    雖然在合并緩沖區(qū)分配的優(yōu)化下,填寫(xiě)緩沖區(qū)日志的時(shí)間開(kāi)銷(xiāo)與組內(nèi)成員日志大小和釋放緩沖區(qū)空間成正比,但對(duì)于組內(nèi)的多個(gè)事務(wù)提交性能得到了一定的提升.而解耦緩沖區(qū)填寫(xiě)的優(yōu)化技術(shù),雖然使得大量線程可同時(shí)對(duì)緩沖區(qū)進(jìn)行日志填寫(xiě),提高了事務(wù)提交的并發(fā)性,但是順序釋放緩沖區(qū)的操作成為了關(guān)鍵延遲.

    2.2 基于NVM的事務(wù)提交關(guān)鍵技術(shù)

    新興的NVM技術(shù)從根本上改變了事務(wù)提交的設(shè)計(jì)原則.NVM因其數(shù)據(jù)非易失和高效訪問(wèn)的特性,使得事務(wù)日志不再需要暫存緩沖區(qū)后刷到磁盤(pán)的緩慢流程,以保證事務(wù)的持久性.但由于NVM的成本較高,且訪問(wèn)模式與傳統(tǒng)的內(nèi)存和二級(jí)存儲(chǔ)都不相同,加上目前NVM技術(shù)本身仍然不夠成熟,基于NVM日志存儲(chǔ)的事務(wù)提交機(jī)制研究處于起步階段.

    基于NVM的分布式日志提交(NVM-based Distributed Logging)[6]是一種基于NVM日志存儲(chǔ)的事務(wù)提交原型.多核數(shù)據(jù)庫(kù)系統(tǒng)的每個(gè)核都分配一個(gè)NVM緩沖區(qū).事務(wù)填完NVM緩沖區(qū)日志就完成事務(wù)提交,這是因?yàn)镹VM的非易失性保證了事務(wù)的持久性.當(dāng)NVM緩沖區(qū)的日志填滿時(shí),系統(tǒng)再將這些日志轉(zhuǎn)存入磁盤(pán).如何對(duì)日志分區(qū)和保證日志次序成為了難點(diǎn).該提交技術(shù)采用兩種策略:事務(wù)分區(qū)和頁(yè)分區(qū),分別依據(jù)事務(wù)和數(shù)據(jù)頁(yè)的相關(guān)性來(lái)分配.相對(duì)于傳統(tǒng)事務(wù)提交機(jī)制的LSN,該提交技術(shù)采用基于邏輯時(shí)鐘[29]的全局序列號(hào)(Global Sequence Number)以保證生成日志的順序.另外,日志從易失性CPU寫(xiě)到NVM緩沖區(qū)的階段采用被動(dòng)的成組提交(Passive Group Commit)以保證系統(tǒng)的可恢復(fù)性.

    基于NVM的分布式日志提交解決了磁盤(pán)I/O延遲和日志緩沖區(qū)競(jìng)爭(zhēng)的瓶頸,實(shí)驗(yàn)證明其具有低沖突和高吞吐的性能.隨著NVM技術(shù)的日益成熟,基于NVM的事務(wù)提交技術(shù)將越來(lái)越熱門(mén).

    2.3 基于高速網(wǎng)絡(luò)與高性能固態(tài)存儲(chǔ)的事務(wù)提交關(guān)鍵技術(shù)

    高速網(wǎng)絡(luò)的發(fā)展使網(wǎng)絡(luò)延遲變得越來(lái)越小,目前網(wǎng)絡(luò)傳輸已能夠達(dá)到100 Gb/s.閃存等固態(tài)存儲(chǔ)設(shè)備也發(fā)展迅速,其讀寫(xiě)性能與磁盤(pán)相比高出約104IOPS.越來(lái)越多的學(xué)者開(kāi)始研究基于高速網(wǎng)絡(luò)與高性能固態(tài)存儲(chǔ)的存儲(chǔ)系統(tǒng).基于這兩種硬件的事務(wù)提交技術(shù)應(yīng)運(yùn)而生.

    Hyder[30]事務(wù)提交是基于高速網(wǎng)絡(luò)與閃存硬件,面向具有共享的網(wǎng)絡(luò)尋址存儲(chǔ)(Network-Addressable Storage)的集群.Hyder事務(wù)提交的流程如下:分布式系統(tǒng)的一個(gè)站點(diǎn)的事務(wù)執(zhí)行產(chǎn)生的更新操作暫存在本地緩存,并廣播給所有站點(diǎn);同時(shí)該站點(diǎn)將生成的日志通過(guò)高速網(wǎng)絡(luò)存入閃存優(yōu)化的共享可擴(kuò)展日志結(jié)構(gòu)(Shared Striped Log);其他站點(diǎn)接收消息后,更新到本地緩存以保證全局日志的連續(xù)性.

    Hyder事務(wù)提交目前應(yīng)用于Hyder系統(tǒng),微軟研究的一個(gè)多版本的日志文件/數(shù)據(jù)庫(kù)系統(tǒng).該提交技術(shù)不僅解決了鎖競(jìng)爭(zhēng),還降低了日志緩沖區(qū)的沖突,使系統(tǒng)性能大大提升.除了Hyder,還有Flash-log[7]、CORFU[8]、Tango[9],也利用專(zhuān)門(mén)的大容量固態(tài)存儲(chǔ)服務(wù)器,配以定制的事務(wù)提交機(jī)制,提供共享的高性能日志服務(wù).但是這些系統(tǒng)要求高性能的網(wǎng)絡(luò)和存儲(chǔ)服務(wù)器,無(wú)法直接在現(xiàn)有的新型內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)中使用.

    2.4 事務(wù)提交關(guān)鍵技術(shù)的小結(jié)

    本文分析的事務(wù)提交關(guān)鍵技術(shù)利用新型數(shù)據(jù)庫(kù)系統(tǒng)不同硬件特點(diǎn),針對(duì)性地解決了傳統(tǒng)事務(wù)提交機(jī)制存在的一些瓶頸.這些事務(wù)提交關(guān)鍵技術(shù)各自存在優(yōu)缺點(diǎn).表2是對(duì)事務(wù)提交技術(shù)解決不同的瓶頸進(jìn)行的歸納.

    表2 事務(wù)提交關(guān)鍵技術(shù)各自解決的瓶頸Tab.2The bottlenecks that key techniques of transaction commit respectively have resolved

    3 總結(jié)

    面對(duì)越來(lái)越復(fù)雜的高并發(fā)事務(wù)處理,目前新型內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)已無(wú)法達(dá)到足夠的高吞吐量以滿足應(yīng)用需求.傳統(tǒng)事務(wù)提交機(jī)制因存在局限性而逐漸成為了系統(tǒng)的性能瓶頸.本文重點(diǎn)整理和分析了利用多核特性的成組提交、異步提交、提前釋放鎖和流水線提交等事務(wù)提交技術(shù),基于NVM的分布式事務(wù)提交技術(shù)以及基于高速網(wǎng)絡(luò)和高性能固態(tài)存儲(chǔ)的事務(wù)提交技術(shù),這些關(guān)鍵技術(shù)在不同程度上地解決傳統(tǒng)事務(wù)提交機(jī)制的瓶頸.此外,本文對(duì)它們各自的應(yīng)用現(xiàn)狀和優(yōu)缺點(diǎn)進(jìn)行分析與歸納.

    隨著海量數(shù)據(jù)事務(wù)處理的復(fù)雜化,以及計(jì)算機(jī)硬件設(shè)備的極速更新,傳統(tǒng)事務(wù)提交機(jī)制無(wú)法滿足系統(tǒng)需求.越來(lái)越多的學(xué)者利用新型內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)的多核和大內(nèi)存等特性來(lái)研究事務(wù)提交的優(yōu)化方法.而事務(wù)提交涉及數(shù)據(jù)庫(kù)系統(tǒng)的多種模塊管理結(jié)構(gòu),包括緩沖區(qū)管理,鎖管理等,這些模塊需要相互權(quán)衡.日志不是一個(gè)全序關(guān)系,而是一個(gè)偏序關(guān)系,如何對(duì)事務(wù)提交進(jìn)行解耦合是目前事務(wù)提交優(yōu)化的困難之一.對(duì)提交事務(wù)進(jìn)行預(yù)處理是優(yōu)化的趨勢(shì),但由于事務(wù)間復(fù)雜的依賴關(guān)系,事務(wù)的合理分區(qū)成為難點(diǎn).而在解耦合過(guò)程中,提高事務(wù)并發(fā)度使得各階段的校驗(yàn)變得更加復(fù)雜.另外,傳統(tǒng)事務(wù)提交機(jī)制并沒(méi)有考慮數(shù)據(jù)庫(kù)系統(tǒng)所處的網(wǎng)絡(luò)環(huán)境,分布式數(shù)據(jù)庫(kù)系統(tǒng)的日志同步代價(jià)和成本是巨大的,需進(jìn)一步改進(jìn)才能在實(shí)際環(huán)境中應(yīng)用.所以設(shè)計(jì)出一種能夠同時(shí)解決所有傳統(tǒng)事務(wù)提交機(jī)制的瓶頸,又能適應(yīng)于多種環(huán)境的事務(wù)提交新技術(shù)面臨著巨大的挑戰(zhàn).

    同時(shí)NVM等一些非易失性內(nèi)存的發(fā)展和SSD、Flash等一些非易失性固態(tài)存儲(chǔ)器成本的不斷降低,將有力推動(dòng)事務(wù)提交優(yōu)化技術(shù)的發(fā)展.采用這些新型硬件設(shè)備,可以減少事務(wù)提交中日志持久化過(guò)程,大大提高事務(wù)提交效率.作為未來(lái)研究熱點(diǎn)的可擴(kuò)展事務(wù)提交將是避免產(chǎn)生瓶頸的有效手段,其中采用lock-free和latch-free的數(shù)據(jù)結(jié)構(gòu)可減少事務(wù)提交過(guò)程中的鎖競(jìng)爭(zhēng);采用CAS原子操作可實(shí)現(xiàn)日志串行化以提高吞吐量.此外,解耦傳統(tǒng)數(shù)據(jù)庫(kù)架構(gòu),將日志單獨(dú)作為服務(wù)系統(tǒng)也是事務(wù)提交技術(shù)未來(lái)研究的方向之一.

    [1]DEWITT D J,KATZ R H,OLKEN F,et al.Implementation techniques for main memory database systems[J]. Acm Sigmod Record,1984,14(2):1-8.

    [2]RAGHU R,JOHANNES G.Database Management Systems.[M].3th ed.New York:McGraw-Hill,2003.

    [3]HELLAND P,SAMMER H,LYON J,et al.Group commit timers and high volume transaction systems[C]//High Performance Transaction Systems.USA:Springer Berlin Heidelberg,1987:301-329.

    [4]PELLEY S,CHEN P M,WENISCH T F.Memory persistency[J].Acm Sigarch Computer Architecture News, 2014,42(3):265-276.

    [5]FANG R,HSIAO H I,HE B,et al.High performance database logging using storage class memory[C]//IEEE International Conference on Data Engineering.[S.l.]:IEEE,2011:1221-1231.

    [6]WANG T,JOHNSON R.Scalable logging through emerging non-volatile memory[J].Proceedings of the VLDB Endowment,2014,7(10):865-876.

    [7]BALAKRISHNAN M,BERNSTEIN P A,MALKHI D,et al.Brief Announcement Flash-Log-A High Throughput Log[J].Lecture Notes in Computer Science,2010,1(6343):401-403.

    [8]BALAKRISHNAN M,MALKHI D,DAVIS J D,et al.CORFU:A distributed shared log[J].Acm Transactions on Computer Systems(TOCS),2013,31(4):879-889.

    [9]BALAKRISHNAN M,MALKHI D,WOBBER T,et al.Tango:Distributed data structures over a shared log[C]//Twenty-Fourth ACM Symposium on Operating Systems Principles.New York:ACM,2013:325-340.

    [10]MALVIYA N,WEISBERG A,MADDEN S,et al.Rethinking main memory oltp recovery[C]//International Conference on Data Engineering.[S.l.]:IEEE,2014:604-615.

    [11]GRAY J,REUTER A.Transaction Processing:Concepts and Techniques[M].San Francisco:Margan Kaufmann, 2015.

    [12]MOHAN C,HADERLE D,LINDSAY B,et al.ARIES:A transaction recovery method supporting finegranularity locking and partial rollbacks using write-ahead logging[J].Acm Transactions on Database Systems (TODS),1992,17(1):94-162.

    [13]MOHAN C.Repeating history beyond ARIES[J].VLDB,1999,99:1-17.

    [14]STONEBRAKER M,WEISBERG A.The VoltDB main memory DBMS[J].IEEE Data Eng Bull,2013,36(2): 21-27.

    [15]JOHNSON R,PANDIS I,HARDAVELLAS N,et al.Shore-MT:a scalable storage manager for the multicore era[C]//Proceedings of the 12th International Conference on Extending Database Technology:Advances in Database Technology.New York:ACM,2009:24-35.

    [16]CAREY M J,DEWITT D J,FRANKLIN M J,et al.Shoring Up Persistent Applications[M].New York:ACM, 1994.

    [17]MySQL A B.MySQL:The world’s most popular open source database[EB/OL].(2005-12-01)[2016-05-23]. http://www.mysql.com.

    [18]LONEY K,MCCLAIN L.Oracle Database 10g:The Complete Reference[M]//Oracle 8:The Complete Reference.New York:Osbome/McGraw-Hill,1997,10(6):179.

    [19]DIACONU C,FREEDMAN C,ISMERT E,et al.Hekaton:SQL server’s memory-optimized OLTP engine[C]//Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data.New York: ACM,2013:1243-1254.

    [20]THOME B,GAWLICK D,PRATT M.Event processing with on oracle database[C]//Proceedings of the 2005 ACM SIGMOD Interational Conference on Management of Data.New York:ACM,2005:863-867.

    [21]彭智勇,彭煜煒.PostgreSQL數(shù)據(jù)庫(kù)內(nèi)核分析[M].北京:機(jī)械工業(yè)出版,2011:343-404.

    [22]SOISALON-SOININEN E,YL?NEN T.Partial strictness in two-phase locking[C]//Intemational Conference on Database Theory.USA:Springer Berlin Heidelberg,1995:139-147.

    [23]LIU C C,MINOURA T.Effect of update merging on reliable storage performance[C]//Second International Conference on Data Engineering.[S.l.]:IEEE,1986:208-213.

    [24]GAWLICK D,KINKADE D.Varieties of concurrency control in IMS/VS fast path[J].IEEE Database Eng Bull, 1985,8(2):3-10.

    [25]CHEN S.FlashLogging:Exploiting flash devices for synchronous logging performance[C]//Proceedings of the International Conference on Management of Data.New York:ACM,2009:73-86.

    [26]LEE S W,MOON B,PARK C,et al.A case for flash memory ssd in enterprise database applications[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data.New York: ACM,2008:1075-1086.

    [27]JOHNSON R,PANDIS I,STOICA R,et al.Aether:A scalable approach to logging[J].Proceedings of the VLDB Endowment,2010,3(1-2):681-692.

    [28]MOIR M,NUSSBAUM D,SHALEV O,et al.Using elimination to implement scalable and lock-free fifo queues[C]//Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures.New York:ACM,2005:253-262.

    [29]LAMPORT L.Time,clocks,and the ordering of events in a distributed system[J].Communications of the ACM, 1978,21(7):558-565.

    [30]BERNSTEIN P A,REID C W,DAS S.Hyder-A transactional record manager for shared flash[J].CIDR,2011(11): 9-20.

    (責(zé)任編輯:張晶)

    Key techniques and challenges of transaction commit in main-memory database systems

    HU Shuang,ZHOU Huan,QIAN Wei-ning
    (Institute for Data Science and Engineering,East China Normal University, Shanghai200062,China)

    Since its debut in the 1990s,ARIES,as the traditional transaction commit, has been widely adopted by the mainstream commercial or open source database systems. With the performance of applications increasingly improved,transaction commit based on the traditional hardwares has become the first bottleneck for performance of systems. However,the developments of high-performance hardwares,such as memory and multiple CPU cores,offer a new opportunity for the optimization of transaction commit.In this paper,we analyze and summarize the existing bottlenecks of traditional transaction commit in detail.Furthermore,key techniques of transaction commit based on new hardwares are discussed and concluded,including their application status,advantages and disadvantages. Finally,challenges and future developments for optimization of transaction commit are discussed.

    main-memory database systems;transaction commit;techniques of log processing

    TP391

    A

    10.3969/j.issn.1000-5641.2016.05.003

    1000-5641(2016)05-0018-09

    2016-05

    國(guó)家自然科學(xué)基金重點(diǎn)項(xiàng)目(61332006);國(guó)家863計(jì)劃項(xiàng)目(2015AA015307)

    胡爽,女,碩士研究生,研究方向?yàn)榉植际綌?shù)據(jù)庫(kù)系統(tǒng).E-mail:hu621000@sina.com.

    錢(qián)衛(wèi)寧,男,教授,博士生導(dǎo)師,研究方向?yàn)榭蓴U(kuò)展事務(wù)處理和海量數(shù)據(jù)管理與分析. E-mail:wnqian@sei.ecnu.edu.cn.

    猜你喜歡
    數(shù)據(jù)庫(kù)系統(tǒng)磁盤(pán)緩沖區(qū)
    嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫(xiě)方法的設(shè)計(jì)與實(shí)現(xiàn)
    解決Windows磁盤(pán)簽名沖突
    修改磁盤(pán)屬性
    數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
    微細(xì)銑削工藝數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)
    磁盤(pán)組群組及iSCSI Target設(shè)置
    創(chuàng)建VSAN群集
    實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)安全采集方案
    核反應(yīng)堆材料數(shù)據(jù)庫(kù)系統(tǒng)及其應(yīng)用
    關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
    国产精品久久久久久精品电影| 老女人水多毛片| 小蜜桃在线观看免费完整版高清| 国产精品亚洲美女久久久| aaaaa片日本免费| 国产精品伦人一区二区| 69人妻影院| 男女做爰动态图高潮gif福利片| 国内揄拍国产精品人妻在线| 男女下面进入的视频免费午夜| 亚洲真实伦在线观看| 久久欧美精品欧美久久欧美| 成人精品一区二区免费| 禁无遮挡网站| 亚洲内射少妇av| 国产三级中文精品| 精品人妻视频免费看| 动漫黄色视频在线观看| 身体一侧抽搐| 成人av一区二区三区在线看| 成人国产一区最新在线观看| 国产激情偷乱视频一区二区| 日韩欧美在线乱码| 午夜免费男女啪啪视频观看 | 国产色爽女视频免费观看| 亚洲avbb在线观看| 一级黄片播放器| 乱系列少妇在线播放| 1024手机看黄色片| 人妻少妇偷人精品九色| 人妻少妇偷人精品九色| 国产成人aa在线观看| x7x7x7水蜜桃| 欧美丝袜亚洲另类 | 一级黄色大片毛片| 亚洲人成网站在线播放欧美日韩| 不卡一级毛片| 少妇熟女aⅴ在线视频| 91狼人影院| 欧美日韩国产亚洲二区| 精品久久久久久久久久免费视频| 色视频www国产| 亚洲黑人精品在线| 亚洲av熟女| 中亚洲国语对白在线视频| 午夜福利在线观看吧| 深爱激情五月婷婷| 免费搜索国产男女视频| 嫁个100分男人电影在线观看| 春色校园在线视频观看| 国产淫片久久久久久久久| 久久99热6这里只有精品| 欧美另类亚洲清纯唯美| 亚洲在线自拍视频| 波多野结衣巨乳人妻| 搞女人的毛片| 女同久久另类99精品国产91| 国产精品一区二区三区四区免费观看 | 免费高清视频大片| 噜噜噜噜噜久久久久久91| 久久久精品欧美日韩精品| 美女xxoo啪啪120秒动态图| 亚洲av一区综合| 超碰av人人做人人爽久久| 欧美一区二区亚洲| 色综合站精品国产| 日本爱情动作片www.在线观看 | 久久精品综合一区二区三区| 综合色av麻豆| 成人特级av手机在线观看| 噜噜噜噜噜久久久久久91| 搡老妇女老女人老熟妇| 久久久久久久精品吃奶| 男人的好看免费观看在线视频| 亚洲av免费高清在线观看| 乱系列少妇在线播放| 99久久精品国产国产毛片| 国产成人aa在线观看| 日本撒尿小便嘘嘘汇集6| 中出人妻视频一区二区| 亚洲欧美精品综合久久99| 亚洲精品乱码久久久v下载方式| 成人二区视频| 亚洲美女搞黄在线观看 | 国产亚洲精品av在线| 成人国产综合亚洲| 国产亚洲精品久久久久久毛片| 国产高清激情床上av| 欧美日韩乱码在线| 99精品久久久久人妻精品| 国产成人av教育| 国产在视频线在精品| 老熟妇乱子伦视频在线观看| 精品人妻偷拍中文字幕| 精品一区二区免费观看| 一个人免费在线观看电影| 国产精品一区www在线观看 | 成人特级黄色片久久久久久久| 国产三级中文精品| 亚洲综合色惰| 国产一区二区三区在线臀色熟女| 深爱激情五月婷婷| 国产亚洲av嫩草精品影院| 亚洲欧美精品综合久久99| 韩国av一区二区三区四区| 999久久久精品免费观看国产| 亚洲成人精品中文字幕电影| 国国产精品蜜臀av免费| 一本一本综合久久| 中文在线观看免费www的网站| 国产高清三级在线| 我的老师免费观看完整版| 国产成人福利小说| 国产精品一区二区三区四区免费观看 | 在线播放国产精品三级| 网址你懂的国产日韩在线| 国产精品无大码| 国产成人福利小说| 午夜爱爱视频在线播放| 联通29元200g的流量卡| 免费观看在线日韩| 中文亚洲av片在线观看爽| 99久久中文字幕三级久久日本| 日本免费a在线| 成年免费大片在线观看| 国产激情偷乱视频一区二区| 国产极品精品免费视频能看的| 国产私拍福利视频在线观看| 亚洲精品影视一区二区三区av| 国产精品永久免费网站| 亚洲国产精品合色在线| 午夜福利欧美成人| 最近最新免费中文字幕在线| 99热这里只有精品一区| av在线老鸭窝| 欧美日韩瑟瑟在线播放| 精品久久久久久,| av在线天堂中文字幕| 99在线视频只有这里精品首页| 一级av片app| 国内精品一区二区在线观看| 欧美不卡视频在线免费观看| 国产av在哪里看| 欧美一区二区国产精品久久精品| 欧美成人一区二区免费高清观看| 日本在线视频免费播放| 亚洲性久久影院| 又粗又爽又猛毛片免费看| 亚洲熟妇中文字幕五十中出| 男人的好看免费观看在线视频| 成人亚洲精品av一区二区| a级一级毛片免费在线观看| 国产精品乱码一区二三区的特点| 日本免费一区二区三区高清不卡| 一区福利在线观看| 欧美成人性av电影在线观看| 又爽又黄无遮挡网站| 国产伦在线观看视频一区| 免费在线观看影片大全网站| 国产精品国产三级国产av玫瑰| 久久久久九九精品影院| 99热这里只有精品一区| 亚洲av五月六月丁香网| 最新中文字幕久久久久| 丝袜美腿在线中文| 男人和女人高潮做爰伦理| 高清在线国产一区| 国内精品一区二区在线观看| 午夜福利欧美成人| 精品久久国产蜜桃| 日本一二三区视频观看| 欧美国产日韩亚洲一区| 久久久久免费精品人妻一区二区| 大型黄色视频在线免费观看| 久久精品影院6| 乱系列少妇在线播放| 国产精品野战在线观看| 波多野结衣高清无吗| 五月玫瑰六月丁香| 久久久久久久精品吃奶| aaaaa片日本免费| 国产激情偷乱视频一区二区| 欧美一区二区精品小视频在线| 九色成人免费人妻av| 久久久久九九精品影院| 久久人妻av系列| 婷婷精品国产亚洲av| 男女下面进入的视频免费午夜| 啪啪无遮挡十八禁网站| 亚洲人成网站在线播| 99久久九九国产精品国产免费| 麻豆久久精品国产亚洲av| 九九久久精品国产亚洲av麻豆| 精品免费久久久久久久清纯| 亚洲欧美日韩高清专用| 午夜日韩欧美国产| 国产男靠女视频免费网站| 美女xxoo啪啪120秒动态图| xxxwww97欧美| 看片在线看免费视频| 国内精品美女久久久久久| 热99在线观看视频| 男插女下体视频免费在线播放| 老师上课跳d突然被开到最大视频| 欧美日韩黄片免| 88av欧美| 啪啪无遮挡十八禁网站| 黄色丝袜av网址大全| 欧美日本视频| 久久国产乱子免费精品| 国产精品精品国产色婷婷| 免费观看的影片在线观看| 亚洲av成人精品一区久久| 亚洲专区国产一区二区| 美女黄网站色视频| 欧美色视频一区免费| 精品国内亚洲2022精品成人| 久久精品人妻少妇| 成年女人永久免费观看视频| 欧美成人性av电影在线观看| 国产日本99.免费观看| 日韩在线高清观看一区二区三区 | 国产精品免费一区二区三区在线| 听说在线观看完整版免费高清| 91精品国产九色| 两性午夜刺激爽爽歪歪视频在线观看| 99久久久亚洲精品蜜臀av| 99热网站在线观看| 亚洲va在线va天堂va国产| 人妻丰满熟妇av一区二区三区| 一级黄色大片毛片| 草草在线视频免费看| 欧美性猛交╳xxx乱大交人| 免费看日本二区| 国产探花极品一区二区| 久久精品国产亚洲av天美| 乱码一卡2卡4卡精品| 日韩一本色道免费dvd| 狂野欧美激情性xxxx在线观看| 老司机福利观看| av.在线天堂| 舔av片在线| 亚洲精品456在线播放app | 欧美性感艳星| 日本三级黄在线观看| 欧美日韩黄片免| 舔av片在线| 女的被弄到高潮叫床怎么办 | 色综合站精品国产| 能在线免费观看的黄片| 亚洲av中文字字幕乱码综合| 国产真实伦视频高清在线观看 | 在线观看66精品国产| 国产精品一区二区三区四区久久| 狂野欧美白嫩少妇大欣赏| 国产精品99久久久久久久久| 久久精品国产自在天天线| 亚洲av第一区精品v没综合| 成人美女网站在线观看视频| 国产av在哪里看| 超碰av人人做人人爽久久| 精品99又大又爽又粗少妇毛片 | 午夜精品在线福利| 亚洲三级黄色毛片| 日韩人妻高清精品专区| 欧美日韩乱码在线| 99久国产av精品| 99视频精品全部免费 在线| 国产高清视频在线观看网站| 热99re8久久精品国产| 91狼人影院| 免费看a级黄色片| 丝袜美腿在线中文| 久99久视频精品免费| 国产精品一区二区三区四区免费观看 | 国产极品精品免费视频能看的| 国产精品日韩av在线免费观看| 国产中年淑女户外野战色| 亚洲精华国产精华液的使用体验 | 久久精品国产鲁丝片午夜精品 | 一区二区三区四区激情视频 | 欧美性猛交黑人性爽| 男插女下体视频免费在线播放| 欧美最黄视频在线播放免费| 三级国产精品欧美在线观看| 色综合亚洲欧美另类图片| 欧美色欧美亚洲另类二区| 亚洲性久久影院| 成人国产麻豆网| 久久九九热精品免费| 赤兔流量卡办理| 成人毛片a级毛片在线播放| 深爱激情五月婷婷| 色尼玛亚洲综合影院| 国产aⅴ精品一区二区三区波| 黄色配什么色好看| 久久久成人免费电影| 久99久视频精品免费| 可以在线观看毛片的网站| av中文乱码字幕在线| 岛国在线免费视频观看| 内地一区二区视频在线| 日本黄色视频三级网站网址| 女生性感内裤真人,穿戴方法视频| 久久久国产成人免费| a级一级毛片免费在线观看| 国产一区二区在线观看日韩| 亚洲国产欧美人成| 国产中年淑女户外野战色| 搡老熟女国产l中国老女人| 99热只有精品国产| 午夜激情欧美在线| 韩国av一区二区三区四区| 国产不卡一卡二| 亚洲四区av| 色综合婷婷激情| 婷婷色综合大香蕉| 别揉我奶头~嗯~啊~动态视频| 欧美日韩国产亚洲二区| 欧美日韩精品成人综合77777| 欧美黑人巨大hd| 老师上课跳d突然被开到最大视频| 97碰自拍视频| 嫩草影院新地址| 尤物成人国产欧美一区二区三区| 午夜福利在线在线| 久久久久久久精品吃奶| 久久精品国产鲁丝片午夜精品 | 天美传媒精品一区二区| 高清在线国产一区| 一区二区三区激情视频| 九色成人免费人妻av| 精品久久久久久成人av| 久久精品人妻少妇| 99国产精品一区二区蜜桃av| 国产av麻豆久久久久久久| 国产午夜精品久久久久久一区二区三区 | 亚洲电影在线观看av| 国产精品国产三级国产av玫瑰| 久久精品国产亚洲网站| 精品不卡国产一区二区三区| 亚洲无线在线观看| 午夜福利成人在线免费观看| 久久精品91蜜桃| 搡老妇女老女人老熟妇| 成人美女网站在线观看视频| 久久精品国产亚洲av香蕉五月| 天天躁日日操中文字幕| 小蜜桃在线观看免费完整版高清| 国产一区二区在线观看日韩| 国产成人aa在线观看| 成人高潮视频无遮挡免费网站| 国产亚洲91精品色在线| 又爽又黄无遮挡网站| 国产三级中文精品| 久久久久国内视频| 啦啦啦韩国在线观看视频| 久久亚洲精品不卡| 免费在线观看成人毛片| 亚洲国产高清在线一区二区三| 乱人视频在线观看| 亚洲av电影不卡..在线观看| 午夜免费成人在线视频| 日韩高清综合在线| 久久久久久久久久成人| 波多野结衣高清作品| 午夜激情欧美在线| 网址你懂的国产日韩在线| 亚洲av日韩精品久久久久久密| 别揉我奶头~嗯~啊~动态视频| 观看免费一级毛片| 男人舔女人下体高潮全视频| 少妇人妻精品综合一区二区 | 村上凉子中文字幕在线| 久久久色成人| 国产在线男女| 黄色女人牲交| 国产中年淑女户外野战色| 三级男女做爰猛烈吃奶摸视频| 在线免费观看的www视频| 国产人妻一区二区三区在| 99久久九九国产精品国产免费| 狂野欧美激情性xxxx在线观看| 老师上课跳d突然被开到最大视频| 少妇丰满av| 无人区码免费观看不卡| 白带黄色成豆腐渣| 露出奶头的视频| 国产精品一区二区免费欧美| 久久亚洲精品不卡| 国产亚洲欧美98| 久久久久久九九精品二区国产| 九色成人免费人妻av| 中文字幕人妻熟人妻熟丝袜美| 国产午夜精品久久久久久一区二区三区 | 国产欧美日韩精品一区二区| 欧美日本亚洲视频在线播放| 久久久色成人| 亚洲最大成人中文| 床上黄色一级片| 老司机福利观看| 一进一出抽搐gif免费好疼| 国产精品精品国产色婷婷| 久久久久精品国产欧美久久久| 深夜a级毛片| 亚洲欧美清纯卡通| 成人综合一区亚洲| 色综合亚洲欧美另类图片| 女的被弄到高潮叫床怎么办 | 美女 人体艺术 gogo| 麻豆成人av在线观看| 欧美成人a在线观看| 不卡视频在线观看欧美| 日韩欧美免费精品| 免费人成在线观看视频色| 色吧在线观看| 亚洲男人的天堂狠狠| 2021天堂中文幕一二区在线观| 好男人在线观看高清免费视频| 免费av不卡在线播放| 99久久无色码亚洲精品果冻| 国内精品一区二区在线观看| 久久久精品欧美日韩精品| 亚洲中文日韩欧美视频| 哪里可以看免费的av片| 在线播放国产精品三级| 日本色播在线视频| 国产麻豆成人av免费视频| 一个人看视频在线观看www免费| 精品午夜福利在线看| 成人亚洲精品av一区二区| 精品人妻视频免费看| xxxwww97欧美| 国产乱人视频| 午夜精品在线福利| .国产精品久久| 亚洲精华国产精华精| 国产黄片美女视频| 69人妻影院| 国产精品99久久久久久久久| 露出奶头的视频| 国产精品野战在线观看| 亚洲av免费在线观看| 精品99又大又爽又粗少妇毛片 | 成熟少妇高潮喷水视频| 日韩欧美 国产精品| 午夜精品久久久久久毛片777| 亚洲av不卡在线观看| 午夜免费男女啪啪视频观看 | 国产黄a三级三级三级人| 真实男女啪啪啪动态图| 精品国产三级普通话版| 亚洲精品456在线播放app | 中文字幕精品亚洲无线码一区| 我的老师免费观看完整版| 午夜免费激情av| 亚洲经典国产精华液单| а√天堂www在线а√下载| 亚洲,欧美,日韩| 黄色视频,在线免费观看| a级一级毛片免费在线观看| 亚洲av成人av| 淫妇啪啪啪对白视频| 日韩欧美三级三区| av黄色大香蕉| 精品国产三级普通话版| 人妻久久中文字幕网| 美女免费视频网站| 色视频www国产| 亚洲自拍偷在线| 欧美国产日韩亚洲一区| 国产黄a三级三级三级人| 成人永久免费在线观看视频| 亚洲五月天丁香| 两个人的视频大全免费| 麻豆av噜噜一区二区三区| 九九久久精品国产亚洲av麻豆| 亚洲三级黄色毛片| 少妇裸体淫交视频免费看高清| av天堂中文字幕网| 午夜精品久久久久久毛片777| 午夜福利18| 久久久久精品国产欧美久久久| 有码 亚洲区| 熟妇人妻久久中文字幕3abv| videossex国产| 老熟妇仑乱视频hdxx| 久久草成人影院| 丰满人妻一区二区三区视频av| 看黄色毛片网站| 久久久久久久精品吃奶| 三级国产精品欧美在线观看| 成人二区视频| 亚州av有码| 在线观看舔阴道视频| 中亚洲国语对白在线视频| 免费在线观看影片大全网站| 国产精品久久久久久久久免| 五月玫瑰六月丁香| 特级一级黄色大片| 性色avwww在线观看| 日韩精品青青久久久久久| 99热这里只有精品一区| 精品久久国产蜜桃| 国产精品一区二区三区四区免费观看 | 熟女人妻精品中文字幕| 少妇丰满av| 啦啦啦观看免费观看视频高清| 欧美日韩乱码在线| 日本-黄色视频高清免费观看| 成年免费大片在线观看| 国产精品免费一区二区三区在线| 国产精品不卡视频一区二区| 最近最新免费中文字幕在线| 成人国产一区最新在线观看| 人妻夜夜爽99麻豆av| 夜夜夜夜夜久久久久| 久久久久久伊人网av| a级一级毛片免费在线观看| 亚洲aⅴ乱码一区二区在线播放| 精品一区二区三区视频在线观看免费| 成年免费大片在线观看| 我的女老师完整版在线观看| 国产午夜精品论理片| 一边摸一边抽搐一进一小说| 欧美又色又爽又黄视频| 午夜久久久久精精品| 舔av片在线| 九九在线视频观看精品| 色视频www国产| 久久中文看片网| 在线观看舔阴道视频| 男女视频在线观看网站免费| 中文亚洲av片在线观看爽| 亚洲四区av| 欧美一区二区精品小视频在线| 狂野欧美白嫩少妇大欣赏| 国产av在哪里看| 国产亚洲欧美98| 精华霜和精华液先用哪个| 蜜桃久久精品国产亚洲av| 国产精品久久久久久精品电影| 老师上课跳d突然被开到最大视频| 亚洲av美国av| 国产伦精品一区二区三区四那| a级毛片a级免费在线| 国产激情偷乱视频一区二区| 久久久精品欧美日韩精品| 国产精品乱码一区二三区的特点| 国产伦精品一区二区三区视频9| 日日干狠狠操夜夜爽| 久9热在线精品视频| 人人妻,人人澡人人爽秒播| 校园春色视频在线观看| 美女大奶头视频| 国产亚洲欧美98| 男女做爰动态图高潮gif福利片| 真实男女啪啪啪动态图| 99在线人妻在线中文字幕| 国产精品人妻久久久久久| 搡老妇女老女人老熟妇| 免费无遮挡裸体视频| 成人无遮挡网站| 亚洲人成网站在线播放欧美日韩| 日本一二三区视频观看| 悠悠久久av| 韩国av在线不卡| 深夜a级毛片| 别揉我奶头 嗯啊视频| 99热只有精品国产| 国产av麻豆久久久久久久| 乱人视频在线观看| 欧美日韩瑟瑟在线播放| 中国美女看黄片| 亚洲成人久久性| 国产中年淑女户外野战色| 美女大奶头视频| 又爽又黄a免费视频| 国产国拍精品亚洲av在线观看| 午夜日韩欧美国产| 一区二区三区四区激情视频 | 亚洲精品久久国产高清桃花| 亚洲一区二区三区色噜噜| 亚洲人成伊人成综合网2020| www日本黄色视频网| 天堂影院成人在线观看| 国产av不卡久久| 搞女人的毛片| www.www免费av| 日韩人妻高清精品专区| 欧美中文日本在线观看视频| 久久精品国产亚洲av香蕉五月| av专区在线播放| 亚洲精品影视一区二区三区av| 日本与韩国留学比较| 啦啦啦韩国在线观看视频| 欧美成人a在线观看| 午夜福利18| 日日摸夜夜添夜夜添小说| 99riav亚洲国产免费| 18禁黄网站禁片免费观看直播| 国产在线男女| 国产亚洲av嫩草精品影院| 3wmmmm亚洲av在线观看| 亚洲午夜理论影院| 久久九九热精品免费| 国产高清激情床上av| 伦精品一区二区三区| 国产淫片久久久久久久久| 亚洲综合色惰| 搞女人的毛片| 少妇人妻精品综合一区二区 | 成人毛片a级毛片在线播放| 级片在线观看| 女人十人毛片免费观看3o分钟|