亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置制造方法

文檔序號:6539322閱讀:210來源:國知局
分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置。所述方法包括:在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù),所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù);當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理;當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。本發(fā)明能夠方便的找到問題的所在,提高了性能優(yōu)化的效率。
【專利說明】分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置
【技術領域】
[0001]本發(fā)明實施例涉及數(shù)據(jù)庫管理技術,尤其涉及一種分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置。
【背景技術】
[0002]Hive是基于Hadoop分布式平臺的一款開源的分布式數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)查詢功能,使用簡單的類SQL查詢語言,稱為HQL (Hive Query Language),可以將SQL語句轉(zhuǎn)換為MapReduce任務進行運行。由于其具有學習成本低,可以通過HQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析等優(yōu)點,目前成為互聯(lián)網(wǎng)或者傳統(tǒng)企業(yè)的大數(shù)據(jù)項目的首選工具。
[0003]但是,由于該工具應用時間較短,出現(xiàn)問題如性能不佳時,往往很難找到問題的所在,導致維護困難。

【發(fā)明內(nèi)容】

[0004]有鑒于此,本發(fā)明實施例提供一種分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置,以提高性能優(yōu)化的效率。
[0005]第一方面,本發(fā)明實施例提供了一種分布式數(shù)據(jù)庫的性能優(yōu)化的方法,所述方法包括:
[0006]在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù),所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù);
[0007]當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理;
[0008]當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。
[0009]第二方面,本發(fā)明實施例還提供了一種分布式數(shù)據(jù)庫的性能優(yōu)化的裝置,所述裝置包括:
[0010]性能采集模塊,用于在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù),所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù);
[0011]邏輯層優(yōu)化模塊,用于當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理;
[0012]物理層優(yōu)化模塊,用于當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。
[0013]本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的方法及裝置,通過采集分布式數(shù)據(jù)庫的Hive性能參數(shù),根據(jù)Hive性能參數(shù)分析Hive性能問題是在邏輯層還是在物理層,從而對HQL語句或者分布式數(shù)據(jù)庫進行優(yōu)化,以提高分布式數(shù)據(jù)庫的整體性能,能夠方便的找到問題的所在,提高了性能優(yōu)化的效率。
【專利附圖】

