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

    機器學習化數(shù)據(jù)庫系統(tǒng)研究綜述

    2019-09-16 02:32:10孟小峰馬超紅
    計算機研究與發(fā)展 2019年9期
    關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)機器數(shù)據(jù)庫

    孟小峰 馬超紅 楊 晨

    (中國人民大學信息學院 北京 100872)

    數(shù)據(jù)庫系統(tǒng)已經(jīng)在商業(yè)中成熟應用,表現(xiàn)為產(chǎn)品級數(shù)據(jù)庫系統(tǒng)如Oracle,PostgreSQL等持續(xù)穩(wěn)定地運行,說明經(jīng)典的數(shù)據(jù)庫算法已經(jīng)趨于完善,且基于這些算法的性能優(yōu)化也已經(jīng)達到很好的程度.但大數(shù)據(jù)時代下,數(shù)據(jù)庫系統(tǒng)需要處理的數(shù)據(jù)量不斷增加,工作負載也面臨著快速而多變的特性,對數(shù)據(jù)庫系統(tǒng)提出了更高的要求.一方面數(shù)據(jù)量持續(xù)增大,期望數(shù)據(jù)庫系統(tǒng)具有更快的處理速度;另一方面查詢負載的快速變化及其多樣性要求數(shù)據(jù)庫系統(tǒng)能夠動態(tài)調(diào)整系統(tǒng)參數(shù)以達到最佳運行時狀態(tài).傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)優(yōu)化技術(shù)和靜態(tài)地依靠數(shù)據(jù)庫管理員(database administrator, DBA)對系統(tǒng)進行參數(shù)配置的方式,已不能處理新應用場景下對系統(tǒng)性能的優(yōu)化.在人工智能蓬勃發(fā)展的推動下,將機器學習與數(shù)據(jù)庫系統(tǒng)有機結(jié)合來改進系統(tǒng)性能成為本領(lǐng)域的研究熱點,亦稱為機器學習化的數(shù)據(jù)庫系統(tǒng)研究.

    在2015年ACM SIGMOD會議上,Ré等人[1]最早明確提出關(guān)于機器學習與數(shù)據(jù)庫系統(tǒng)結(jié)合的思考,并展開對數(shù)據(jù)庫領(lǐng)域結(jié)合機器學習技術(shù)的激烈討論.機器學習以其優(yōu)異的特性迅速在大數(shù)據(jù)驅(qū)動的應用領(lǐng)域普及并逐漸成為主流.在機器學習的浪潮下,數(shù)據(jù)庫系統(tǒng)應處于一個什么樣的位置?數(shù)據(jù)庫系統(tǒng)是否會在這股浪潮下被沖擊出歷史的舞臺?由此,數(shù)據(jù)庫界開始了構(gòu)建機器學習化數(shù)據(jù)庫系統(tǒng)的探索.

    歸納起來,我們認為機器學習化的數(shù)據(jù)庫系統(tǒng)研究得到大家的普遍關(guān)注有3方面原因:

    Fig. 1 Ratio of query execution time in PostgreSQL圖1 PostgreSQL數(shù)據(jù)庫系統(tǒng)查詢執(zhí)行時間占比

    由此看來,CPU已成為數(shù)據(jù)庫系統(tǒng)的主要瓶頸.可見,以優(yōu)化IO為主的傳統(tǒng)數(shù)據(jù)庫系統(tǒng)優(yōu)化方法,難以優(yōu)化當前的性能瓶頸,因此需要尋求新的途徑.

    2)大量面向機器學習的現(xiàn)代硬件加速器為解決數(shù)據(jù)庫系統(tǒng)的CPU性能瓶頸提供了機會.機器學習技術(shù)的發(fā)展,新的加速算法、新硬件的迭代速度越來越快,但其更多集中在計算部件,如眾核處理器、高性能處理器、GPU處理器以及智能化處理器等,預計到2025年GPU的性能可以再提高1 000倍[3-4].然而這些成果和數(shù)據(jù)庫系統(tǒng)的發(fā)展關(guān)系較遠.對于數(shù)據(jù)庫系統(tǒng)而言,傳統(tǒng)的單線程算法和順序訪問特性不適合在現(xiàn)代加速器上運行.如B樹索引,基于二分查找的法則對數(shù)據(jù)進行掃描.而現(xiàn)代加速硬件具有高并發(fā)、多線程、速度快的眾核處理能力,這些加速器主要用于加速機器學習的并行和迭代算法,例如英偉達發(fā)布的GeForce RTX 2080 Ti擁有4 352個CUDA單元[5].顯然,數(shù)據(jù)庫系統(tǒng)要依托新的硬件加速平臺實現(xiàn)其性能優(yōu)化,必須對數(shù)據(jù)庫系統(tǒng)的算法進行重構(gòu)和改寫.因此,機器學習化數(shù)據(jù)庫系統(tǒng)的研究重點之一是將傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的順序操作轉(zhuǎn)化為并行和迭代計算,例如采用機器學習模型替換數(shù)據(jù)庫系統(tǒng)內(nèi)部的傳統(tǒng)索引結(jié)構(gòu)[3]、基數(shù)估計模型[6]等組件.

    3) 數(shù)據(jù)庫系統(tǒng)還面臨著參數(shù)配置的問題,機器學習方法是解決這一問題的有效手段.數(shù)據(jù)庫系統(tǒng)具有成百個參數(shù),控制并影響著系統(tǒng)的性能,并且默認的參數(shù)配置較差,例如2016年MySQL系統(tǒng)默認其部署在僅有160MB RAM的機器上[7-8].同時,工作負載頻繁而又多樣性地快速變化已遠超出DBA的能力,導致數(shù)據(jù)庫系統(tǒng)在參數(shù)配置、系統(tǒng)管理方面缺乏快速響應和智能適配的能力.鑒于機器學習善于從訓練數(shù)據(jù)中學習經(jīng)驗,并用于預測新的未知數(shù)據(jù)[9],同時快速給出預測結(jié)果.因此可借助機器學習從數(shù)據(jù)庫系統(tǒng)長久以來的參數(shù)配置、查詢優(yōu)化等經(jīng)驗數(shù)據(jù)中,學習出不同工作負載下動態(tài)參數(shù)配置的能力,即將DBA的調(diào)優(yōu)經(jīng)驗轉(zhuǎn)化為機器學習模型,從而更好地適應快速變化的工作負載,動態(tài)地為數(shù)據(jù)庫系統(tǒng)推薦最佳的系統(tǒng)配置.

    綜上,為借助機器學習算法的性能優(yōu)勢,同時利用現(xiàn)代加速硬件的特性,探索在數(shù)據(jù)庫系統(tǒng)實現(xiàn)中引入機器學習技術(shù),主要體現(xiàn)在2方面:一方面,借助機器學習的加速算法、現(xiàn)代加速器,提高數(shù)據(jù)庫系統(tǒng)的處理速度,改善數(shù)據(jù)庫系統(tǒng)的性能瓶頸;另一方面,借助機器學習的智能來提高數(shù)據(jù)庫系統(tǒng)的易用性,使得數(shù)據(jù)庫系統(tǒng)面對多樣化的工作負載能夠更加智能地動態(tài)調(diào)整數(shù)據(jù)庫系統(tǒng)的配置,即借助機器學習技術(shù)實現(xiàn)數(shù)據(jù)庫系統(tǒng)的自動化.

    1 問題定義與研究框架

    將機器學習的思想應用于數(shù)據(jù)庫系統(tǒng)設(shè)計與實現(xiàn)中,已經(jīng)取得較好的研究成果.數(shù)據(jù)庫系統(tǒng)中引入機器學習技術(shù)已成為當下的研究熱點.本節(jié)首先分析數(shù)據(jù)庫系統(tǒng)目前面臨的挑戰(zhàn);接著闡述機器學習化數(shù)據(jù)庫系統(tǒng)研究問題的定義;最后給出機器學習化數(shù)據(jù)庫系統(tǒng)的研究框架,并對當前的研究工作進行梳理.

    1.1 數(shù)據(jù)庫系統(tǒng)面臨的挑戰(zhàn)

    數(shù)據(jù)庫系統(tǒng)已經(jīng)在行業(yè)中成熟而穩(wěn)定地運行,而大數(shù)據(jù)時代為數(shù)據(jù)庫系統(tǒng)提出了更高的要求.數(shù)據(jù)量增大,要求數(shù)據(jù)庫系統(tǒng)能夠具備更快的查詢速度、更高的系統(tǒng)吞吐量.數(shù)據(jù)的類型模式不斷增多,使得查詢工作負載具有快速而又多樣化的特點,要求數(shù)據(jù)庫系統(tǒng)能夠具備快速、準確地響應工作負載動態(tài)變化的能力.接下來從索引結(jié)構(gòu)、查詢優(yōu)化、參數(shù)配置來舉例說明數(shù)據(jù)庫系統(tǒng)目前面臨的挑戰(zhàn).

    索引結(jié)構(gòu)作為一種存取模式,對于數(shù)據(jù)的高效訪問至關(guān)重要[10],并且索引結(jié)構(gòu)能夠滿足不同訪問的需求.例如B樹索引最適合范圍查詢,Hash索引適合單個關(guān)鍵字的查找.在過去的幾十年中,索引被廣泛優(yōu)化,但大多集中在提高內(nèi)存、緩存或CPU執(zhí)行效率.而傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)已進入瓶頸期,優(yōu)化空間收窄.查詢最基本的操作是順序掃描,其不能夠充分利用現(xiàn)代加速器的高并行處理能力.另一方面,傳統(tǒng)的索引結(jié)構(gòu)是通用的數(shù)據(jù)結(jié)構(gòu),并沒有利用數(shù)據(jù)的分布,現(xiàn)實數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)通常具有常見的模式,因此若已知數(shù)據(jù)的分布則幾乎可以優(yōu)化所有的數(shù)據(jù)結(jié)構(gòu)[3].

    當下數(shù)據(jù)庫系統(tǒng)的規(guī)模不斷增大,復雜性增加,處理的數(shù)據(jù)量越來越大,類型也不斷豐富.由此帶來了查詢工作負載快速而又多樣性的變化.查詢優(yōu)化和系統(tǒng)參數(shù)配置一直是數(shù)據(jù)庫系統(tǒng)需要解決的問題[7,11].傳統(tǒng)的數(shù)據(jù)庫系統(tǒng),需要大量的時間對特定工作負載進行調(diào)優(yōu).這些調(diào)優(yōu)基于有經(jīng)驗的DBA,而當下工作負載快速而又多樣性的變化使得數(shù)據(jù)庫系統(tǒng)的適應能力降低.面對不同工作負載,數(shù)據(jù)庫系統(tǒng)的性能差異較大,不能動態(tài)地調(diào)整為最佳運行時狀態(tài).

    機器學習為解決這些問題帶來了機會.一方面,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)問題,例如索引結(jié)構(gòu)用于建立查找鍵和數(shù)據(jù)記錄之間的關(guān)聯(lián)[3],對應關(guān)鍵字與位置之間的映射.這些數(shù)據(jù)之間關(guān)鍵字與存儲位置的映射關(guān)系,可以作為機器學習的訓練集,為機器學習模型的訓練提供了先決條件,因此機器學習在數(shù)據(jù)庫系統(tǒng)中的應用具有天然的數(shù)據(jù)優(yōu)勢.同時,將索引結(jié)構(gòu)轉(zhuǎn)化為機器學習模型后,可以進一步借助硬件加速器來提高數(shù)據(jù)庫系統(tǒng)的處理速度.

    另一方面,數(shù)據(jù)庫管理系統(tǒng)[11]存在著參數(shù)調(diào)優(yōu)、工作負載預測等問題,而機器學習善于利用已有的數(shù)據(jù)進行預測,這為機器學習在數(shù)據(jù)庫系統(tǒng)中的應用帶來了切入點.查詢優(yōu)化、參數(shù)配置長久以來積累了大量DBA的調(diào)優(yōu)經(jīng)驗.機器學習能夠從查詢優(yōu)化、參數(shù)配置等的調(diào)優(yōu)數(shù)據(jù)中學習到模式,進行快速預測.從而面對快速多變的工作負載,動態(tài)地為數(shù)據(jù)庫系統(tǒng)提供最佳的運行配置,使得數(shù)據(jù)庫系統(tǒng)變得更加自動化.機器學習為數(shù)據(jù)庫系統(tǒng)的性能優(yōu)化提供了機會.

    綜上,設(shè)計并實現(xiàn)機器學習化數(shù)據(jù)庫系統(tǒng)具有重要研究意義.學術(shù)界如CMU,MIT,與工業(yè)界如Oracle,IBM,HUAWEI等,都在不斷探索機器學習化數(shù)據(jù)庫系統(tǒng)的研究.

    1.2 問題定義

    機器學習化數(shù)據(jù)庫系統(tǒng)泛指結(jié)合機器學習的方法、模型來替換數(shù)據(jù)庫系統(tǒng)的內(nèi)部組件,或?qū)C器學習的算法引入到數(shù)據(jù)庫系統(tǒng)設(shè)計中.借助機器學習的加速算法、硬件加速平臺來幫助數(shù)據(jù)庫系統(tǒng)實現(xiàn)性能優(yōu)化,從而突破數(shù)據(jù)庫系統(tǒng)性能瓶頸.

    機器學習,特別是深度學習在傳統(tǒng)上被認為計算開銷巨大、耗費時間,但是隨著下一代硬件的不斷發(fā)展,例如GPU,TPU等加速硬件的出現(xiàn),這些看似是障礙的限制正在逐步地消除,深度學習用于數(shù)據(jù)庫系統(tǒng)不僅在理論上,而且在實踐上也變得越來越有可能.數(shù)據(jù)庫系統(tǒng)和機器學習都是面向數(shù)據(jù)驅(qū)動的應用[11],由此看來,2個領(lǐng)域的結(jié)合將極大地推動大數(shù)據(jù)驅(qū)動應用領(lǐng)域的發(fā)展.

    機器學習化的數(shù)據(jù)庫系統(tǒng)研究帶來了機遇,同時也帶來了挑戰(zhàn).例如機器學習化的B樹索引查詢速度比傳統(tǒng)B樹索引快1.5~3倍,機器學習化的布隆過濾器比傳統(tǒng)布隆過濾器的誤報率更低[3].但機器學習模型的計算需要時間,當插入新數(shù)據(jù)時模型的重訓練問題需要考慮.再者,基于深度學習的查詢優(yōu)化模型在10 000次訓練后可以超過傳統(tǒng)查詢優(yōu)化器的優(yōu)化性能[12].但深度學習的模型需要大量訓練數(shù)據(jù),為達到模型收斂,需要進行大量多次的訓練,因此在前期的優(yōu)化效果較差.

    當前的機器學習化研究工作主要針對數(shù)據(jù)庫系統(tǒng)的某一組件,采用機器學習化的模型來替換或輔助數(shù)據(jù)庫系統(tǒng)組件的操作.而面對龐大的數(shù)據(jù)庫管理系統(tǒng),如果每一組件都附著一個機器學習化的模型,對于數(shù)據(jù)庫系統(tǒng)來說是極大的累贅.眾所周知,機器學習的訓練需要時間和資源,必然會增加數(shù)據(jù)庫系統(tǒng)的能耗.并且這些模型的重訓練、模型更新、模型的統(tǒng)一管理等都值得進一步研究和探討.在數(shù)據(jù)庫系統(tǒng)中結(jié)合機器學習,需要探索這2種技術(shù)領(lǐng)域的差異,并且必然需要付出極大的努力來解決在機器學習化數(shù)據(jù)庫系統(tǒng)研究進程中的這些差異[1,13].這些問題都促使著數(shù)據(jù)庫領(lǐng)域思考數(shù)據(jù)庫系統(tǒng)的發(fā)展以何種方式來促進機器學習與數(shù)據(jù)庫系統(tǒng)的交叉.

    由此看來,迎接機器學習化數(shù)據(jù)庫系統(tǒng)發(fā)展機遇的同時,也需要面臨新的研究問題和挑戰(zhàn).數(shù)據(jù)庫管理系統(tǒng)經(jīng)過幾十年的發(fā)展,已經(jīng)具備自己的獨有特點,因此機器學習算法在數(shù)據(jù)庫系統(tǒng)中的應用不是簡單的算法搬移,需要針對數(shù)據(jù)庫系統(tǒng)的特點和不同的應用場景進行設(shè)計.機器學習化的數(shù)據(jù)庫系統(tǒng)研究需要探索并不斷解決數(shù)據(jù)庫系統(tǒng)和機器學習領(lǐng)域的差異,即解決機器學習技術(shù)應用于數(shù)據(jù)庫系統(tǒng)的適配性問題.這對數(shù)據(jù)庫領(lǐng)域的研究者提出了新的要求,不僅需要深入了解數(shù)據(jù)庫系統(tǒng),同時需要掌握機器學習技術(shù)的靈活應用,這些都需要數(shù)據(jù)庫研究者進一步探索.

    現(xiàn)階段,在數(shù)據(jù)庫領(lǐng)域已經(jīng)開始探索利用機器學習來改善性能,機器學習與數(shù)據(jù)庫系統(tǒng)的結(jié)合作為一個新的研究領(lǐng)域,受到大家的廣泛關(guān)注.

    1.3 研究框架

    數(shù)據(jù)庫系統(tǒng)與機器學習結(jié)合的概念在文獻[13]中被進一步提出后,機器學習化數(shù)據(jù)庫系統(tǒng)的研究逐漸成為數(shù)據(jù)庫領(lǐng)域廣受關(guān)注的研究方向.

    數(shù)據(jù)庫系統(tǒng)主要包含底層組件、核心組件以及應用層[10,14-15].底層組件主要包括存儲在底層的數(shù)據(jù)庫數(shù)據(jù)、數(shù)據(jù)庫管理系統(tǒng)的配置以及針對數(shù)據(jù)庫系統(tǒng)的硬件加速方案等.核心層組件主要包括查詢處理、事務處理、存儲管理等,其中存儲管理涉及緩沖區(qū)管理、內(nèi)外存交換、索引等存取模式的管理等.應用層用于用戶應用程序與數(shù)據(jù)庫之間的交互.

    圖2為數(shù)據(jù)庫系統(tǒng)的整體架構(gòu),同時表明目前機器學習化數(shù)據(jù)庫系統(tǒng)研究工作的分布和研究熱度.其中白色框表示目前尚未研究基于該組件的機器學習化.本文針對搜集到的文獻資料,在分析歸納的基礎(chǔ)上得出2017年至2019年2月機器學習化數(shù)據(jù)庫系統(tǒng)研究現(xiàn)狀的分布.在近2年的36篇文獻中,針對數(shù)據(jù)庫系統(tǒng)參數(shù)配置的研究占到36%(13篇);機器學習化的存儲管理占28%(10篇);針對查詢優(yōu)化機器學習化研究占19%(7篇);其他組件的機器學習化研究占17%(6篇),主要為應用層和硬件加速解決方案.

    從圖2可以看出,機器學習化數(shù)據(jù)庫系統(tǒng)雖然是目前廣受關(guān)注的研究領(lǐng)域,但傳統(tǒng)數(shù)據(jù)庫系統(tǒng)作為一個發(fā)展成熟的領(lǐng)域,其包含的組件數(shù)目龐大.目前的機器學習化研究只針對數(shù)據(jù)庫系統(tǒng)中的部分模塊,數(shù)據(jù)庫領(lǐng)域仍然有很多方面尚未被涉及.研究最多的領(lǐng)域為機器學習化的參數(shù)配置,結(jié)合機器學習技術(shù)對數(shù)據(jù)庫系統(tǒng)參數(shù)進行配置要實現(xiàn)的目標是自動化數(shù)據(jù)庫管理系統(tǒng).本文主要從存儲管理、查詢優(yōu)化、自動化數(shù)據(jù)庫管理系統(tǒng)3個方面對數(shù)據(jù)庫系統(tǒng)的機器學習化研究進行闡述.

    Fig. 2 Heat distribution of research on learned database systems圖2 機器學習化數(shù)據(jù)庫系統(tǒng)研究熱度分布

    1) 存儲管理的機器學習化研究.存儲管理[10]主要實現(xiàn)的功能有:緩沖區(qū)管理、內(nèi)外存交換、外存管理,同時包含對存取模式、存取路徑的管理.主存和緩沖區(qū)管理器作為數(shù)據(jù)庫系統(tǒng)不可缺少的組成部件,頁面置換策略、地址轉(zhuǎn)換等已開始機器學習化研究的探索[16-17].作為數(shù)據(jù)庫系統(tǒng)的重要存取模式,在索引文件記錄管理方面研究最多的是索引結(jié)構(gòu),索引作為數(shù)據(jù)庫系統(tǒng)中重要的支持對數(shù)據(jù)進行高效存取的數(shù)據(jù)結(jié)構(gòu),建立了查找關(guān)鍵字與數(shù)據(jù)記錄的關(guān)聯(lián).Kraska等人[3]提出機器學習化的索引結(jié)構(gòu)是這一領(lǐng)域的開創(chuàng)性研究.本文第2節(jié)將介紹存儲管理的機器學習化研究.

    2) 查詢優(yōu)化的機器學習化研究.查詢處理是數(shù)據(jù)庫管理系統(tǒng)(database management system, DBMS)中一個重要的部件集合,能夠?qū)⒂脩舻牟樵兒蛿?shù)據(jù)修改等操作命令通過語法分析,并進行物理優(yōu)化、邏輯優(yōu)化等操作,轉(zhuǎn)換為數(shù)據(jù)庫系統(tǒng)的操作序列——查詢計劃,最終提交給數(shù)據(jù)庫系統(tǒng)執(zhí)行引擎來執(zhí)行這些操作[10,15].查詢處理目前的機器學習化研究主要集中在查詢優(yōu)化方面.查詢編譯、查詢算子構(gòu)造、查詢執(zhí)行等目前尚未進行機器學習化研究.根據(jù)查詢優(yōu)化器架構(gòu)可以將查詢優(yōu)化的機器學習化研究分為3個方面,分別為連接次序枚舉、基數(shù)估計、代價模型.本文第3節(jié)將對查詢優(yōu)化的機器學習化研究進行詳細介紹.

    3) 自動化數(shù)據(jù)庫管理系統(tǒng)的研究.數(shù)據(jù)庫系統(tǒng)的參數(shù)配置對于數(shù)據(jù)庫系統(tǒng)的性能十分重要[8,18],參數(shù)優(yōu)化是任何數(shù)據(jù)密集型應用程序必須考慮的方面之一.數(shù)據(jù)庫領(lǐng)域的參數(shù)調(diào)優(yōu)是長久以來的研究問題[8,18-19],因此該研究方向借助機器學習的方法開展較早,數(shù)據(jù)庫領(lǐng)域無論是學術(shù)界還是工業(yè)界都在探索實現(xiàn)數(shù)據(jù)庫系統(tǒng)的自動化管理.數(shù)據(jù)庫系統(tǒng)真正地自動化管理應當是系統(tǒng)的所有方面都由一個集成的規(guī)劃組件來控制,而不是系統(tǒng)中的每一個組件配備一個管理工具.機器學習的發(fā)展、硬件的改善以及自適應數(shù)據(jù)庫架構(gòu)的發(fā)展使得自動化管理變得更加可能.Pavlo等人提出自主數(shù)據(jù)庫管理系統(tǒng)(self-driving database management systems)的概念[20],并構(gòu)建了第1個自主數(shù)據(jù)庫系統(tǒng)Peloton[21].本文第4節(jié)將對自動化數(shù)據(jù)庫管理系統(tǒng)的研究進行闡述.

    4) 其他組件的機器學習化研究.數(shù)據(jù)庫系統(tǒng)應用層也已經(jīng)開始機器學習化的探索,例如近似查詢處理(approximate query processing, AQP)[22]、數(shù)據(jù)探索[23-26]等領(lǐng)域.Park等人[22]提出數(shù)據(jù)庫學習(database learning)的概念,即如果存在極其準確的關(guān)于底層數(shù)據(jù)的統(tǒng)計模型,那么不需要訪問底層數(shù)據(jù),只需要模型即可.并將database learning與AQP結(jié)合,從過去的近似查詢結(jié)果中學習,用于改善對底層數(shù)據(jù)的后驗知識.NNCubes[23]將神經(jīng)網(wǎng)絡作為數(shù)據(jù)立方體技術(shù)的替代模型.Cumin等人[24]采用基于決策樹的機器學習方法來自動地構(gòu)建查詢重寫.Guilly等人[25]基于聚類和二叉決策樹的機器學習算法提出針對數(shù)據(jù)探索的SQL查詢完成算法(SQL query completion).Zolaktaf[26]采用特定領(lǐng)域的推薦系統(tǒng)來幫助關(guān)系數(shù)據(jù)庫環(huán)境下的數(shù)據(jù)探索和查詢構(gòu)建.Martins[27]提出一種半自動化的方法——智能符號機器(intelligent semiotic machine, iSM),該方法考慮了用戶的角度和目的,從而交互地生成定制查詢,促進個性化的數(shù)據(jù)探索.應用層位于數(shù)據(jù)庫系統(tǒng)的外層,本文不做過多介紹.

    用硬件來加速數(shù)據(jù)庫系統(tǒng)也是比較熱的研究方向,基于GPU加速的數(shù)據(jù)庫系統(tǒng)層出不窮,例如OmniSci Core[28],Kinetica[29],BlazingSQL[30],Blazegraph[31],Pg-strom[32]等.同時基于可編程門陣列(field programmable gate arrays, FPGA)的硬件加速解決方案也有很多研究成果,如Centaur[33],LINQits[34]等.上述基于FPGA的研究工作大多集中在加速DBMS的操作上,Mahajan等人[35]邁出了應用FPGA來加速數(shù)據(jù)庫內(nèi)高級分析解決方案的第1步.

    機器學習算法不斷改進、新硬件設(shè)計不斷出現(xiàn),這些領(lǐng)域的進步都推動了數(shù)據(jù)革命.可編程加速器、現(xiàn)代加速器等正在進入數(shù)據(jù)驅(qū)動的應用領(lǐng)域[36-37],同時人工智能芯片的研究[38-39]也不斷深入.在數(shù)據(jù)庫領(lǐng)域?qū)崿F(xiàn)更好的硬件加速解決方案,促進機器學習化數(shù)據(jù)庫系統(tǒng)的研究,以搭上現(xiàn)代硬件發(fā)展的快車,是值得未來研究的課題之一.

    任何一個查詢或修改動作都可視為事務處理,事務處理包括并發(fā)控制、日志恢復、事務管理等,對數(shù)據(jù)庫系統(tǒng)至關(guān)重要.作為數(shù)據(jù)庫系統(tǒng)核心組件之一的事務處理,目前尚未進行機器學習化研究.事務是組成一組的若干個查詢和其他動作[10],是獨立的原子單位,事務的執(zhí)行需滿足4個特性:原子性、一致性、隔離性、持久性.事務不涉及對數(shù)據(jù)的直接存取,同時事務的執(zhí)行過程要求可追溯、可解釋.機器學習化的模型建立在數(shù)據(jù)基礎(chǔ)之上;某些機器學習模型尤其深度學習模型的可解釋性較差.因此事務處理模塊的研究不具備直接應用機器學習技術(shù)的天然條件——數(shù)據(jù).針對事務處理模塊中的并發(fā)控制、故障恢復等,是否可以從整體考慮,提前預測超時、死鎖等影響系統(tǒng)執(zhí)行性能的瓶頸,從而進行優(yōu)化?對事務處理、并發(fā)控制、故障恢復等進行基于機器學習模型的優(yōu)化研究,有待進一步思考.同時針對機器學習化數(shù)據(jù)庫系統(tǒng)的可解釋性研究也值得探討.

    數(shù)據(jù)庫管理系統(tǒng)作為成熟的商業(yè)化產(chǎn)品,是一個龐大的研究領(lǐng)域.現(xiàn)代數(shù)據(jù)庫系統(tǒng)已經(jīng)超越了傳統(tǒng)的關(guān)系型DBMS研究領(lǐng)域,包括在數(shù)據(jù)庫系統(tǒng)之上構(gòu)建搜索引擎,進行數(shù)據(jù)集成、數(shù)據(jù)挖掘等復雜應用程序.機器學習化的數(shù)據(jù)庫系統(tǒng)同樣也面臨著龐大的研究領(lǐng)域,就目前的研究工作來看,僅僅是整個數(shù)據(jù)庫領(lǐng)域中極小的部分,未來需要探索的方面還有很多.

    本文針對當前機器學習化數(shù)據(jù)庫系統(tǒng)已有的研究工作進行歸納總結(jié),從3個角度對機器學習化數(shù)據(jù)庫系統(tǒng)的研究工作進行劃分:1)存儲管理的機器學習化研究,主要從索引結(jié)構(gòu)和緩沖區(qū)管理2方面來介紹;2)查詢優(yōu)化的機器學習化研究;3)自動化數(shù)據(jù)庫管理系統(tǒng)的研究.

    2 機器學習化的存儲管理

    存儲管理主要實現(xiàn)的功能:緩沖區(qū)管理、內(nèi)外存交換、外存管理,同時包含對存取模式、存取路徑的管理[17].索引結(jié)構(gòu)作為數(shù)據(jù)庫系統(tǒng)中重要的存取模式,支持對數(shù)據(jù)進行高效存取,建立了查找關(guān)鍵字與數(shù)據(jù)記錄之間的關(guān)聯(lián).基于索引結(jié)構(gòu)的機器學習化研究工作層出不窮.主存和緩沖區(qū)管理器作為數(shù)據(jù)庫系統(tǒng)不可缺少的組成部件,頁面置換策略、地址轉(zhuǎn)換等已經(jīng)開始機器學習化的探索[16-17].本節(jié)從索引結(jié)構(gòu)和緩沖區(qū)管理2個方面對機器學習化的存儲管理進行介紹.

    2.1 機器學習化的索引結(jié)構(gòu)

    在數(shù)據(jù)庫系統(tǒng)中,有效的數(shù)據(jù)訪問查詢離不開索引結(jié)構(gòu).數(shù)據(jù)庫系統(tǒng)中存在多種索引結(jié)構(gòu)來滿足不同的訪問模式需求[10,14].B樹索引最適用于范圍請求;對于單個關(guān)鍵字的查找,Hash索引的效果最好;布隆過濾器適用于判斷某個記錄是否存在.

    索引作為一種存取模式,對數(shù)據(jù)庫系統(tǒng)具有重要作用,能夠加速一個或多個屬性上特定值的查詢[10,40].圖3為傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的索引結(jié)構(gòu)[10,40].索引是一種數(shù)據(jù)結(jié)構(gòu),能夠以一個或多個字段的值作為輸入,并“迅速地”找到其對應的數(shù)據(jù)項——具有該值的記錄.

    Fig. 3 The traditional index structure of database圖3 傳統(tǒng)數(shù)據(jù)庫索引結(jié)構(gòu)

    索引結(jié)構(gòu)對于數(shù)據(jù)庫系統(tǒng)至關(guān)重要,因此對于索引結(jié)構(gòu)的優(yōu)化一直是數(shù)據(jù)庫領(lǐng)域的研究重點.傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的索引結(jié)構(gòu)是通用型的數(shù)據(jù)結(jié)構(gòu),對底層數(shù)據(jù)的分布不采取任何假設(shè),而現(xiàn)實中很多場景下數(shù)據(jù)的分布具有規(guī)律性,因此可以使用機器學習方法對索引結(jié)構(gòu)進行建模[3].在索引結(jié)構(gòu)中,數(shù)據(jù)表中所有的〈key,position〉對,自然地構(gòu)成了機器學習中的訓練數(shù)據(jù),如果我們可以知道數(shù)據(jù)的準確分布,那么幾乎可以優(yōu)化所有的索引結(jié)構(gòu).Kraska等人[3]為該領(lǐng)域的研究做出開創(chuàng)性工作,機器學習方法通過學習來反映數(shù)據(jù)的模式,因此使用學習到的模型來擬合索引結(jié)構(gòu),提出了學習化的索引結(jié)構(gòu)(learned index structures).

    Kraska等人[3]將索引結(jié)構(gòu)視為模型,B樹索引視為查找關(guān)鍵字在有序數(shù)組中的位置;Hash索引模型是在一組無序數(shù)據(jù)中查找關(guān)鍵字的位置;位圖索引模型返回在一組數(shù)據(jù)中是否存在某查找關(guān)鍵字.學習化索引的關(guān)鍵在于訓練一個模型,能夠?qū)W習到關(guān)鍵字的排序位置或結(jié)構(gòu),基于模型來有效地預測數(shù)據(jù)記錄的位置和存在性.

    Mitzenmacher在學習化索引[3]的基礎(chǔ)上,針對學習化的布隆過濾器在理論上構(gòu)建了更加形式化的模型[42].在正類實例集合P和負類實例集合N上的學習化布隆過濾器包含:1)帶有閾值τ的函數(shù)f:U→[0,1];2)一個相關(guān)的標準布隆過濾器B,稱之為后備過濾器(backup filter).其中U表示全體可能的查詢關(guān)鍵字集合,理想狀態(tài)下,U=P∪N.后備過濾器用于處理集合{z|f(z)<τ}中的關(guān)鍵字.對于一個查詢y,學習化布隆過濾器返回“真”的條件為:1)f(y)≥τ或2)f(y)<τ但后備過濾器返回y∈K,否則學習化的布隆過濾器返回y?K.該研究工作指出學習化布隆過濾器模型的優(yōu)勢以及該模型不適用的場景.在后續(xù)的研究工作[43]中,為同時減少假正類和假負類,提出采用“夾心布隆過濾器”,即在學習化函數(shù)f的前后分別配有一個傳統(tǒng)的布隆過濾器.

    另外內(nèi)存索引的創(chuàng)建或修改是十分耗時的過程,通常情況下,當參數(shù)更改時支持索引的數(shù)據(jù)結(jié)構(gòu)通常需要從頭創(chuàng)建.Darshana等人[44]提出自適應索引(self-adapting index, SAI)的方法,在后臺不斷地進行動態(tài)小規(guī)模增量重組,是一種“即時”索引重組方式,避免在重組索引時,由索引不可用帶來的數(shù)據(jù)庫性能的下降問題.目前也已經(jīng)開始探索將學習化的索引用于倒排索引.Oosterhuis[45]探索將學習化索引結(jié)構(gòu)用于索引壓縮的潛力,以及應用學習化索引來支持基于布爾交叉的搜索;Pavo[46]是基于RNN的倒排索引,利用分層神經(jīng)網(wǎng)絡來模擬Hash函數(shù),該工作還得出一個有趣的結(jié)論:同時構(gòu)建有監(jiān)督和無監(jiān)督的學習策略,實驗結(jié)果證明無監(jiān)督的學習策略更好.在目前大數(shù)據(jù)時代,如何設(shè)計有效靈活的數(shù)據(jù)組織方式改善傳統(tǒng)倒排表的空間利用率一直是需要解決的問題.學習化的模型應用于倒排索引方面具有巨大的潛力,考慮不同的數(shù)據(jù)分布、探索更智能的倒排索引,是未來有前途的研究領(lǐng)域[46].

    依據(jù)目前研究機器學習化索引結(jié)構(gòu)的文獻,表1針對學習化的索引與傳統(tǒng)的索引結(jié)構(gòu)進行比較.

    Table 1 Comparison Between Learned Index and Traditional Index表1 學習化索引與傳統(tǒng)索引比較及研究工作

    學習化索引使用簡單的神經(jīng)網(wǎng)絡來替代數(shù)據(jù)庫系統(tǒng)中傳統(tǒng)的索引結(jié)構(gòu).開始了通過機器學習方法來構(gòu)建學習化模型,并用來替換數(shù)據(jù)庫管理系統(tǒng)核心組件的研究工作.但目前學習化索引結(jié)構(gòu)的研究工作通常假設(shè)數(shù)據(jù)庫系統(tǒng)中底層數(shù)據(jù)分布是靜態(tài)的,即針對只讀型(read-only)數(shù)據(jù)庫系統(tǒng),不支持數(shù)據(jù)的更新.當?shù)讓訑?shù)據(jù)分布發(fā)生變化時,學習化的模型需要重新訓練.隨著硬件資源的不斷發(fā)展、計算能力的不斷提升,未來這一思想將會對數(shù)據(jù)庫系統(tǒng)的設(shè)計產(chǎn)生深遠影響.同時該研究工作也帶來了新的研究問題:1)針對B樹索引結(jié)構(gòu)中頻繁插入、刪除或更新場景下的模型重訓練問題,需要進一步解決;2)針對布隆過濾器在訓練時數(shù)據(jù)庫中不存在負類數(shù)據(jù)的情形,需要進一步探討;3)針對Hash索引模型中使用模型預測的計算開銷相對傳統(tǒng)的Hash索引開銷較大,如何設(shè)計既避免沖突,同時又快速預測的學習化Hash函數(shù),值得進一步研究.

    2.2 機器學習化的緩沖區(qū)管理

    緩沖區(qū)管理,是當出現(xiàn)缺頁中斷時,如果有空閑頁,則直接讀入要訪問的頁面;如果不存在空閑頁,則采用緩沖區(qū)淘汰策略[40],進行頁的換出和換入操作.常用的頁面置換算法有:FIFO,LRU,ClOCK等.

    傳統(tǒng)的在線學習算法將決策制定封裝在不確定性下,為應對所有可能的未來事件提供了方法,并保證提供近似最優(yōu)的方案.而在機器學習中,使用從數(shù)據(jù)中發(fā)現(xiàn)的模式預測未來,通常是最小化誤差.因此Lykouris等人[16]提出將在線算法與機器學習預測相結(jié)合的通用框架——提供機器學習建議的在線模型(online with learned advice model, OLAM).采用機器學習模型來增強在線學習的能力,并將該方法用于傳統(tǒng)的緩存問題,為緩沖區(qū)制定淘汰策略,即具有機器學習建議的競爭性緩存.實驗證明,即便是使用簡單的預測器,Lykouris提出的算法相比LRU策略都有所改進.

    在緩沖區(qū)管理中,如何結(jié)合頁面的歷史使用情況以及預測到的工作負載,不斷收集新的頁面使用信息,同時反饋頁面置換的性能,預測哪些頁需要換入、哪些頁需要換出,從而進一步減少缺頁中斷,是未來值得研究的問題.

    為改進用戶體驗,許多現(xiàn)代數(shù)據(jù)中心的服務都在爭取更大的內(nèi)存容量,這給虛擬內(nèi)存子系統(tǒng)帶來了很大的壓力.大量的內(nèi)存數(shù)據(jù)集是許多服務器應用程序的主要特性之一,包括數(shù)據(jù)庫系統(tǒng)、鍵值存儲和數(shù)據(jù)分析框架.傳統(tǒng)的軟件和硬件虛擬內(nèi)存機制已經(jīng)受到限制,Margaritov等人在機器學習的推動下探索新的方法.受機器學習化索引[3]的啟發(fā),提出學習化的頁表索引(learned page table indexes)[17],是一種基于學習模型的神經(jīng)網(wǎng)絡地址轉(zhuǎn)換機制,同時該論文指出要進一步構(gòu)建神經(jīng)頁表索引器.

    在存儲管理方面的研究工作還有學習化的內(nèi)存存取模式[47],提出了基于長短期記憶網(wǎng)絡(long-short term memory, LSTM)的預取模型,將預取問題視為基于序列的預測問題,為計算機體系結(jié)構(gòu)的研究中嵌入機器學習方法開辟了新方向.目前對于計算機硬件體系結(jié)構(gòu)的機器學習化研究還較少.

    3 機器學習化的查詢優(yōu)化

    傳統(tǒng)的數(shù)據(jù)庫領(lǐng)域在查詢優(yōu)化方面已經(jīng)做了很多努力[47-48],查詢優(yōu)化是為計算關(guān)系表達式選擇最有效且代價最小的查詢計劃的過程.

    圖4為傳統(tǒng)的查詢優(yōu)化器架構(gòu)[48],首先枚舉所有可能的查詢計劃集合的部分子集,采用啟發(fā)式的規(guī)則進行基數(shù)估計,并輸入到代價模型中,選擇語義上相等但代價最小的執(zhí)行計劃.

    Fig. 4 The architecture of traditional query optimizer圖4 傳統(tǒng)查詢優(yōu)化器架構(gòu)

    根據(jù)查詢優(yōu)化器架構(gòu)可以將查詢優(yōu)化的機器學習化研究分為3個方面,分別為連接次序枚舉、基數(shù)估計、代價模型.因此本節(jié)從這3個方面闡述機器學習化查詢優(yōu)化的現(xiàn)有研究工作.

    3.1 機器學習化的連接次序枚舉

    在關(guān)系數(shù)據(jù)庫中,連接次序的選擇對于查詢性能具有重要影響[48],并且一直是數(shù)據(jù)庫系統(tǒng)中廣泛研究的問題之一.傳統(tǒng)的查詢優(yōu)化器通常使用靜態(tài)連接次序枚舉算法,這些算法不包含關(guān)于產(chǎn)生的查詢計劃質(zhì)量好與壞的反饋,因此優(yōu)化器通常會重復選擇同樣差的查詢計劃.連接次序選擇的主要挑戰(zhàn)是通過枚舉候選空間找到代價最小的連接次序,因此枚舉器需要在最小化枚舉候選空間的同時,能夠找到代價最小的連接次序.大多數(shù)數(shù)據(jù)庫系統(tǒng),由數(shù)據(jù)庫管理員來控制候選計劃空間的大小[47],例如只在左深連接子樹中選擇,或者在一段時間之后終止枚舉,在枚舉時一般采用動態(tài)規(guī)劃[47]或貪心算法[49].

    深度強化學習(deep reinforcement learning, DRL)[50]正在迅速改變著人工智能領(lǐng)域.深度強化學習能夠?qū)δP秃铜h(huán)境有更高層次的理解,使模型能夠?qū)W習更復雜的動態(tài)任務.Ortiz等人[51]探索將DRL用于解決查詢優(yōu)化的問題,通過訓練深度學習模型來預測查詢計劃的基數(shù)估計,主要解決查詢優(yōu)化領(lǐng)域的狀態(tài)表示和狀態(tài)轉(zhuǎn)換函數(shù)的構(gòu)造問題. Ortiz等人訓練模型來學習并逐步生成每一個子查詢中間結(jié)果的簡潔表示,模型以當前子查詢和新的操作符作為輸入,預測產(chǎn)生下一個子查詢的特性,該特性用于計算該子查詢的基數(shù).同時基于學習化的表示(learned representation),使用強化學習改進查詢計劃枚舉,將其視為一個馬爾可夫過程來逐步構(gòu)建查詢計劃.針對傳統(tǒng)查詢優(yōu)化器不能從先前經(jīng)驗中學習這一問題,Marcus等人[12]認為深度強化學習可用于改善此問題,基于人工神經(jīng)網(wǎng)絡的深度強化學習能夠整合反饋來自動改進查詢優(yōu)化器的決策.文獻[12]將深度強化學習用于連接次序枚舉,提出ReJOIN. ReJOIN只考慮連接次序問題,不執(zhí)行索引選擇、連接操作符選擇,這些都交給DBMS傳統(tǒng)優(yōu)化器的其他部分去執(zhí)行,因此ReJOIN不是端到端的查詢優(yōu)化器.ReJOIN將連接次序枚舉視為一個強化學習過程,通過神經(jīng)網(wǎng)絡來不斷地從反饋中學習,在ReJOIN中使用基于傳統(tǒng)優(yōu)化器的代價模型作為強化學習中的獎勵信號(reward signal).

    Marcus等人[52]在ReJOIN的基礎(chǔ)上,提出免調(diào)節(jié)(hand-free)的查詢優(yōu)化器,基于深度學習的方法,實現(xiàn)端到端的查詢優(yōu)化器.包含3種可行的深度學習查詢優(yōu)化框架:1)示范學習[53],訓練模型來模仿傳統(tǒng)的已經(jīng)調(diào)節(jié)好的查詢優(yōu)化器;2)引導式代價模型,初始使用傳統(tǒng)代價模型作為獎勵信號,并記錄查詢的執(zhí)行時間,當模型收斂后使用查詢時間作為獎勵信號;3)漸進式學習[54-55],將查詢優(yōu)化任務分解為較小的多個任務,通過劃分任務使得搜索空間變得可管理.由此看來Marcus等人提出的方法并非真正的“免調(diào)節(jié)”,示范學習、引導式代價模型、漸進式學習在一定程度上都依賴于已經(jīng)調(diào)節(jié)好的查詢優(yōu)化器或代價模型.類似的研究工作還有Krishnan等人[56]基于深度強化學習提出的查詢優(yōu)化器DQ.

    3.2 機器學習化的基數(shù)估計

    基數(shù)估計一般基于對數(shù)據(jù)的均勻性、一致性、獨立性等假設(shè),實際的數(shù)據(jù)集中這些假設(shè)大多不能成立.在大數(shù)據(jù)系統(tǒng)中,基數(shù)估計對于云共享基礎(chǔ)設(shè)施極為重要,例如谷歌的BigQuery、亞馬遜的Athena、微軟的Azure Data Lake等[57].云共享系統(tǒng)中,基數(shù)估計的不正確性不僅導致優(yōu)化性能差,還決定現(xiàn)代共享云基礎(chǔ)設(shè)施中所消耗的資源.基于機器學習的CARDLEARNER[57]比默認的基數(shù)估計器可精確高達5個數(shù)量級.CARDLEARNER從先前的作業(yè)執(zhí)行中學習基數(shù)估計模型,并使用模型來預測未來作業(yè)的基數(shù).該研究工作已經(jīng)集成到SCOPE查詢優(yōu)化器中.針對傳統(tǒng)數(shù)據(jù)庫的基數(shù)估計問題,Kiefer等人采用傳統(tǒng)的機器學習方法,構(gòu)建基于核密度估計(kernel density estimation, KDE)的基數(shù)估計模型[58-59],實現(xiàn)比現(xiàn)有方法更好的性能.Kipf等人[6]還提出學習化基數(shù)(learned cardinalities)的概念.采用神經(jīng)網(wǎng)絡,將基數(shù)估計視為一個有監(jiān)督的問題,將用戶查詢和該查詢的基數(shù)進行特征化作為模型輸入,模型輸出為基數(shù)的估計值.QuickSel[60]針對基于代價模型的查詢優(yōu)化器中估計查詢的選擇性問題,提出了選擇學習框架(selectivity learning framework).以上研究工作大多只考慮查詢優(yōu)化器的基數(shù)估計部分,其他任務留給傳統(tǒng)的優(yōu)化器執(zhí)行.目前基于機器學習的基數(shù)估計研究,已經(jīng)對數(shù)據(jù)庫的性能產(chǎn)生良好的影響,同時提供了新思路,未來值得探究更加合適的基于機器學習的新方法,具有較大的研究空間.

    3.3 機器學習化的代價模型

    在數(shù)據(jù)庫系統(tǒng)性能調(diào)優(yōu)過程,特別是查詢優(yōu)化過程中,代價預測模型對于優(yōu)化效果極為重要. 現(xiàn)有的研究大多依賴于對數(shù)據(jù)的簡單假設(shè),利用系統(tǒng)的統(tǒng)計信息,并沒有真正預測查詢的執(zhí)行時間.

    Ganapathi等人[61]提出使用機器學習來精確預測數(shù)據(jù)庫查詢的性能指標.在一組查詢的訓練集上發(fā)現(xiàn)查詢屬性和查詢性能指標之間的多元關(guān)聯(lián),并使用這些關(guān)聯(lián)的統(tǒng)計關(guān)系來預測新查詢的性能.該方法丟失了查詢計劃的結(jié)構(gòu)信息.畢里緣等人[62]針對查詢優(yōu)化器的查詢開銷預測問題,使用LSTM來預測查詢開銷,首先采用后序編碼將查詢語法樹轉(zhuǎn)換為一個長度為5的操作序列,將其輸入到LSTM網(wǎng)絡中,進行查詢開銷預測. 該方法以查詢計劃中的操作行為和實際運行的時間作為神經(jīng)網(wǎng)絡提取特征的來源.該模型最后輸出該查詢計劃的預測開銷序列,并且在實際執(zhí)行查詢計劃前,能夠產(chǎn)生對該計劃實際運行時間的預測.

    表2為針對現(xiàn)有機器學習化的查詢優(yōu)化研究工作的總結(jié),主要針對查詢優(yōu)化器中的3個部分:連接次序枚舉、基數(shù)估計、代價模型,同時也有一些工作是針對整體查詢優(yōu)化器進行優(yōu)化.

    機器學習化的查詢優(yōu)化器,基于深度強化學習,能夠從先前的錯誤中學習,自動改進查詢優(yōu)化器的決策,對數(shù)據(jù)庫系統(tǒng)的查詢優(yōu)化研究具有開創(chuàng)性的進步.在針對查詢優(yōu)化中代價預測的問題,以查詢計劃中的執(zhí)行時間為代價預測標準,值得進一步探討,后續(xù)依然有很多工作值得做.

    Table 2 Query Optimization with Machine Learning表2 機器學習化查詢優(yōu)化器

    未來機器學習化的查詢優(yōu)化對于數(shù)據(jù)庫系統(tǒng)的設(shè)計、性能提升都會產(chǎn)生深遠影響.同時該研究工作也帶來新的挑戰(zhàn):1)深度強化學習需要大量的訓練數(shù)據(jù),在訓練初期數(shù)據(jù)庫查詢優(yōu)化的性能很差;2)深度強化學習通常假設(shè)獎勵信號很容易獲得,而查詢優(yōu)化最本質(zhì)的性能指標是查詢延時,實際中計算代價太大;3)傳統(tǒng)的代價模型是建立在不實際的數(shù)據(jù)集特性假設(shè)之上的,不能夠真正反映查詢優(yōu)化的性能.以查詢計劃中的操作行為和實際運行的時間作為特征的來源,并以此來預測查詢代價,構(gòu)建以此為代價模型的學習化查詢優(yōu)化器值得進一步探討.因此針對數(shù)據(jù)庫系統(tǒng)的查詢優(yōu)化,結(jié)合深度強化學習等其他機器學習方法仍然有很多值得研究的工作.

    4 自動化數(shù)據(jù)庫管理系統(tǒng)

    在數(shù)據(jù)庫領(lǐng)域,參數(shù)的調(diào)優(yōu)是長久以來的研究問題,同時也是難題[18-19].參數(shù)配置主要面臨著3個難題:1)參數(shù)名稱不標準,不同的數(shù)據(jù)庫系統(tǒng)在同一個參數(shù)上可能具有不同的名稱;2)參數(shù)功能不獨立,改變一個參數(shù)會影響其他參數(shù)的配置性能;3)參數(shù)調(diào)優(yōu)適用范圍不具通用性,在一個應用上優(yōu)化好的參數(shù),在另一個系統(tǒng)上一般不適用[7].

    優(yōu)化DBMS的參數(shù)對系統(tǒng)性能至關(guān)重要.DBMS的默認配置通常差強人意,隨著數(shù)據(jù)庫系統(tǒng)的發(fā)展,現(xiàn)代DBMS擁有大量參數(shù)[63-65].數(shù)據(jù)庫系統(tǒng)和應用程序的規(guī)模不斷增大,復雜性不斷上升,良好的DBMS配置很多時候依賴于DBA所無法知道和預料的因素,優(yōu)化DBMS的參數(shù)已經(jīng)超過人類能力[7].

    實現(xiàn)數(shù)據(jù)庫系統(tǒng)的自動化管理是一個長期的研究過程.數(shù)據(jù)庫系統(tǒng)借鑒自動化、機器學習等方法來實現(xiàn)參數(shù)配置,已有很多探索.表3為自動化數(shù)據(jù)庫管理系統(tǒng)研究的3個階段及其主要特征,主要依據(jù)為這3個階段的研究工作以及文獻[66]的總結(jié).

    依據(jù)自動化數(shù)據(jù)庫系統(tǒng)研究的側(cè)重點不同,可以分為3個階段:自適應數(shù)據(jù)庫系統(tǒng),自調(diào)節(jié)數(shù)據(jù)庫系統(tǒng),以及云計算出現(xiàn)后的自主數(shù)據(jù)庫系統(tǒng)[66].

    本節(jié)介紹自動化數(shù)據(jù)庫管理系統(tǒng)(automatic database management system)近50年來的研究歷程.主要從云計算出現(xiàn)前后介紹自動化數(shù)據(jù)庫管理系統(tǒng)的研究.云計算出現(xiàn)后,由于云平臺的大規(guī)模和復雜性,使得數(shù)據(jù)庫系統(tǒng)的自動化研究更加迫切.

    Table 3 The Development History on Automatic Database Management System表3 自動化數(shù)據(jù)庫管理系統(tǒng)研究歷程

    4.1 自適應和自調(diào)節(jié)數(shù)據(jù)系統(tǒng)

    1970~1999期間,自適應數(shù)據(jù)庫(self-adaptive database)系統(tǒng)主要集中于數(shù)據(jù)庫系統(tǒng)的物理設(shè)計[66],尤其在索引選擇[67-68]、數(shù)據(jù)分割[69-70]方面.這些早期的工作奠定了現(xiàn)代數(shù)據(jù)庫系統(tǒng)調(diào)優(yōu)工作的基礎(chǔ):1)系統(tǒng)收集關(guān)于應用程序如何訪問數(shù)據(jù)的評價指標;2)根據(jù)代價模型搜索需要進行哪些更改來提高系統(tǒng)性能. Hammer等人提出在自適應數(shù)據(jù)庫系統(tǒng)中進行自動化索引選擇[67].數(shù)據(jù)庫自動化分區(qū)和數(shù)據(jù)放置的需求在20世紀90年代更加突出,出現(xiàn)分布式和并行數(shù)據(jù)庫,代表性研究工作有文獻[71],提出根據(jù)數(shù)據(jù)模式和工作負載特性生成最優(yōu)分區(qū)策略的集成數(shù)據(jù)放置算法.

    針對自調(diào)節(jié)數(shù)據(jù)庫(self-tuning database)系統(tǒng)的研究集中在1990~2009年,是自動化數(shù)據(jù)庫研究的第2個浪潮.Self-Tuning數(shù)據(jù)庫系統(tǒng)[72],構(gòu)建用于幫助數(shù)據(jù)庫管理員的咨詢工具,針對不同的工作負載,選擇最優(yōu)的索引、物化視圖、分區(qū)模式.代表性的系統(tǒng)有微軟的AutoAdmin[73]、IBM的DB2 Designer[74]等.

    21世紀初同時也開始了針對自動化配置參數(shù)調(diào)優(yōu)的研究.幾乎所有的數(shù)據(jù)庫供應商都擁有自己的參數(shù)調(diào)優(yōu)工具[46,75].這些都依賴于數(shù)據(jù)庫管理員來決定這些優(yōu)化是否正確并且何時部署這些配置.代表性的研究工作有IBM為DB2構(gòu)建自動化組件(autonomic components),例如LEO[76],SASH[77]等.

    在自動化調(diào)優(yōu)DBMS參數(shù)方面已有較多研究工作.Narayanan等人[78]提出資源顧問(resource advisor),該方法針對于SQL Server,基于細粒度、低開銷的數(shù)據(jù)庫性能追蹤,能夠自動回答資源的“假設(shè)”(what-if)問題,同時準確地預測聯(lián)機事務處理(online transaction processing, OLTP)工作負載性能的變化,能夠更好地理解系統(tǒng)性能. Dias等人[63]提供一種執(zhí)行自動化性能診斷和調(diào)優(yōu)的方法,設(shè)計了自動數(shù)據(jù)庫監(jiān)視器(automatic database diagnostic monitor, ADDM),來自動診斷影響數(shù)據(jù)庫總吞吐量的瓶頸,提供可操作的建議來緩解瓶頸,并應用于Oracle 10g[79]中.Sullivan等人[80]使用被稱為影響圖(influence diagram)的概率推理模型來實現(xiàn)有效的自動化軟件調(diào)優(yōu)方法.Tran等人[81]提出一種基于緩沖區(qū)丟失方程的緩沖區(qū)優(yōu)化方法,將可用數(shù)據(jù)與丟失方程擬合進行優(yōu)化計算. Duan等人[82]提出自動化推薦數(shù)據(jù)庫配置參數(shù)的工具iTuned,結(jié)合自適應采樣技術(shù)使用有計劃的實驗來發(fā)現(xiàn)影響較大和性能高的參數(shù)進行設(shè)置.

    以上這些自動化參數(shù)調(diào)優(yōu)工具大都存在缺陷,導致其不能夠適用于一般用途的數(shù)據(jù)庫系統(tǒng)應用程序.大多是由數(shù)據(jù)庫供應商提供,只針對特定的數(shù)據(jù)庫系統(tǒng),少部分工具適用于多個數(shù)據(jù)庫系統(tǒng)但依然需要人工手動配置的步驟.例如需要映射配置參數(shù)之間的關(guān)系[80]、需要引導訓練的過程[81]、需要部署數(shù)據(jù)庫的第2個副本[82]等.并且這些工具都獨立地檢查每個DBMS的部署,不能從先前的參數(shù)調(diào)優(yōu)工作中獲取經(jīng)驗,因此每次參數(shù)配置工作都耗費大量的時間和資源.

    2010~2019年的早期,伴隨著云計算的出現(xiàn),由于云平臺的大規(guī)模和復雜性[83],針對數(shù)據(jù)庫系統(tǒng)的自動化研究更加迫切.在此期間,云服務提供商開發(fā)自定義工具來部署數(shù)據(jù)庫系統(tǒng).例如,微軟的Azure服務模型利用DBMS容器的資源從而自動調(diào)整資源的分配[84],以滿足服務質(zhì)量和資源預算約束.

    4.2 自主數(shù)據(jù)庫系統(tǒng)

    卡耐基梅隆大學的Pavlo教授指出,現(xiàn)在是自主數(shù)據(jù)庫(self-driving database)的時代,并指出一個真正的自主數(shù)據(jù)庫管理系統(tǒng)[66]應當具備3方面能力:1)自主地決定采用何種動作來對系統(tǒng)進行優(yōu)化;2)自主決定何時部署優(yōu)化動作;3)自主地從優(yōu)化動作與性能改善中學習.所有的能力應該都不需要DBA的交互,自主數(shù)據(jù)庫可稱為自動化數(shù)據(jù)庫系統(tǒng)發(fā)展的第3個階段.

    自適應和自調(diào)節(jié)數(shù)據(jù)庫系統(tǒng)的研究工作不能稱之為完整的自動化數(shù)據(jù)庫管理系統(tǒng)[21],原因有3方面:1)先前的自動化工具都是作為數(shù)據(jù)庫系統(tǒng)的外部組件使用;2)這些組件在數(shù)據(jù)庫系統(tǒng)發(fā)生問題時給予DBA調(diào)優(yōu)建議,最終需要DBA來決定是否采納建議,并決定何時部署調(diào)優(yōu)動作;3)這些工具在調(diào)節(jié)時,對數(shù)據(jù)庫系統(tǒng)的各個方面沒有整體的考慮,往往僅考慮數(shù)據(jù)庫系統(tǒng)性能的某一方面.即便是這些系統(tǒng)工具是自動化的,可以自行部署優(yōu)化,現(xiàn)有的DBMS體系結(jié)構(gòu)也不能支持重大的更改,如果不進一步改進系統(tǒng),這些自動化的工具也無法適應未來的瓶頸.

    Peloton是第1個自主數(shù)據(jù)庫管理系統(tǒng)[20-21],該系統(tǒng)集成了關(guān)于工作負載預測和數(shù)據(jù)庫配置動作部署的深度學習框架.并指出self-driving database能夠支持的3類優(yōu)化:1)數(shù)據(jù)庫的物理設(shè)計(索引、物化視圖、存儲布局等);2)數(shù)據(jù)組織的改變(位置、數(shù)據(jù)分割等);3)影響數(shù)據(jù)庫系統(tǒng)執(zhí)行時間的配置(資源、配置調(diào)優(yōu)、查詢優(yōu)化). Peloton作為第1個自動化的內(nèi)存數(shù)據(jù)庫系統(tǒng),能夠逐步地對數(shù)據(jù)庫系統(tǒng)進行優(yōu)化,在部署期間不會對應用程序造成明顯的影響.Ma等人在文獻[85]中,針對 “self-driving” DBMS——Peloton的工作負載預測框架進行了詳細闡述,稱之為QueryBot5000.

    Aken等人[7]提出OtterTune,采用自動化的方法來調(diào)節(jié)數(shù)據(jù)庫系統(tǒng)的配置.結(jié)合了有監(jiān)督和無監(jiān)督的機器學習方法,利用過去的經(jīng)驗,首先識別主要具有影響力的配置參數(shù)(knobs),為借鑒先前工作負載調(diào)優(yōu)的經(jīng)驗,OtterTune將未知的或?qū)⒁幚淼墓ぷ髫撦d與已有的工作負載相匹配,基于保存的調(diào)優(yōu)經(jīng)驗數(shù)據(jù),為提高DBMS的某一特定目標(例如latency, throughput等),推薦優(yōu)化的DBMS 參數(shù).OtterTune假設(shè)擁有數(shù)據(jù)庫系統(tǒng)的各種權(quán)限,包括重啟數(shù)據(jù)庫系統(tǒng).

    針對云托管的多租戶數(shù)據(jù)庫服務(cloud-hosted multi-tenant database services),Jain等人提出與數(shù)據(jù)庫系統(tǒng)無關(guān)的工作負載管理和分析服務架構(gòu)Querc[86]. Querc通過挖掘和管理大規(guī)模、異構(gòu)的工作負載,將工作負載管理和分析視為一組查詢標記任務的模型,因此需要大量的訓練數(shù)據(jù)才能有效.隨著工作負載復雜性增加、負載規(guī)模增大、負載管理需求多樣化,云托管的數(shù)據(jù)庫服務十分需要自動化的方法來對用戶行為模式、工作負載進行分析,從而進行資源配置、路由查詢等.因此該領(lǐng)域具有理論和實際的研究價值.

    SageDB[87]指出現(xiàn)在的數(shù)據(jù)庫系統(tǒng)大多是為處理不同的數(shù)據(jù)模式、數(shù)據(jù)類型、數(shù)據(jù)分布等而設(shè)計的通用型系統(tǒng).這類系統(tǒng)沒有利用特定應用場景和特定數(shù)據(jù)分布特征的優(yōu)勢.事實上,如果能夠知道數(shù)據(jù)的特定分布,那么幾乎可以優(yōu)化所有系統(tǒng)[3].因此Kraska提出一種新數(shù)據(jù)庫系統(tǒng)——SageDB,旨在通過代碼合成與機器學習的優(yōu)越性設(shè)計并優(yōu)化特定應用場景下的數(shù)據(jù)庫系統(tǒng).主要使用機器學習對數(shù)據(jù)分布、工作負載、硬件等進行建模,確定特定數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)、最佳存取路徑及查詢計劃等優(yōu)化目標.同時指出,學習化的組件能夠完全替代數(shù)據(jù)庫系統(tǒng)的核心部分.

    表4對自主數(shù)據(jù)庫系統(tǒng)的部分研究工作進行簡要比較和總結(jié),包括Peloton[20-21],OtterTune[7],Querc[86],SageDB[87],主要從這些研究工作所采用的機器學習方法、涉及的數(shù)據(jù)庫系統(tǒng)組件或功能及這些研究工作的特點出發(fā)進行總結(jié).

    Table 4 Research Work on Self-Driving Database Management Systems表4 自主數(shù)據(jù)庫管理系統(tǒng)研究工作總結(jié)

    在自動化數(shù)據(jù)庫領(lǐng)域的研究工作還包括:Deep Tune DB[88],主要探索強化學習在數(shù)據(jù)庫物理設(shè)計中的應用;DASlab實驗室開發(fā)的自動設(shè)計數(shù)據(jù)庫系統(tǒng)(self-designing data systems)[89-91],快速生成給定應用程序的最優(yōu)解決方案,self-designing data systems將減輕系統(tǒng)設(shè)計人員和最終用戶在數(shù)據(jù)管理方面的煩惱,最終提高生產(chǎn)率;Stratos等人提出了自動化數(shù)據(jù)結(jié)構(gòu)設(shè)計的概念[92];DBSeer[93]記錄表示數(shù)據(jù)庫系統(tǒng)性能的時間序列數(shù)據(jù),并進行比較來幫助數(shù)據(jù)庫管理員診斷系統(tǒng)中運行緩慢的區(qū)域和正常運行的區(qū)域.Kossmann指出未來的自動化數(shù)據(jù)庫系統(tǒng)將利用基于工作負載驅(qū)動的優(yōu)化和機器學習技術(shù)來生成對未來工作負載的預測,并決定如何選擇操作來最優(yōu)地處理工作負載,同時能夠從過去的經(jīng)驗中學習[94].

    工業(yè)界在自動化數(shù)據(jù)庫系統(tǒng)方面也在不斷地探索.Oracle在2017年9月發(fā)布了Oracle自治數(shù)據(jù)庫[95-97],基于云環(huán)境的自治數(shù)據(jù)庫,利用機器學習來實現(xiàn)自動化,能夠自動地執(zhí)行查詢優(yōu)化和參數(shù)調(diào)優(yōu)等.但針對如何預測未來工作負載,并基于預測對數(shù)據(jù)庫系統(tǒng)進行調(diào)優(yōu),Oracle沒有給出方案[66].華為在2019年5月發(fā)布AI-Native數(shù)據(jù)庫GaussDB[98-99],在數(shù)據(jù)庫系統(tǒng)中引入人工智能技術(shù).將AI嵌入到數(shù)據(jù)庫系統(tǒng)的生命周期,實現(xiàn)數(shù)據(jù)庫系統(tǒng)的自運維、自管理、自調(diào)優(yōu)和故障自診斷.GaussDB的另一大性能優(yōu)勢是支持異構(gòu)計算.

    同時,Pavlo[66]認為 “是否能夠擁有一個完全自動化的DBMS——能夠在所有可能的工作負載中達到與人工維護的DBMS相同或更好的性能?答案是肯定的,但短時間內(nèi)還肯定不會.”

    因此自動化數(shù)據(jù)庫系統(tǒng)依然有很多值得研究的機遇和挑戰(zhàn),任重而道遠,十分具有研究前景.

    5 未來研究問題與挑戰(zhàn)

    如前所述,機器學習化數(shù)據(jù)庫系統(tǒng)泛指結(jié)合機器學習的方法、模型來替換數(shù)據(jù)庫系統(tǒng)的內(nèi)部組件,采用機器學習的方法來幫助數(shù)據(jù)庫系統(tǒng)實現(xiàn)性能優(yōu)化,并提高數(shù)據(jù)庫系統(tǒng)的易用性,實現(xiàn)數(shù)據(jù)庫系統(tǒng)的動態(tài)、智能配置.因此未來的機器學習化數(shù)據(jù)庫系統(tǒng)不單單是對系統(tǒng)內(nèi)部組件的替換,在數(shù)據(jù)庫系統(tǒng)機器學習化的發(fā)展中,將會更多使數(shù)據(jù)庫系統(tǒng)向著更加自動化、智能化的方向發(fā)展.

    據(jù)此提出自動化數(shù)據(jù)庫管理系統(tǒng)(autonomous database management system)框架,如圖5所示.不僅包含機器學習化數(shù)據(jù)庫系統(tǒng),同時包含采用機器學習的方法對數(shù)據(jù)庫系統(tǒng)進行智能管理.

    首先在數(shù)據(jù)庫系統(tǒng)內(nèi)部將會存在各種學習化的模型來替換傳統(tǒng)數(shù)據(jù)庫系統(tǒng)組件,例如機器學習化的查詢優(yōu)化器、索引結(jié)構(gòu)等.針對機器學習化的數(shù)據(jù)庫系統(tǒng),必須有統(tǒng)一的模型管理器(unified model manager),負責模型的更新、維護等工作.其次作為自動化數(shù)據(jù)庫管理系統(tǒng),工作負載預測模型(workload prediction model)要具備對未來工作負載預測的能力,從而對數(shù)據(jù)庫系統(tǒng)進行動態(tài)地配置調(diào)優(yōu).對數(shù)據(jù)庫系統(tǒng)工作負載預測能力的評估需要采集數(shù)據(jù)庫系統(tǒng)的性能,因此性能監(jiān)控器(performance monitor)用來監(jiān)控數(shù)據(jù)庫系統(tǒng)的性能,并將性能數(shù)據(jù)傳遞給工作負載預測模型作為訓練數(shù)據(jù).

    Pavlo[66]指出,將來的“self-driving” DBMS,同樣需要人類能夠部署一些優(yōu)化,就像數(shù)據(jù)庫系統(tǒng)的助理一樣.因此我們認為在自動化數(shù)據(jù)庫管理系統(tǒng)中,依然需要部署針對特定應用領(lǐng)域的啟發(fā)式規(guī)則和約束條件.

    Fig. 5 The architecture of autonomous database management system圖5 自動化數(shù)據(jù)庫管理系統(tǒng)框架

    在數(shù)據(jù)庫系統(tǒng)中結(jié)合機器學習等新技術(shù),我們認為以下7個方面是機器學習化數(shù)據(jù)庫系統(tǒng)未來的主要研究問題與挑戰(zhàn):

    1) 機器學習化數(shù)據(jù)庫系統(tǒng)的模型管理問題.從當前的研究工作可以看出,大多是針對數(shù)據(jù)庫系統(tǒng)的某一方面,采用機器學習化的模型來替換數(shù)據(jù)庫系統(tǒng)的內(nèi)部組件或采用機器學習化的模型來輔助數(shù)據(jù)庫系統(tǒng)工作.而面對龐大的數(shù)據(jù)庫管理系統(tǒng),如果每一組件都附著一個機器學習模型,對數(shù)據(jù)庫系統(tǒng)的訪問將變成對模型的訪問,而不需要訪問底層數(shù)據(jù).那么數(shù)據(jù)庫管理系統(tǒng)將變成“模型庫管理系統(tǒng)”(model base management system, MBMS).模型的統(tǒng)一管理中,模型的訓練、更新、維護等是否會增加數(shù)據(jù)庫系統(tǒng)的能耗?另一方面,深度學習模型具有眾多參數(shù)需要調(diào)節(jié),是否會增加數(shù)據(jù)庫系統(tǒng)需要配置的參數(shù)量,從而帶來系統(tǒng)配置的“參數(shù)爆炸”問題.模型之間的通信、模型之間如何配合、模型的參數(shù)配置以及模型的更新維護等都是亟待解決的問題.

    2) 系統(tǒng)化的機器學習化數(shù)據(jù)庫系統(tǒng)研究.現(xiàn)有的數(shù)據(jù)庫系統(tǒng)機器學習化研究主要集中在替換數(shù)據(jù)庫系統(tǒng)中的單個組件,這些附著到數(shù)據(jù)庫系統(tǒng)的每一個模型都需要考慮其模型構(gòu)建、重新訓練等問題.對于龐大的數(shù)據(jù)庫系統(tǒng),如果每一個組件都帶有一個機器學習化模型,勢必會增加系統(tǒng)的負擔.數(shù)據(jù)庫系統(tǒng)組件之間不是單純的線性疊加,因此學習化后的組件與其他組件之間非線性的影響關(guān)系需要考慮.因此,我們提出要以系統(tǒng)的觀念來構(gòu)建機器學習化的數(shù)據(jù)庫系統(tǒng). 從系統(tǒng)的角度考慮機器學習技術(shù)與數(shù)據(jù)庫系統(tǒng)的結(jié)合,構(gòu)建整體的機器學習化數(shù)據(jù)庫系統(tǒng).

    3) 機器學習化數(shù)據(jù)庫系統(tǒng)的性能瓶頸.現(xiàn)有數(shù)據(jù)庫系統(tǒng)的性能瓶頸集中在CPU上,那么當數(shù)據(jù)庫系統(tǒng)被機器學習化后,性能瓶頸是否會發(fā)生變化?答案是肯定的.針對學習化的索引,相對傳統(tǒng)的索引結(jié)構(gòu)性能提升3倍[2],假設(shè)所有的性能提升都來自CPU,那么學習化后的數(shù)據(jù)庫系統(tǒng)執(zhí)行查詢所占用的時間比為:CPU占42%,硬盤占34%,內(nèi)存占24%.由此可見機器學習化的數(shù)據(jù)庫系統(tǒng),如果要繼續(xù)優(yōu)化,瓶頸不單單是CPU,硬盤和內(nèi)存也會成為瓶頸.只有了解機器學習化數(shù)據(jù)庫系統(tǒng)的性能瓶頸,才能夠進一步對系統(tǒng)實施優(yōu)化.未來數(shù)據(jù)庫系統(tǒng)除了從算法、模型層面改進,新硬件是不能忽略的重要因素.

    4) 基于新硬件的機器學習化數(shù)據(jù)庫系統(tǒng).機器學習化的數(shù)據(jù)庫系統(tǒng),面臨著從數(shù)據(jù)密集型到計算密集型的轉(zhuǎn)變.隨著在數(shù)據(jù)庫系統(tǒng)中引入機器學習技術(shù)的不斷深入,未來機器學習化數(shù)據(jù)庫系統(tǒng)的部署環(huán)境必定需要有配套的新硬件環(huán)境來支持.同時將現(xiàn)有的數(shù)據(jù)庫系統(tǒng)算法遷移到現(xiàn)代加速器中,需要對系統(tǒng)算法進行重構(gòu)和改寫.如何有效利用硬件資源對數(shù)據(jù)庫系統(tǒng)提出了新的挑戰(zhàn),利用新的硬件特性及技術(shù)對大數(shù)據(jù)進行高效管理具有重要意義.伴隨著計算機硬件及人工智能芯片[39-40]的發(fā)展,單純在軟件層面引入機器學習所帶來的性能提升,與同時在系統(tǒng)底層引入智能處理器、機器學習加速設(shè)備等新硬件帶來的性能提升,必然有差別,但該方向上的研究也面臨著更大挑戰(zhàn).

    5) 特定應用領(lǐng)域的機器學習化數(shù)據(jù)庫系統(tǒng).目前的機器學習化數(shù)據(jù)庫系統(tǒng)的研究工作主要集中在利用機器學習等方法對底層數(shù)據(jù)進行建模.設(shè)計通用型系統(tǒng),需要處理不同的數(shù)據(jù)模式、數(shù)據(jù)類型、數(shù)據(jù)分布等通用目標,不具有靈活性.面向特定應用領(lǐng)域,利用特定應用場景和該應用領(lǐng)域所獨有的數(shù)據(jù)特征、數(shù)據(jù)分布等優(yōu)勢,能夠訓練出更好的模型.因此設(shè)計面向特定應用領(lǐng)域的機器學習化數(shù)據(jù)庫系統(tǒng)更具有發(fā)展前景.并且機器學習化數(shù)據(jù)庫系統(tǒng)在只讀型數(shù)據(jù)庫系統(tǒng)中有較好的應用,面對更新頻繁的數(shù)據(jù)庫,底層數(shù)據(jù)變化、模型失效、更新模型的代價以及模型的維護都是有待考慮的問題.因此更新頻繁的數(shù)據(jù)庫應用領(lǐng)域的機器學習化研究面臨著更大的挑戰(zhàn).

    6) 云數(shù)據(jù)庫系統(tǒng)的機器學習化研究.隨著數(shù)據(jù)庫系統(tǒng)更多地部署在云服務器中,工作負載的規(guī)模不斷增大,工作負載的類型也不斷豐富,異構(gòu)性突出.工作負載快速變化,對數(shù)據(jù)庫系統(tǒng)的性能提出更高的要求.工作負載的快速變化及其多樣性,要求數(shù)據(jù)庫系統(tǒng)針對工作負載的變化能夠智能且動態(tài)地適配數(shù)據(jù)庫系統(tǒng)的配置,從而保持數(shù)據(jù)庫系統(tǒng)的最佳運行時狀態(tài).云環(huán)境下數(shù)據(jù)庫系統(tǒng)的工作負載異構(gòu)性更加突出[88].云環(huán)境下部署的數(shù)據(jù)庫系統(tǒng),帶來了數(shù)據(jù)庫系統(tǒng)研究工作中很多不需要考慮的執(zhí)行環(huán)境,在云環(huán)境下計算和存儲資源可以視為是“無限的”,理論上DBMS可以立即執(zhí)行對資源的配置,進行靈活地縮減或擴張.為機器學習的應用提供了更廣闊空間,推動云環(huán)境下數(shù)據(jù)庫管理系統(tǒng)的動態(tài)配置,值得進一步研究.

    7) 新興數(shù)據(jù)庫系統(tǒng)的機器學習化研究.大數(shù)據(jù)時代的發(fā)展,數(shù)據(jù)產(chǎn)生方式千變?nèi)f化,數(shù)據(jù)之間存在錯綜復雜的關(guān)系[100].當前數(shù)據(jù)時代呈現(xiàn)大規(guī)模數(shù)據(jù)關(guān)聯(lián)、交叉、融合的局面,數(shù)據(jù)的形態(tài)也產(chǎn)生巨大變化,因此數(shù)據(jù)的存儲、管理、查詢也隨之而變,并超越傳統(tǒng)數(shù)據(jù)庫模式.例如云環(huán)境下的分布式數(shù)據(jù)庫管理系統(tǒng)、非關(guān)系型數(shù)據(jù)庫系統(tǒng)、XML數(shù)據(jù)庫系統(tǒng)、XMLRDBMS混合的數(shù)據(jù)庫系統(tǒng)、內(nèi)存閃存數(shù)據(jù)庫系統(tǒng)等新興的數(shù)據(jù)庫管理系統(tǒng).推動新興數(shù)據(jù)庫管理系統(tǒng)與機器學習技術(shù)的結(jié)合同樣具有理論和實踐的研究價值,該領(lǐng)域具備廣闊的發(fā)展空間.

    數(shù)據(jù)庫領(lǐng)域經(jīng)過幾十年的研究,已經(jīng)有了很多成熟的優(yōu)化系統(tǒng)性能的技術(shù),機器學習的發(fā)展也有目共睹.機器學習與數(shù)據(jù)庫系統(tǒng)這2個領(lǐng)域,都致力于數(shù)據(jù)驅(qū)動的應用程序,有很多可以共享的通用技術(shù).無論數(shù)據(jù)庫系統(tǒng)化的機器學習研究,還是機器學習化的數(shù)據(jù)庫系統(tǒng)研究,作為2個領(lǐng)域進一步結(jié)合的研究方向,具有發(fā)展?jié)摿?現(xiàn)在是軟件2.0(Software 2.0) 的時代[101-102],即基于數(shù)據(jù)與新硬件的機器學習模型,將機器學習模型視為新一代軟件系統(tǒng):Software 2.0=Model+Data+Hardware.機器學習化的數(shù)據(jù)庫系統(tǒng)迎合了Software 2.0時代的發(fā)展.

    近來機器學習化數(shù)據(jù)庫系統(tǒng)的提出和研究,有望突破數(shù)據(jù)庫系統(tǒng)發(fā)展的瓶頸,未來值得我們進一步探討在數(shù)據(jù)庫系統(tǒng)中引入機器學習的相關(guān)技術(shù).

    猜你喜歡
    數(shù)據(jù)庫系統(tǒng)機器數(shù)據(jù)庫
    機器狗
    機器狗
    數(shù)據(jù)庫系統(tǒng)shell腳本應用
    電子測試(2018年14期)2018-09-26 06:04:24
    未來機器城
    電影(2018年8期)2018-09-21 08:00:06
    微細銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)
    數(shù)據(jù)庫
    財經(jīng)(2017年2期)2017-03-10 14:35:35
    實時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
    電信科學(2016年10期)2016-11-23 05:12:00
    數(shù)據(jù)庫
    財經(jīng)(2016年15期)2016-06-03 07:38:02
    數(shù)據(jù)庫
    財經(jīng)(2016年3期)2016-03-07 07:44:46
    數(shù)據(jù)庫
    財經(jīng)(2016年6期)2016-02-24 07:41:51
    久久久国产成人免费| 插阴视频在线观看视频| 亚洲色图av天堂| 少妇高潮的动态图| 大香蕉久久网| 国产午夜福利久久久久久| 亚洲色图av天堂| 亚洲,欧美,日韩| 真人做人爱边吃奶动态| 黄色欧美视频在线观看| 亚洲在线观看片| 国产精品电影一区二区三区| 日韩欧美在线乱码| 国产高清视频在线播放一区| 男女边吃奶边做爰视频| 最近的中文字幕免费完整| 99热这里只有是精品50| 国产一级毛片七仙女欲春2| 18禁黄网站禁片免费观看直播| 99九九线精品视频在线观看视频| 欧美色视频一区免费| 最近最新中文字幕大全电影3| 伦理电影大哥的女人| 精品人妻视频免费看| 狂野欧美激情性xxxx在线观看| 成人av在线播放网站| 男女那种视频在线观看| 精品一区二区三区人妻视频| 亚洲熟妇熟女久久| 国产黄色视频一区二区在线观看 | 校园人妻丝袜中文字幕| 美女内射精品一级片tv| 特大巨黑吊av在线直播| 精品福利观看| 国产精品一及| 精品欧美国产一区二区三| 国产色爽女视频免费观看| 人人妻人人澡人人爽人人夜夜 | 一边摸一边抽搐一进一小说| 又爽又黄a免费视频| 亚洲经典国产精华液单| 国产精品,欧美在线| 欧美激情在线99| 老司机午夜福利在线观看视频| 亚洲性久久影院| 人人妻,人人澡人人爽秒播| 欧美一区二区国产精品久久精品| 国产中年淑女户外野战色| 亚洲人成网站在线播| 久久久久国产网址| 成人国产麻豆网| 丝袜美腿在线中文| 日韩欧美国产在线观看| 两个人的视频大全免费| 国产一区二区三区在线臀色熟女| 免费看日本二区| 欧美+日韩+精品| 国产午夜精品久久久久久一区二区三区 | 精品久久久久久久久av| 97超级碰碰碰精品色视频在线观看| 18+在线观看网站| 此物有八面人人有两片| 日本a在线网址| 性欧美人与动物交配| 日日摸夜夜添夜夜添av毛片| 神马国产精品三级电影在线观看| or卡值多少钱| 成人亚洲精品av一区二区| 伊人久久精品亚洲午夜| 草草在线视频免费看| 嫩草影院入口| 一本精品99久久精品77| 99久久久亚洲精品蜜臀av| 亚洲熟妇熟女久久| 成年免费大片在线观看| 网址你懂的国产日韩在线| 一区福利在线观看| 国内精品宾馆在线| 日韩欧美在线乱码| 午夜a级毛片| 国产成人a∨麻豆精品| 蜜桃久久精品国产亚洲av| 国产白丝娇喘喷水9色精品| 久久精品夜夜夜夜夜久久蜜豆| 亚洲精品影视一区二区三区av| 亚洲图色成人| 色哟哟哟哟哟哟| 国产欧美日韩精品亚洲av| 国产片特级美女逼逼视频| 欧美潮喷喷水| 久久国产乱子免费精品| 18禁裸乳无遮挡免费网站照片| 午夜久久久久精精品| 夜夜看夜夜爽夜夜摸| 日韩三级伦理在线观看| 欧美色视频一区免费| 99久久精品一区二区三区| 97碰自拍视频| 99国产精品一区二区蜜桃av| 内地一区二区视频在线| 12—13女人毛片做爰片一| 男女边吃奶边做爰视频| 亚洲av不卡在线观看| 国语自产精品视频在线第100页| www.色视频.com| 男插女下体视频免费在线播放| 精品久久久噜噜| 老熟妇仑乱视频hdxx| 欧美一区二区国产精品久久精品| 亚洲av不卡在线观看| 三级男女做爰猛烈吃奶摸视频| 国产精品国产三级国产av玫瑰| 国产淫片久久久久久久久| 精品久久久久久久人妻蜜臀av| 久久欧美精品欧美久久欧美| 亚洲欧美日韩卡通动漫| 天堂网av新在线| 22中文网久久字幕| 日韩av在线大香蕉| 精品一区二区三区av网在线观看| 日产精品乱码卡一卡2卡三| 一级毛片久久久久久久久女| 国产又黄又爽又无遮挡在线| 神马国产精品三级电影在线观看| 国产成人a∨麻豆精品| 久久人妻av系列| 悠悠久久av| 激情 狠狠 欧美| 国产精品伦人一区二区| 永久网站在线| 亚洲av一区综合| 精品99又大又爽又粗少妇毛片| 欧美日韩综合久久久久久| 波多野结衣高清作品| 久久精品夜色国产| 婷婷精品国产亚洲av| 色吧在线观看| 国产69精品久久久久777片| 99热这里只有是精品50| 麻豆av噜噜一区二区三区| 高清日韩中文字幕在线| 变态另类丝袜制服| 可以在线观看的亚洲视频| 国产午夜精品论理片| 热99在线观看视频| av女优亚洲男人天堂| 欧美日本视频| 精品一区二区免费观看| 免费在线观看成人毛片| 插逼视频在线观看| 国产精品女同一区二区软件| 99久久成人亚洲精品观看| 悠悠久久av| 久久综合国产亚洲精品| 久久久a久久爽久久v久久| 欧美一区二区精品小视频在线| 99九九线精品视频在线观看视频| av在线老鸭窝| 精品人妻视频免费看| 最后的刺客免费高清国语| 免费人成在线观看视频色| 日产精品乱码卡一卡2卡三| 日韩av在线大香蕉| 欧美高清成人免费视频www| 五月伊人婷婷丁香| 国产精品美女特级片免费视频播放器| 欧美激情久久久久久爽电影| 男女边吃奶边做爰视频| 美女大奶头视频| 岛国在线免费视频观看| 亚洲丝袜综合中文字幕| 菩萨蛮人人尽说江南好唐韦庄 | 久久人人精品亚洲av| 日韩av在线大香蕉| 18+在线观看网站| 精品国产三级普通话版| 久99久视频精品免费| 啦啦啦观看免费观看视频高清| 日本免费一区二区三区高清不卡| 精品久久久久久久末码| 色5月婷婷丁香| 男女做爰动态图高潮gif福利片| 久久久色成人| 国产黄片美女视频| 中文字幕熟女人妻在线| 久久久久久久亚洲中文字幕| eeuss影院久久| 国产亚洲av嫩草精品影院| 97超碰精品成人国产| 国产高清激情床上av| 国产淫片久久久久久久久| 一个人看视频在线观看www免费| 一进一出好大好爽视频| 午夜爱爱视频在线播放| 国产视频一区二区在线看| 色综合站精品国产| 亚洲人成网站高清观看| 日韩精品有码人妻一区| 欧美丝袜亚洲另类| 婷婷精品国产亚洲av| 成年女人永久免费观看视频| 又爽又黄a免费视频| 免费在线观看影片大全网站| 欧美xxxx黑人xx丫x性爽| 亚洲av中文字字幕乱码综合| 精品一区二区免费观看| 国产精品一二三区在线看| 小说图片视频综合网站| av在线播放精品| 99热这里只有精品一区| 黄色日韩在线| 久久欧美精品欧美久久欧美| 国产精品人妻久久久久久| 成人毛片a级毛片在线播放| 99久久精品热视频| 高清毛片免费观看视频网站| 丝袜喷水一区| 永久网站在线| 国产一区二区三区在线臀色熟女| 久久久国产成人精品二区| 午夜激情欧美在线| 久久精品国产鲁丝片午夜精品| 亚洲成人久久性| 深爱激情五月婷婷| 国产精品久久久久久久久免| 又黄又爽又免费观看的视频| 日本免费一区二区三区高清不卡| 免费电影在线观看免费观看| а√天堂www在线а√下载| 国产又黄又爽又无遮挡在线| 日本 av在线| 在线免费十八禁| 99久久九九国产精品国产免费| 久久久久久国产a免费观看| 国内久久婷婷六月综合欲色啪| 日韩av不卡免费在线播放| 亚洲精品影视一区二区三区av| 中文字幕av在线有码专区| 99久久精品热视频| 非洲黑人性xxxx精品又粗又长| 亚洲成人av在线免费| 18禁在线播放成人免费| 免费一级毛片在线播放高清视频| 久久久久久久久久黄片| 中文字幕免费在线视频6| 大型黄色视频在线免费观看| 午夜精品在线福利| 成年版毛片免费区| 免费看美女性在线毛片视频| 亚洲中文日韩欧美视频| 国产成人福利小说| 国产精品一区二区免费欧美| 99热网站在线观看| 内地一区二区视频在线| 国产男靠女视频免费网站| 最后的刺客免费高清国语| 欧美人与善性xxx| 国产亚洲91精品色在线| 免费黄网站久久成人精品| 日产精品乱码卡一卡2卡三| 久久国内精品自在自线图片| 色综合色国产| 日本免费a在线| 国产大屁股一区二区在线视频| 国产精品无大码| 乱系列少妇在线播放| 三级经典国产精品| 午夜亚洲福利在线播放| 赤兔流量卡办理| 97超视频在线观看视频| 国内久久婷婷六月综合欲色啪| 国产午夜精品久久久久久一区二区三区 | 可以在线观看的亚洲视频| 成年版毛片免费区| av在线播放精品| 免费一级毛片在线播放高清视频| 亚洲精品色激情综合| 精品日产1卡2卡| 日韩精品青青久久久久久| 性色avwww在线观看| 日韩在线高清观看一区二区三区| 久久久精品94久久精品| 国产av麻豆久久久久久久| 一进一出好大好爽视频| 国产精品永久免费网站| 精华霜和精华液先用哪个| 午夜激情福利司机影院| 12—13女人毛片做爰片一| 男女视频在线观看网站免费| 日韩精品中文字幕看吧| 国产黄a三级三级三级人| 日韩欧美精品免费久久| 搡老岳熟女国产| 五月玫瑰六月丁香| 国产成人aa在线观看| 日本成人三级电影网站| 欧美成人a在线观看| 国产精品不卡视频一区二区| 91久久精品国产一区二区三区| 久久人妻av系列| 热99在线观看视频| 内地一区二区视频在线| 国内揄拍国产精品人妻在线| 性欧美人与动物交配| 此物有八面人人有两片| 少妇人妻精品综合一区二区 | 日本成人三级电影网站| 中国美女看黄片| 久久久久国产网址| 超碰av人人做人人爽久久| 波多野结衣巨乳人妻| 亚州av有码| 校园春色视频在线观看| avwww免费| 亚洲一区高清亚洲精品| 国产一区二区三区av在线 | 91在线观看av| 久久久久久国产a免费观看| 午夜精品一区二区三区免费看| 久久99热这里只有精品18| 欧美3d第一页| 亚洲自拍偷在线| 三级毛片av免费| 国产高清视频在线播放一区| 人人妻人人看人人澡| 欧美精品国产亚洲| 免费人成在线观看视频色| 日韩欧美三级三区| 亚洲在线自拍视频| 亚洲av成人av| 免费人成在线观看视频色| 亚洲av免费在线观看| 中文字幕人妻熟人妻熟丝袜美| 成人国产麻豆网| 老司机福利观看| 日本色播在线视频| 晚上一个人看的免费电影| 国产午夜精品久久久久久一区二区三区 | 啦啦啦韩国在线观看视频| 免费电影在线观看免费观看| 久久久久久久亚洲中文字幕| 国产欧美日韩精品亚洲av| 99热这里只有是精品50| 长腿黑丝高跟| 国产伦精品一区二区三区四那| 哪里可以看免费的av片| 日韩一区二区视频免费看| 国产欧美日韩精品亚洲av| 国产成人a区在线观看| 免费电影在线观看免费观看| 亚洲av成人精品一区久久| 在线免费观看的www视频| 国产综合懂色| 波多野结衣高清作品| 精品久久久久久久久久免费视频| 色吧在线观看| 人妻丰满熟妇av一区二区三区| 美女黄网站色视频| 中文字幕久久专区| 久久精品综合一区二区三区| 少妇的逼水好多| 97在线视频观看| 一级毛片aaaaaa免费看小| 亚洲熟妇熟女久久| 久久久欧美国产精品| 国产精品爽爽va在线观看网站| 少妇的逼水好多| 亚洲无线在线观看| 中文资源天堂在线| 综合色丁香网| 99久久九九国产精品国产免费| 亚洲国产精品成人综合色| 国内精品一区二区在线观看| 18禁在线无遮挡免费观看视频 | 日韩 亚洲 欧美在线| 天天躁夜夜躁狠狠久久av| 最近2019中文字幕mv第一页| 日产精品乱码卡一卡2卡三| 在线看三级毛片| av在线观看视频网站免费| 国产精品一二三区在线看| 国产午夜精品久久久久久一区二区三区 | 久久久久免费精品人妻一区二区| 天美传媒精品一区二区| 看十八女毛片水多多多| 在线观看午夜福利视频| 精品熟女少妇av免费看| 亚洲成人久久爱视频| 欧美+亚洲+日韩+国产| 一级黄片播放器| 2021天堂中文幕一二区在线观| 久久99热6这里只有精品| 2021天堂中文幕一二区在线观| 免费看av在线观看网站| 国产一区二区在线观看日韩| 国产精品永久免费网站| 亚洲自偷自拍三级| 成人精品一区二区免费| 欧美一区二区亚洲| 少妇高潮的动态图| 春色校园在线视频观看| ponron亚洲| 欧美xxxx性猛交bbbb| 国产精品久久久久久亚洲av鲁大| 啦啦啦啦在线视频资源| 欧美bdsm另类| 老女人水多毛片| 天堂动漫精品| 小蜜桃在线观看免费完整版高清| 日本免费a在线| 看免费成人av毛片| 97热精品久久久久久| 你懂的网址亚洲精品在线观看 | 在线观看午夜福利视频| 国产免费一级a男人的天堂| 能在线免费观看的黄片| 12—13女人毛片做爰片一| 欧美成人一区二区免费高清观看| aaaaa片日本免费| 小蜜桃在线观看免费完整版高清| 亚洲内射少妇av| 成人美女网站在线观看视频| 国产蜜桃级精品一区二区三区| 欧美另类亚洲清纯唯美| 日韩中字成人| 三级毛片av免费| 欧美区成人在线视频| 搡老妇女老女人老熟妇| 亚洲在线自拍视频| 男女做爰动态图高潮gif福利片| 美女 人体艺术 gogo| 成人特级黄色片久久久久久久| 一区二区三区四区激情视频 | 亚洲欧美日韩高清在线视频| 久久这里只有精品中国| 久久精品国产99精品国产亚洲性色| 久久久久久九九精品二区国产| 久久久久九九精品影院| 欧美不卡视频在线免费观看| 亚洲精品久久国产高清桃花| 波野结衣二区三区在线| 日本欧美国产在线视频| 91午夜精品亚洲一区二区三区| 成年免费大片在线观看| 亚洲美女视频黄频| 日韩大尺度精品在线看网址| 亚洲最大成人av| 一个人看视频在线观看www免费| 毛片一级片免费看久久久久| 亚洲中文字幕一区二区三区有码在线看| 可以在线观看的亚洲视频| 欧美日本亚洲视频在线播放| 亚洲美女搞黄在线观看 | 久久亚洲国产成人精品v| av在线播放精品| 女同久久另类99精品国产91| 别揉我奶头~嗯~啊~动态视频| 人人妻,人人澡人人爽秒播| 精品午夜福利视频在线观看一区| 国产精品国产三级国产av玫瑰| 日韩欧美国产在线观看| 日韩欧美一区二区三区在线观看| 91精品国产九色| 少妇人妻一区二区三区视频| 97超级碰碰碰精品色视频在线观看| 日韩人妻高清精品专区| 日本一二三区视频观看| 亚洲专区国产一区二区| 美女内射精品一级片tv| 欧美不卡视频在线免费观看| 搡老妇女老女人老熟妇| 国产成人一区二区在线| 狠狠狠狠99中文字幕| 亚洲专区国产一区二区| 亚洲成人久久爱视频| 久久国产乱子免费精品| av在线老鸭窝| or卡值多少钱| 亚洲精品一卡2卡三卡4卡5卡| 1024手机看黄色片| 午夜影院日韩av| 别揉我奶头 嗯啊视频| 国产精品人妻久久久影院| 亚洲成av人片在线播放无| 亚洲欧美日韩卡通动漫| 国产精品一区二区性色av| 夜夜夜夜夜久久久久| 久久精品国产亚洲av香蕉五月| 欧美最黄视频在线播放免费| 亚洲av第一区精品v没综合| 亚洲成人av在线免费| 精品人妻熟女av久视频| 国产不卡一卡二| 午夜精品一区二区三区免费看| 欧美性猛交╳xxx乱大交人| 亚洲精品一卡2卡三卡4卡5卡| 久久久国产成人免费| 深夜a级毛片| 老师上课跳d突然被开到最大视频| 一级毛片电影观看 | 内地一区二区视频在线| 国产黄a三级三级三级人| 伦精品一区二区三区| 国产精品久久视频播放| 午夜福利高清视频| 成人亚洲精品av一区二区| 天堂动漫精品| 国产成人freesex在线 | 在线观看免费视频日本深夜| 别揉我奶头~嗯~啊~动态视频| 午夜福利18| 国产大屁股一区二区在线视频| 91久久精品国产一区二区三区| 成年版毛片免费区| 国产精品美女特级片免费视频播放器| 久久精品久久久久久噜噜老黄 | 国产真实乱freesex| 一级a爱片免费观看的视频| 亚洲不卡免费看| 国产亚洲91精品色在线| 国内精品一区二区在线观看| 1024手机看黄色片| 少妇被粗大猛烈的视频| 美女被艹到高潮喷水动态| 一区二区三区四区激情视频 | 亚洲av免费在线观看| 国产探花在线观看一区二区| 变态另类丝袜制服| 亚洲精品乱码久久久v下载方式| 久久亚洲国产成人精品v| 久久久久久国产a免费观看| av在线亚洲专区| 久久6这里有精品| 日本黄色视频三级网站网址| 麻豆成人午夜福利视频| 1000部很黄的大片| 欧美色欧美亚洲另类二区| 国产精品无大码| 99久国产av精品| 菩萨蛮人人尽说江南好唐韦庄 | 少妇丰满av| 天堂影院成人在线观看| 久久精品国产清高在天天线| 国产高清三级在线| 国产一区二区在线观看日韩| 日本三级黄在线观看| 一进一出好大好爽视频| 天堂网av新在线| 狂野欧美激情性xxxx在线观看| 欧美人与善性xxx| 亚洲精品影视一区二区三区av| 成年女人看的毛片在线观看| 熟女人妻精品中文字幕| 亚洲欧美日韩无卡精品| 中文字幕免费在线视频6| 免费电影在线观看免费观看| 99精品在免费线老司机午夜| 色综合站精品国产| 亚洲国产日韩欧美精品在线观看| 亚洲精品影视一区二区三区av| 波多野结衣高清无吗| 天堂影院成人在线观看| 在线观看美女被高潮喷水网站| 国产极品精品免费视频能看的| 99久国产av精品| 精品久久久久久久久av| 国产精品1区2区在线观看.| 久久久久性生活片| 亚洲av免费在线观看| 日韩,欧美,国产一区二区三区 | 午夜老司机福利剧场| av在线观看视频网站免费| 国产在线精品亚洲第一网站| 狠狠狠狠99中文字幕| 中文字幕av成人在线电影| 国产乱人偷精品视频| 免费大片18禁| 日韩欧美 国产精品| 内地一区二区视频在线| 最近视频中文字幕2019在线8| 全区人妻精品视频| 欧美成人精品欧美一级黄| 国产精品三级大全| 在线观看免费视频日本深夜| 亚洲精品456在线播放app| 麻豆国产97在线/欧美| 亚洲成人av在线免费| 免费看av在线观看网站| 精品久久久久久久久av| 在线观看免费视频日本深夜| 蜜桃亚洲精品一区二区三区| 国产一区二区亚洲精品在线观看| 九九在线视频观看精品| 久久草成人影院| 国产一区二区亚洲精品在线观看| 国产视频一区二区在线看| 久久草成人影院| 久久久久久久午夜电影| 在线观看免费视频日本深夜| 国产v大片淫在线免费观看| 久久久久久久午夜电影| av.在线天堂| 精品久久久久久成人av| 俄罗斯特黄特色一大片| 一区二区三区高清视频在线| 日本三级黄在线观看| 观看美女的网站| 久久精品人妻少妇| 国产精品一区二区免费欧美| 免费搜索国产男女视频| 日产精品乱码卡一卡2卡三| 亚洲三级黄色毛片| 一边摸一边抽搐一进一小说| 18禁黄网站禁片免费观看直播| 国产激情偷乱视频一区二区|