• <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天堂久久9| 男女下面插进去视频免费观看| 97碰自拍视频| 亚洲第一电影网av| 欧美成人性av电影在线观看| 久久国产乱子伦精品免费另类| 香蕉久久夜色| 成年女人毛片免费观看观看9| 叶爱在线成人免费视频播放| 老司机靠b影院| 国产日韩一区二区三区精品不卡| 日本一区二区免费在线视频| 久久久精品欧美日韩精品| 精品人妻1区二区| 一级a爱视频在线免费观看| 久久人人爽av亚洲精品天堂| 久99久视频精品免费| 国产黄a三级三级三级人| 亚洲精品在线观看二区| 日日爽夜夜爽网站| 欧美日韩福利视频一区二区| 女生性感内裤真人,穿戴方法视频| 女人高潮潮喷娇喘18禁视频| 日韩国内少妇激情av| 最新在线观看一区二区三区| 大型av网站在线播放| 婷婷六月久久综合丁香| 国产午夜福利久久久久久| 一级毛片精品| 色综合欧美亚洲国产小说| 在线观看免费日韩欧美大片| or卡值多少钱| 天堂√8在线中文| 在线视频色国产色| 欧美成人午夜精品| 99国产精品一区二区三区| 法律面前人人平等表现在哪些方面| 在线观看日韩欧美| 18禁美女被吸乳视频| 日韩三级视频一区二区三区| 男女午夜视频在线观看| 欧美性长视频在线观看| 免费在线观看日本一区| 亚洲免费av在线视频| 波多野结衣一区麻豆| 制服丝袜大香蕉在线| 一进一出好大好爽视频| 91成人精品电影| 亚洲三区欧美一区| 亚洲午夜理论影院| 日本三级黄在线观看| 欧美日韩一级在线毛片| 人成视频在线观看免费观看| 久久精品影院6| 国产成人系列免费观看| 国产亚洲av高清不卡| 国产熟女xx| 久久人人爽av亚洲精品天堂| 免费在线观看亚洲国产| 欧美成人一区二区免费高清观看 | 99久久99久久久精品蜜桃| 一卡2卡三卡四卡精品乱码亚洲| 麻豆av在线久日| 国产亚洲精品久久久久5区| 久久久久久国产a免费观看| 巨乳人妻的诱惑在线观看| 身体一侧抽搐| 亚洲一区二区三区不卡视频| 日韩大尺度精品在线看网址 | 亚洲人成网站在线播放欧美日韩| 免费在线观看视频国产中文字幕亚洲| 一级毛片精品| 日韩欧美国产在线观看| 国产亚洲欧美98| 久久久国产成人免费| 夜夜爽天天搞| 黑丝袜美女国产一区| 久久婷婷人人爽人人干人人爱 | 非洲黑人性xxxx精品又粗又长| 啪啪无遮挡十八禁网站| 老鸭窝网址在线观看| 欧美日本中文国产一区发布| 国产免费av片在线观看野外av| 久久久久久久午夜电影| АⅤ资源中文在线天堂| 午夜a级毛片| 无遮挡黄片免费观看| 一进一出抽搐gif免费好疼| 亚洲欧美精品综合一区二区三区| 午夜日韩欧美国产| 久久久久精品国产欧美久久久| 久久久国产成人精品二区| 精品无人区乱码1区二区| 真人一进一出gif抽搐免费| a级毛片在线看网站| 最近最新中文字幕大全免费视频| 美女高潮到喷水免费观看| 精品乱码久久久久久99久播| 日本欧美视频一区| 亚洲少妇的诱惑av| 999精品在线视频| 国产视频一区二区在线看| 精品久久久精品久久久| 成年人黄色毛片网站| 欧美激情高清一区二区三区| 欧美黄色片欧美黄色片| 黑人巨大精品欧美一区二区mp4| 欧美日韩亚洲国产一区二区在线观看| 亚洲人成电影免费在线| tocl精华| 一边摸一边抽搐一进一小说| 母亲3免费完整高清在线观看| 亚洲九九香蕉| videosex国产| 亚洲av成人av| 19禁男女啪啪无遮挡网站| 中文字幕人妻丝袜一区二区| 男人舔女人下体高潮全视频| 男女午夜视频在线观看| 99国产极品粉嫩在线观看| 久热爱精品视频在线9| 亚洲国产精品合色在线| 亚洲最大成人中文| 老司机深夜福利视频在线观看| 日韩大尺度精品在线看网址 | ponron亚洲| 亚洲精品在线美女| 午夜激情av网站| 少妇熟女aⅴ在线视频| 国产亚洲精品一区二区www| 国产成人精品久久二区二区免费| 国产在线精品亚洲第一网站| 亚洲精品国产色婷婷电影| www.精华液| 亚洲avbb在线观看| 精品日产1卡2卡| 亚洲第一欧美日韩一区二区三区| 国产单亲对白刺激| 首页视频小说图片口味搜索| 国产麻豆69| 麻豆国产av国片精品| 亚洲色图 男人天堂 中文字幕| 给我免费播放毛片高清在线观看| 1024视频免费在线观看| 国产精品av久久久久免费| 国产一区二区三区在线臀色熟女| 琪琪午夜伦伦电影理论片6080| 久久精品人人爽人人爽视色| 欧美日韩中文字幕国产精品一区二区三区 | 国产精品乱码一区二三区的特点 | av在线播放免费不卡| 亚洲精品在线观看二区| 欧美亚洲日本最大视频资源| 在线av久久热| 一级毛片女人18水好多| 精品一区二区三区av网在线观看| tocl精华| 精品乱码久久久久久99久播| 妹子高潮喷水视频| 国产精品亚洲一级av第二区| 不卡av一区二区三区| 亚洲欧洲精品一区二区精品久久久| 国产麻豆成人av免费视频| 欧美成人一区二区免费高清观看 | 国产精品久久久av美女十八| 国产av一区二区精品久久| 欧美午夜高清在线| 亚洲av成人不卡在线观看播放网| 亚洲精品在线美女| 悠悠久久av| 色哟哟哟哟哟哟| 12—13女人毛片做爰片一| 99久久久亚洲精品蜜臀av| 亚洲 欧美 日韩 在线 免费| 九色亚洲精品在线播放| 国产亚洲av高清不卡| 亚洲精品中文字幕在线视频| 色哟哟哟哟哟哟| 欧美+亚洲+日韩+国产| 亚洲自拍偷在线| av欧美777| 亚洲成人精品中文字幕电影| 亚洲成人精品中文字幕电影| 美女午夜性视频免费| 国产又色又爽无遮挡免费看| 国产91精品成人一区二区三区| 99国产精品免费福利视频| 黄色视频不卡| 久久久久久久午夜电影| 久久久精品欧美日韩精品| 亚洲九九香蕉| 国产成人精品无人区| 中亚洲国语对白在线视频| 亚洲av第一区精品v没综合| 免费女性裸体啪啪无遮挡网站| 啪啪无遮挡十八禁网站| 一本久久中文字幕| 波多野结衣一区麻豆| 久久久国产成人免费| 日本一区二区免费在线视频| 国产97色在线日韩免费| 精品午夜福利视频在线观看一区| 国产人伦9x9x在线观看| 国产激情欧美一区二区| 亚洲午夜理论影院| 又黄又爽又免费观看的视频| 黑人巨大精品欧美一区二区mp4| 宅男免费午夜| 在线观看一区二区三区| 久热这里只有精品99| 宅男免费午夜| 免费高清在线观看日韩| 黄频高清免费视频| 亚洲人成电影观看| 在线观看日韩欧美| 日本撒尿小便嘘嘘汇集6| 亚洲精品国产一区二区精华液| 国产精品一区二区免费欧美| 看免费av毛片| 女人爽到高潮嗷嗷叫在线视频| 岛国在线观看网站| 日韩中文字幕欧美一区二区| 亚洲国产高清在线一区二区三 | 大香蕉久久成人网| 如日韩欧美国产精品一区二区三区| 精品熟女少妇八av免费久了| 国产精品 国内视频| 18禁国产床啪视频网站| 丝袜在线中文字幕| 免费一级毛片在线播放高清视频 | 香蕉久久夜色| 日本三级黄在线观看| 日韩有码中文字幕| 国内毛片毛片毛片毛片毛片| 日本 av在线| 女同久久另类99精品国产91| 国产成人精品久久二区二区免费| 午夜老司机福利片| 日本免费a在线| 精品国产美女av久久久久小说| 色综合亚洲欧美另类图片| 亚洲成av片中文字幕在线观看| 90打野战视频偷拍视频| 亚洲五月天丁香| 如日韩欧美国产精品一区二区三区| 久久久国产成人精品二区| 久久伊人香网站| 国产99久久九九免费精品| 女人爽到高潮嗷嗷叫在线视频| 亚洲熟女毛片儿| 国产三级在线视频| 他把我摸到了高潮在线观看| or卡值多少钱| 99riav亚洲国产免费| 女人被狂操c到高潮| 国产激情欧美一区二区| 精品福利观看| 久久精品影院6| 一个人观看的视频www高清免费观看 | 日日摸夜夜添夜夜添小说| 国产成+人综合+亚洲专区| 国产精品99久久99久久久不卡| 国产欧美日韩一区二区三区在线| 亚洲第一av免费看| 国产91精品成人一区二区三区| 欧美日韩亚洲综合一区二区三区_| 男人的好看免费观看在线视频 | 纯流量卡能插随身wifi吗| 最好的美女福利视频网| 免费高清视频大片| 色播亚洲综合网| 亚洲欧美激情综合另类| 久久国产精品人妻蜜桃| 亚洲最大成人中文| 一进一出抽搐gif免费好疼| 色综合亚洲欧美另类图片| 免费观看人在逋| 一区在线观看完整版| 美女扒开内裤让男人捅视频| 波多野结衣巨乳人妻| 亚洲中文字幕日韩| 一级a爱片免费观看的视频| 亚洲av日韩精品久久久久久密| 亚洲黑人精品在线| 亚洲欧美激情综合另类| 一级毛片女人18水好多| 97人妻天天添夜夜摸| 波多野结衣av一区二区av| 国产精品九九99| 这个男人来自地球电影免费观看| 欧美一级毛片孕妇| 精品久久久久久久人妻蜜臀av | 人人妻人人澡欧美一区二区 | 久久午夜综合久久蜜桃| 欧美日韩瑟瑟在线播放| 亚洲专区中文字幕在线| 欧美黑人欧美精品刺激| 久久亚洲真实| 自拍欧美九色日韩亚洲蝌蚪91| 国产成人精品久久二区二区免费| 亚洲精品在线美女| 国产av一区二区精品久久| 18禁美女被吸乳视频| 国产麻豆69| 丁香六月欧美| 黄网站色视频无遮挡免费观看| 亚洲国产看品久久| 久久人妻熟女aⅴ| 日本一区二区免费在线视频| 天堂影院成人在线观看| 女性被躁到高潮视频| 欧美日本亚洲视频在线播放| 国产一区二区三区综合在线观看| 久久精品成人免费网站| 亚洲免费av在线视频| 看片在线看免费视频| 女人被躁到高潮嗷嗷叫费观| 岛国视频午夜一区免费看| 电影成人av| 欧美日韩亚洲国产一区二区在线观看| 咕卡用的链子| 此物有八面人人有两片| 亚洲精品美女久久av网站| 好男人在线观看高清免费视频 | 欧美丝袜亚洲另类 | 女生性感内裤真人,穿戴方法视频| 午夜免费激情av| 久久久久久亚洲精品国产蜜桃av| 夜夜躁狠狠躁天天躁| 女性被躁到高潮视频| 国产男靠女视频免费网站| 久久久国产精品麻豆| 久9热在线精品视频| 国产精品 欧美亚洲| 曰老女人黄片| 啦啦啦免费观看视频1| 大陆偷拍与自拍| 在线观看免费午夜福利视频| 丰满人妻熟妇乱又伦精品不卡| 国产亚洲精品av在线| 亚洲全国av大片| 亚洲精品美女久久久久99蜜臀| a在线观看视频网站| 多毛熟女@视频| 欧美日本视频| 欧美一区二区精品小视频在线| 99精品欧美一区二区三区四区| 一区二区三区精品91| 久久久久精品国产欧美久久久| 午夜激情av网站| av中文乱码字幕在线| 19禁男女啪啪无遮挡网站| 麻豆国产av国片精品| 50天的宝宝边吃奶边哭怎么回事| 亚洲中文字幕日韩| 国产免费av片在线观看野外av| 电影成人av| 国产成人啪精品午夜网站| 国产精品1区2区在线观看.| 久久国产乱子伦精品免费另类| 露出奶头的视频| 桃色一区二区三区在线观看| 欧美乱码精品一区二区三区| 亚洲专区中文字幕在线| 长腿黑丝高跟| 中文字幕人妻熟女乱码| 日日爽夜夜爽网站| 精品电影一区二区在线| 99在线人妻在线中文字幕| 少妇裸体淫交视频免费看高清 | 两性午夜刺激爽爽歪歪视频在线观看 | 日韩精品免费视频一区二区三区| 国内毛片毛片毛片毛片毛片| 夜夜夜夜夜久久久久| 好看av亚洲va欧美ⅴa在| 最好的美女福利视频网| 少妇裸体淫交视频免费看高清 | 可以在线观看毛片的网站| 国产视频一区二区在线看| 99精品欧美一区二区三区四区| 欧美成狂野欧美在线观看| 午夜免费鲁丝| 黄色 视频免费看| 国产精品九九99| 精品国产一区二区久久| 黑人操中国人逼视频| 日韩成人在线观看一区二区三区| 亚洲欧美一区二区三区黑人| 老司机午夜福利在线观看视频| 色综合婷婷激情| 久久久久亚洲av毛片大全| 亚洲狠狠婷婷综合久久图片| 国产麻豆69| 欧美乱色亚洲激情| 欧美日本亚洲视频在线播放| 国产精品久久久av美女十八| 一区二区三区激情视频| 色综合婷婷激情| 窝窝影院91人妻| 国产日韩一区二区三区精品不卡| 成年女人毛片免费观看观看9| 一本综合久久免费| 午夜福利18| 亚洲黑人精品在线| 成人18禁在线播放| 12—13女人毛片做爰片一| 久久久久久大精品| 狂野欧美激情性xxxx| 亚洲精品一卡2卡三卡4卡5卡| 亚洲,欧美精品.| 免费在线观看黄色视频的| 搡老熟女国产l中国老女人| 亚洲片人在线观看| 亚洲色图 男人天堂 中文字幕| 热re99久久国产66热| 日本欧美视频一区| 国产成人影院久久av| 成人欧美大片| 最好的美女福利视频网| 一个人观看的视频www高清免费观看 | 欧美av亚洲av综合av国产av| 久久久久久久久久久久大奶| 怎么达到女性高潮| 午夜免费成人在线视频| 国产成人精品无人区| 两个人看的免费小视频| 亚洲伊人色综图| 国产精品久久视频播放| 麻豆一二三区av精品| 免费少妇av软件| 亚洲人成电影观看| 男男h啪啪无遮挡| 国产真人三级小视频在线观看| 99riav亚洲国产免费| 热re99久久国产66热| 国产一区在线观看成人免费| 男女下面插进去视频免费观看| 最近最新中文字幕大全电影3 | 亚洲 欧美一区二区三区| 日本欧美视频一区| 久久性视频一级片| 久久精品国产综合久久久| 男女下面进入的视频免费午夜 | 在线免费观看的www视频| 国产麻豆69| 亚洲精品一卡2卡三卡4卡5卡| 国产精品九九99| 亚洲国产中文字幕在线视频| 一区二区三区高清视频在线| 精品国产乱码久久久久久男人| 18禁裸乳无遮挡免费网站照片 | 欧美色视频一区免费| 久久伊人香网站| 不卡一级毛片| 长腿黑丝高跟| 男人的好看免费观看在线视频 | 露出奶头的视频| 高清在线国产一区| 亚洲专区中文字幕在线| 亚洲精华国产精华精| 麻豆一二三区av精品| 国产欧美日韩一区二区三| 午夜老司机福利片| 欧美激情久久久久久爽电影 | 日韩欧美在线二视频| 免费在线观看影片大全网站| 男女下面插进去视频免费观看| 中文字幕久久专区| 村上凉子中文字幕在线| 嫁个100分男人电影在线观看| 99久久99久久久精品蜜桃| 在线观看一区二区三区| 久久久国产成人免费| 欧美日韩瑟瑟在线播放| 亚洲久久久国产精品| 成人国语在线视频| 成人特级黄色片久久久久久久| 满18在线观看网站| 精品国内亚洲2022精品成人| 国产不卡一卡二| 可以在线观看的亚洲视频| 国产乱人伦免费视频| 狠狠狠狠99中文字幕| 亚洲欧美日韩高清在线视频| 一级a爱片免费观看的视频| 午夜精品在线福利| 少妇熟女aⅴ在线视频| 国产精品九九99| 国产高清videossex| 国产精品久久久久久亚洲av鲁大| 一边摸一边抽搐一进一小说| 亚洲av片天天在线观看| 黄片小视频在线播放| 亚洲成国产人片在线观看| 精品国产亚洲在线| cao死你这个sao货| 91精品国产国语对白视频| 欧美激情 高清一区二区三区| 久久久久国产一级毛片高清牌| 少妇粗大呻吟视频| 99国产精品一区二区蜜桃av| 国产精品野战在线观看| 男女做爰动态图高潮gif福利片 | 久久久久久久久免费视频了| 亚洲国产毛片av蜜桃av| 久久香蕉激情| 黄色成人免费大全| 欧美日韩乱码在线| 高潮久久久久久久久久久不卡| 99国产精品免费福利视频| 免费在线观看日本一区| 国产一区二区三区综合在线观看| 人妻丰满熟妇av一区二区三区| 99国产精品免费福利视频| 国产99久久九九免费精品| 国产精品免费一区二区三区在线| 欧美黄色淫秽网站| 国产精品综合久久久久久久免费 | 女人精品久久久久毛片| 老司机靠b影院| 日韩高清综合在线| 久久久久国产精品人妻aⅴ院| 国产一区二区三区在线臀色熟女| 亚洲在线自拍视频| 国产免费av片在线观看野外av| 久久草成人影院| 午夜免费成人在线视频| 中文字幕人妻熟女乱码| 在线观看www视频免费| 日韩av在线大香蕉| 亚洲一区二区三区不卡视频| 亚洲精品美女久久av网站| 91大片在线观看| 欧美黑人精品巨大| 成年女人毛片免费观看观看9| 91字幕亚洲| 久久九九热精品免费| 精品不卡国产一区二区三区| 国产成人精品无人区| 91九色精品人成在线观看| 视频区欧美日本亚洲| 免费观看精品视频网站| 国产精品免费一区二区三区在线| 欧美日韩亚洲国产一区二区在线观看| 色在线成人网| 国产亚洲欧美98| www.自偷自拍.com| 欧美色视频一区免费| 亚洲国产高清在线一区二区三 | 精品一品国产午夜福利视频| 精品欧美一区二区三区在线| 男女午夜视频在线观看| 亚洲欧美激情综合另类| 好男人电影高清在线观看| 一区在线观看完整版| 国产午夜福利久久久久久| 黄片大片在线免费观看| 麻豆成人av在线观看| 男女下面插进去视频免费观看| 老司机深夜福利视频在线观看| 嫩草影院精品99| 可以在线观看毛片的网站| 国产精品一区二区三区四区久久 | 欧美日韩乱码在线| 国产免费男女视频| 亚洲人成77777在线视频| 99国产精品99久久久久| 19禁男女啪啪无遮挡网站| 黄色a级毛片大全视频| 宅男免费午夜| 久久影院123| 亚洲成人国产一区在线观看| 丰满人妻熟妇乱又伦精品不卡| 亚洲片人在线观看| 色av中文字幕| 国产xxxxx性猛交| 国产97色在线日韩免费| 国产野战对白在线观看| 精品无人区乱码1区二区| 伊人久久大香线蕉亚洲五| 日韩有码中文字幕| 伊人久久大香线蕉亚洲五| 人人妻人人澡人人看| 好男人电影高清在线观看| 可以在线观看的亚洲视频| 国产高清视频在线播放一区| 午夜精品久久久久久毛片777| 99久久久亚洲精品蜜臀av| 欧美日韩一级在线毛片| 日韩免费av在线播放| bbb黄色大片| 99国产极品粉嫩在线观看| 久久久久久亚洲精品国产蜜桃av| 在线视频色国产色| 亚洲欧美精品综合久久99| 国产野战对白在线观看| 夜夜夜夜夜久久久久| 亚洲国产精品999在线| 欧美一级毛片孕妇| 两个人免费观看高清视频| 国产av一区在线观看免费| 欧美老熟妇乱子伦牲交| 精品第一国产精品| 国产精品二区激情视频| 怎么达到女性高潮| 国产三级黄色录像| 一级毛片高清免费大全| 成人亚洲精品一区在线观看| 亚洲午夜理论影院| 国产亚洲精品久久久久5区| 亚洲va日本ⅴa欧美va伊人久久| 大陆偷拍与自拍| 久久精品亚洲精品国产色婷小说| 高清黄色对白视频在线免费看| 午夜激情av网站|