【附圖說明】
[0014]圖1是本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的方法的流程圖;
[0015]圖2是本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的裝置的示意圖。
【具體實施方式】
[0016]下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部內(nèi)容。
[0017]圖1是本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的方法的流程圖,該方法適用于Hive分布式數(shù)據(jù)庫中,可由分布式數(shù)據(jù)庫中的一臺計算機執(zhí)行,也可以由分布式數(shù)據(jù)庫中的每臺計算機執(zhí)行,該方法具體包括如下步驟:
[0018]步驟110,在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù)。
[0019]其中,所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù),邏輯層參數(shù)是針對HQL語句而言的,物理層參數(shù)是針對Hive分布式數(shù)據(jù)庫而言的,所述物理層參數(shù)包括CPU、網(wǎng)絡流量、磁盤IO (對于磁盤來說,一次磁盤的連續(xù)讀或者連續(xù)寫稱為一次磁盤10)和磁盤容量,根據(jù)所述邏輯層參數(shù)和物理層參數(shù)確定分布式數(shù)據(jù)庫的Hive性能問題。
[0020]步驟120,當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理。
[0021]根據(jù)采集到的所述Hive性能參數(shù),分析邏輯層參數(shù)是否滿足第一預設條件,利用采集到的Hive性能參數(shù)中的邏輯層參數(shù)與第一預設條件中的相應的參數(shù)進行對比,如果某一個邏輯層參數(shù)與第一預設條件中的相應的參數(shù)不匹配,說明該邏輯層參數(shù)不合理,該邏輯層參數(shù)表征的特征存在Hive性能問題即會導致變慢。這時,需要對所述分布式數(shù)據(jù)庫的邏輯層也即HQL語句進行優(yōu)化處理,以提高HQL語句的性能,從而提高分布式數(shù)據(jù)庫的整體性能。
[0022]示例性的,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理,包括:
[0023]對不滿足所述第一預設條件的HQL語句進行語法識別,找出HQL語法低效的HQL語句。分別分析每個HQL語句的邏輯層參數(shù)是否滿足第一預設條件,對不滿足所述第一預設條件的HQL語句進行語法識別,判斷該HQL語句的語法是否符合預設的高效語法,如果不符合說明該HQL語句的語法為低效語法。
[0024]找出所述分布式數(shù)據(jù)庫運行過程中不滿足預設執(zhí)行計劃的HQL語句。在分布式數(shù)據(jù)庫運行過程中,會執(zhí)行相應的HQL語句,生成HQL執(zhí)行計劃,檢驗HQL執(zhí)行計劃并與預設執(zhí)行計劃進行對比,找出HQL執(zhí)行計劃中不滿足預設執(zhí)行計劃的HQL語句組合。
[0025]對找出的HQL語法低效的HQL語句的語法進行改進,并按照預設執(zhí)行計劃對找出的所述HQL語句組合進行調(diào)整。對找出的HQL語法低效的HQL語句的語法按照預設的高效語法進行修改,使語法低效的HQL語句轉(zhuǎn)為語法高效的HQL語句。預設執(zhí)行計劃是一個性能高的HQL語句代碼組合方式,對不滿足預設執(zhí)行計劃的HQL語句組合按照預設執(zhí)行計劃進行調(diào)整。[0026]步驟130,當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。
[0027]根據(jù)采集到的所述Hive性能參數(shù),分析物理層參數(shù)是否滿足第二預設條件,利用采集到的Hive性能參數(shù)中的物理層參數(shù)與第二預設條件中的相應的參數(shù)進行對比,如果某一個物理層參數(shù)與第二預設條件中的相應的參數(shù)不匹配,說明該物理層參數(shù)不合理,該物理層參數(shù)表征的特征存在Hive性能問題。這時,需要對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理,所述對物理層的優(yōu)化處理主要是對Hive分布式數(shù)據(jù)庫級的優(yōu)化處理。
[0028]示例性的,對Hive分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理,包括:
[0029]優(yōu)化所述分布式數(shù)據(jù)庫的存儲性能;
[0030]優(yōu)化所述分布式數(shù)據(jù)庫的讀取性能;
[0031]優(yōu)化所述分布式數(shù)據(jù)庫的運算性能。
[0032]示例性的,優(yōu)化所述分布式數(shù)據(jù)庫的存儲性能包括:
[0033]當所述分布式數(shù)據(jù)庫中存儲有產(chǎn)生網(wǎng)絡流量大于預定值的第一數(shù)據(jù)文件時,優(yōu)化所述第一數(shù)據(jù)文件在所述分布式數(shù)據(jù)庫中的存儲位置。當所述分布式數(shù)據(jù)庫中某一個存儲位置存儲有產(chǎn)生網(wǎng)絡流量大于預定值的第一數(shù)據(jù)文件時,判斷該存儲位置是否滿足預設存儲位置,如果不滿足,則將所述第一數(shù)據(jù)文件挪動到預設存儲位置上,減少數(shù)據(jù)文件在傳輸過程中跨機架、跨交換機帶來的網(wǎng)絡傳輸影響。
[0034]當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在大于第一數(shù)據(jù)塊閾值的第一數(shù)據(jù)塊時,減小所述第一數(shù)據(jù)塊;當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在小于第二數(shù)據(jù)塊閾值的第二數(shù)據(jù)塊時,增大所述第二數(shù)據(jù)塊,所述第一數(shù)據(jù)塊閾值大于所述第二數(shù)據(jù)塊閾值。對磁盤數(shù)據(jù)塊大小的優(yōu)化是以數(shù)據(jù)塊大小為依據(jù),如果數(shù)據(jù)塊大于第一數(shù)據(jù)塊閾值會浪費資源,如果數(shù)據(jù)塊第二數(shù)據(jù)塊閾值會導致整體性不強,從而影響讀寫的開銷,當數(shù)據(jù)塊大于第一數(shù)據(jù)塊閾值或者小于第二數(shù)據(jù)塊閾值時,均需要對數(shù)據(jù)塊大小進行優(yōu)化。對于大于第一數(shù)據(jù)塊閾值的第一數(shù)據(jù)塊,減小所述第一數(shù)據(jù)塊,使得第一數(shù)據(jù)塊的大小介于所述第一數(shù)據(jù)塊閾值和所述第二數(shù)據(jù)塊閾值之間;對于小于第二數(shù)據(jù)塊閾值的第二數(shù)據(jù)塊,增大所述第二數(shù)據(jù)塊,使得第二數(shù)據(jù)塊的大小介于所述第一數(shù)據(jù)塊閾值和所述第二數(shù)據(jù)塊閾值之間。從而增加目標數(shù)據(jù)在磁盤中的整體性,減少磁盤的分散讀取,減少磁盤讀寫時間。
[0035]當所述分布式數(shù)據(jù)庫存儲有存儲格式不滿足預設存儲格式的第二數(shù)據(jù)文件時,優(yōu)化所述第二數(shù)據(jù)文件的存儲格式。如果所述分布式數(shù)據(jù)庫存儲有存儲格式不滿足預設存儲格式的第二數(shù)據(jù)文件,也會產(chǎn)生性能問題,導致磁盤IO次數(shù)大,這就需要優(yōu)化所述磁盤數(shù)據(jù)文件的存儲格式,以減少磁盤IO次數(shù),如選擇列存儲可以減少全表掃描,減少磁盤讀寫。
[0036]示例性的,優(yōu)化所述分布式數(shù)據(jù)庫的讀取性能包括:優(yōu)化所述分布式數(shù)據(jù)庫中本地節(jié)點的數(shù)據(jù)的預處理。
[0037]例如,對于較簡單的運算(如累計等),可以在本地節(jié)點進行數(shù)據(jù)讀取時得到運算結(jié)果(對于累計運算得到匯總值),多個節(jié)點可以并行進行本地處理,避免了將所有數(shù)據(jù)都傳到一個節(jié)點進行運算造成處理量大的問題,減少了網(wǎng)絡傳輸,并減少后續(xù)CPU運算量。
[0038]示例性的,優(yōu)化所述分布式數(shù)據(jù)庫的運算性能包括:
[0039]將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量小的表保存到所述分布式數(shù)據(jù)庫中參與運算的節(jié)點的內(nèi)存,將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量大的表保存到在所述分布式數(shù)據(jù)庫中的本地節(jié)點的內(nèi)存。這樣做的目的是使數(shù)據(jù)量小的表在參與運算的節(jié)點進行相應的運算,而讓數(shù)據(jù)量大的表盡可能在本地節(jié)點進行運算,減少磁盤讀寫和網(wǎng)絡傳輸?shù)南模苊饩W(wǎng)絡堵塞。
[0040]判斷所述分布式數(shù)據(jù)庫中各個節(jié)點的運算負荷,將運算負荷大于第一負荷閾值的節(jié)點上的數(shù)據(jù)分配到運算負荷小于第二負荷閾值的節(jié)點上,所述第一負荷閾值大于或等于所述第二負荷閾值。首先判斷所述分布式數(shù)據(jù)庫中各個節(jié)點的運算負荷,找出運算負荷大于第一負荷閾值的節(jié)點和運算負荷小于第二負荷閾值的節(jié)點,對于運算負荷大于第一負荷閾值的節(jié)點上的數(shù)據(jù)可以通過Hash算法將該節(jié)點上的數(shù)據(jù)分配到運算負荷小于第二負荷閾值的節(jié)點上。這樣做的目的是均衡各個節(jié)點的內(nèi)存和磁盤IO的負載。
[0041]本實施例通過首先采集分布式數(shù)據(jù)庫的Hive性能參數(shù),根據(jù)Hive性能參數(shù)分析Hive性能問題是在邏輯層還是在物理層,從而對HQL語句或者分布式數(shù)據(jù)庫進行優(yōu)化,以提高分布式數(shù)據(jù)庫的整體性能,能夠方便的找到問題的所在,提高了性能優(yōu)化的效率。
[0042]圖2是本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的裝置的示意圖。本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的裝置用于實現(xiàn)本發(fā)明實施例提供的分布式數(shù)據(jù)庫的性能優(yōu)化的方法。如圖2所示,本發(fā)明實施例所述的分布式數(shù)據(jù)庫的性能優(yōu)化的裝置包括:采集模塊210、邏輯層優(yōu)化模塊220和物理層優(yōu)化模塊230。
[0043]其中,采集模塊210用于在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù),所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù)。
[0044]邏輯層優(yōu)化模塊220用于當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理。
[0045]示例性的,邏輯層優(yōu)化模塊220包括:
[0046]HQL語法查找子模塊,用于對不滿足所述第一預設條件的HQL語句進行語法識別,找出HQL語法低效的HQL語句;
[0047]HQL語句組合查找子模塊,用于找出所述分布式數(shù)據(jù)庫運行過程中不滿足預設執(zhí)行計劃的HQL語句組合;
[0048]改進子模塊,用于對找出的HQL語法低效的HQL語句的語法進行改進,并按照所述預設執(zhí)行計劃對找出的所述HQL語句組合進行調(diào)整。
[0049]物理層優(yōu)化模塊230用于當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。
[0050]示例性的,物理層優(yōu)化模塊230包括:
[0051]存儲性能優(yōu)化子模塊,用于優(yōu)化所述分布式數(shù)據(jù)庫的存儲性能;
[0052]讀取性能優(yōu)化子模塊,用于優(yōu)化所述分布式數(shù)據(jù)庫的讀取性能;
[0053]運算性能優(yōu)化子模塊,用于優(yōu)化所述分布式數(shù)據(jù)庫的運算性能。
[0054]示例性的,存儲性能優(yōu)化子模塊包括:
[0055]存儲位置優(yōu)化單元,用于當所述分布式數(shù)據(jù)庫中存儲有產(chǎn)生網(wǎng)絡流量大于預定值的第一數(shù)據(jù)文件時,優(yōu)化所述第一數(shù)據(jù)文件在所述分布式數(shù)據(jù)庫中的存儲位置;
[0056]數(shù)據(jù)庫優(yōu)化單元,用于當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在大于第一數(shù)據(jù)塊閾值的第一數(shù)據(jù)塊時,減小所述第一數(shù)據(jù)塊;當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在小于第二數(shù)據(jù)塊閾值的第二數(shù)據(jù)塊時,增大所述第二數(shù)據(jù)塊,所述第一數(shù)據(jù)塊閾值大于所述第二數(shù)據(jù)塊閾值;[0057]存儲格式優(yōu)化單元,用于當所述分布式數(shù)據(jù)庫存儲有存儲格式不滿足預設存儲格式的第二數(shù)據(jù)文件時,優(yōu)化所述第二數(shù)據(jù)文件的存儲格式。
[0058]示例性的,讀取性能優(yōu)化子模塊包括:
[0059]數(shù)據(jù)預處理優(yōu)化單元,用于優(yōu)化所述分布式數(shù)據(jù)庫中本地節(jié)點的數(shù)據(jù)的預處理。
[0060]示例性的,運算性能優(yōu)化子模塊包括:
[0061]節(jié)點內(nèi)存優(yōu)化單元,用于將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量小的表保存到所述分布式數(shù)據(jù)庫中參與運算的節(jié)點的內(nèi)存,將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量大的表保存到在所述分布式數(shù)據(jù)庫中的本地節(jié)點的內(nèi)存;
[0062]節(jié)點負荷優(yōu)化單元,用于判斷所述分布式數(shù)據(jù)庫中各個節(jié)點的運算負荷,將運算負荷大于第一負荷閾值的節(jié)點上的數(shù)據(jù),分配到運算負荷小于第二負荷閾值的節(jié)點上,所述第一負荷閾值大于或等于所述第二負荷閾值。
[0063]本實施例通過采集模塊采集分布式數(shù)據(jù)庫的Hive性能參數(shù),當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,邏輯層優(yōu)化模塊對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理,當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,物理層優(yōu)化模塊對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理,能夠方便的找到問題的所在,提高了性能優(yōu)化的效率。
[0064]注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
【權(quán)利要求】
1.一種分布式數(shù)據(jù)庫的性能優(yōu)化的方法,其特征在于,所述方法包括: 在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù),所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù); 當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理; 當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理,包括: 對不滿足所述第一預設條件的HQL語句進行語法識別,找出HQL語法低效的HQL語句; 找出所述分布式數(shù)據(jù)庫運行過程中不滿足預設執(zhí)行計劃的HQL語句組合; 對找出的HQL語法低效的HQL語句的語法進行改進,并按照所述預設執(zhí)行計劃對找出的所述HQL語句組合進行調(diào)整。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理,包括: 優(yōu)化所述分布式數(shù)據(jù)庫的存儲性能; 優(yōu)化所述分布式數(shù)據(jù)庫的讀取性能; 優(yōu)化所述分布式數(shù)據(jù)庫的運算性能。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,優(yōu)化所述分布式數(shù)據(jù)庫的存儲性能,包括: 當所述分布式數(shù)據(jù)庫中存儲有產(chǎn)生網(wǎng)絡流量大于預定值的第一數(shù)據(jù)文件時,優(yōu)化所述第一數(shù)據(jù)文件在所述分布式數(shù)據(jù)庫中的存儲位置; 當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在大于第一數(shù)據(jù)塊閾值的第一數(shù)據(jù)塊時,減小所述第一數(shù)據(jù)塊;當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在小于第二數(shù)據(jù)塊閾值的第二數(shù)據(jù)塊時,增大所述第二數(shù)據(jù)塊,所述第一數(shù)據(jù)塊閾值大于所述第二數(shù)據(jù)塊閾值; 當所述分布式數(shù)據(jù)庫存儲有存儲格式不滿足預設存儲格式的第二數(shù)據(jù)文件時,優(yōu)化所述第二數(shù)據(jù)文件的存儲格式。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,優(yōu)化所述分布式數(shù)據(jù)庫的讀取性能,包括: 優(yōu)化所述分布式數(shù)據(jù)庫中本地節(jié)點的數(shù)據(jù)的預處理。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,優(yōu)化所述分布式數(shù)據(jù)庫的運算性能,包括: 將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量小的表保存到所述分布式數(shù)據(jù)庫中參與運算的節(jié)點的內(nèi)存,將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量大的表保存到在所述分布式數(shù)據(jù)庫中的本地節(jié)點的內(nèi)存; 判斷所述分布式數(shù)據(jù)庫中各個節(jié)點的運算負荷,將運算負荷大于第一負荷閾值的節(jié)點上的數(shù)據(jù),分配到運算負荷小于第二負荷閾值的節(jié)點上,所述第一負荷閾值大于或等于所述第二負荷閾值。
7.一種分布式數(shù)據(jù)庫的性能優(yōu)化的裝置,其特征在于,所述裝置包括:采集模塊,用于在分布式數(shù)據(jù)庫運行過程中,采集所述分布式數(shù)據(jù)庫的Hive性能參數(shù),所述Hive性能參數(shù)包括邏輯層參數(shù)和物理層參數(shù); 邏輯層優(yōu)化模塊,用于當所述Hive性能參數(shù)中的邏輯層參數(shù)不滿足第一預設條件時,對所述分布式數(shù)據(jù)庫的邏輯層進行優(yōu)化處理; 物理層優(yōu)化模塊,用于當所述Hive性能參數(shù)中的物理層參數(shù)不滿足第二預設條件時,對所述分布式數(shù)據(jù)庫的物理層進行優(yōu)化處理。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,邏輯層優(yōu)化模塊包括: HQL語法查找子模塊,用于對不滿足所述第一預設條件的HQL語句進行語法識別,找出HQL語法低效的HQL語句; HQL語句組合查找子模塊,用于找出所述分布式數(shù)據(jù)庫運行過程中不滿足預設執(zhí)行計劃的HQL語句組合; 改進子模塊,用于對找出的HQL語法低效的HQL語句的語法進行改進,并按照所述預設執(zhí)行計劃對找出的所述HQL語句組合進行調(diào)整。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,物理層優(yōu)化模塊包括: 存儲性能優(yōu)化子模塊,用于優(yōu)化所述分布式數(shù)據(jù)庫的存儲性能; 讀取性能優(yōu)化子模塊,用于優(yōu)化所述分布式數(shù)據(jù)庫的讀取性能; 運算性能優(yōu)化子模塊,用于優(yōu)化所述分布式數(shù)據(jù)庫的運算性能。
10.根據(jù)權(quán)利要求9所 述的裝置,其特征在于,存儲性能優(yōu)化子模塊包括: 存儲位置優(yōu)化單元,用于當所述分布式數(shù)據(jù)庫中存儲有產(chǎn)生網(wǎng)絡流量大于預定值的第一數(shù)據(jù)文件時,優(yōu)化所述第一數(shù)據(jù)文件在所述分布式數(shù)據(jù)庫中的存儲位置; 數(shù)據(jù)庫優(yōu)化單元,用于當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在大于第一數(shù)據(jù)塊閾值的第一數(shù)據(jù)塊時,減小所述第一數(shù)據(jù)塊;當所述分布式數(shù)據(jù)庫存儲的數(shù)據(jù)中存在小于第二數(shù)據(jù)塊閾值的第二數(shù)據(jù)塊時,增大所述第二數(shù)據(jù)塊,所述第一數(shù)據(jù)塊閾值大于所述第二數(shù)據(jù)塊閾值; 存儲格式優(yōu)化單元,用于當所述分布式數(shù)據(jù)庫存儲有存儲格式不滿足預設存儲格式的第二數(shù)據(jù)文件時,優(yōu)化所述第二數(shù)據(jù)文件的存儲格式。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,讀取性能優(yōu)化子模塊包括: 數(shù)據(jù)預處理優(yōu)化單元,用于優(yōu)化所述分布式數(shù)據(jù)庫中本地節(jié)點的數(shù)據(jù)的預處理。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,運算性能優(yōu)化子模塊包括: 節(jié)點內(nèi)存優(yōu)化單元,用于將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量小的表保存到所述分布式數(shù)據(jù)庫中參與運算的節(jié)點的內(nèi)存,將所述分布式數(shù)據(jù)庫中數(shù)據(jù)量大的表保存到在所述分布式數(shù)據(jù)庫中的本地節(jié)點的內(nèi)存; 節(jié)點負荷優(yōu)化單元,用于判斷所述分布式數(shù)據(jù)庫中各個節(jié)點的運算負荷,將運算負荷大于第一負荷閾值的節(jié)點上的數(shù)據(jù),分配到運算負荷小于第二負荷閾值的節(jié)點上,所述第一負荷閾值大于或等于所述第二負荷閾值。
【文檔編號】G06F17/30GK103823881SQ201410075800
【公開日】2014年5月28日 申請日期:2014年3月4日 優(yōu)先權(quán)日:2014年3月4日
【發(fā)明者】代彬 申請人:北京京東尚科信息技術有限公司, 北京京東世紀貿(mào)易有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1