梁銘
摘要:本文詳細(xì)介紹了合并數(shù)據(jù)庫(kù)條件下數(shù)據(jù)庫(kù)查詢(xún)技術(shù)的特點(diǎn),分析了數(shù)據(jù)關(guān)系復(fù)雜、數(shù)據(jù)管理困難的信息系統(tǒng),提出了一種方便快捷的數(shù)據(jù)庫(kù)查詢(xún)方法,以提高數(shù)據(jù)庫(kù)信息管理系統(tǒng)的性能,提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的運(yùn)行效率,并集中精力實(shí)現(xiàn)該方法的關(guān)鍵技術(shù)。
關(guān)鍵詞:融合數(shù)據(jù)庫(kù);快速查詢(xún)
中圖分類(lèi)號(hào):TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)35-0023-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
隨著院校系統(tǒng)的擴(kuò)展和數(shù)據(jù)的不斷擴(kuò)展,各種大型數(shù)據(jù)庫(kù)在院校以及數(shù)據(jù)庫(kù)查詢(xún)成功與否中扮演著非常重要的角色,起到了關(guān)鍵作用。近年來(lái),關(guān)于如何提高數(shù)據(jù)庫(kù)性能的問(wèn)題,提出了許多關(guān)于如何提高數(shù)據(jù)庫(kù)性能的方法和理論。但是,當(dāng)今的傳統(tǒng)方法在很大程度上依賴(lài)于添加硬件或提高硬件質(zhì)量來(lái)增強(qiáng)數(shù)據(jù)庫(kù)性能。這種優(yōu)化措施不僅增加了院校的成本,而且效果較差。但是,從硬件角度來(lái)看,僅調(diào)整數(shù)據(jù)庫(kù)的性能是不夠的[1]?;谏鲜鰡?wèn)題,本文提出了一種新的方法來(lái)優(yōu)化數(shù)據(jù)庫(kù)查詢(xún),主要是從軟件角度來(lái)最大化地提升數(shù)據(jù)庫(kù)性能。本文中的方法不會(huì)給院校增加負(fù)擔(dān),它可以在院校原始硬件設(shè)施的基礎(chǔ)上完成數(shù)據(jù)庫(kù)的優(yōu)化,它具有很強(qiáng)的效率和經(jīng)濟(jì)效益。
2 基于融合數(shù)據(jù)庫(kù)的信息存儲(chǔ)架構(gòu)
2.1融合數(shù)據(jù)庫(kù)
實(shí)時(shí)數(shù)據(jù)庫(kù)是將數(shù)據(jù)庫(kù)和實(shí)時(shí)系統(tǒng)結(jié)合在一起的新型數(shù)據(jù)庫(kù),它負(fù)責(zé)管理數(shù)據(jù)和限時(shí)對(duì)象。整個(gè)系統(tǒng)的效率不僅取決于邏輯結(jié)果,還取決于產(chǎn)生邏輯結(jié)果所花費(fèi)的時(shí)間。Talk-DB是Zhongke Qixin開(kāi)發(fā)的實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng),數(shù)據(jù)庫(kù)系統(tǒng)識(shí)別哪些傳感器是標(biāo)簽,哪些標(biāo)簽是最小的控制單元。將多個(gè)標(biāo)記劃分為邏輯“設(shè)備站”組,以便于管理。系統(tǒng)引入了“數(shù)據(jù)注冊(cè)”的概念,通過(guò)主動(dòng)單擊信息表,用戶(hù)可以獲取指定標(biāo)簽的最新值,而無(wú)須索取。用戶(hù)可以通過(guò)“歷史查詢(xún)”查詢(xún)由指定標(biāo)簽生成的歷史數(shù)據(jù),考慮到感覺(jué)數(shù)據(jù)的特征,ThinkDB提出了一種ChinQuery自定義查詢(xún)語(yǔ)言,該語(yǔ)言具有特殊的查詢(xún)功能,例如查詢(xún)組件:一次查詢(xún)標(biāo)簽數(shù)據(jù)[2-4]。其能夠統(tǒng)查詢(xún)計(jì)數(shù)、最小值、最大值、總數(shù)、平均值等特定時(shí)間段內(nèi)的標(biāo)簽數(shù)量。
HBase是基于HDFS分布式文件系統(tǒng)的分布式開(kāi)源數(shù)據(jù)庫(kù),Hadoop已被廣泛用于開(kāi)源,透明的基本部件,低成本的硬件分發(fā)和易于擴(kuò)展。HBase是用于面向列、分散和連續(xù)存儲(chǔ)的多維地圖輸入板。在HBase中,具有相同列族的數(shù)據(jù)存儲(chǔ)在一起,這使得可以在讀寫(xiě)操作期間有效地刪除I / O磁盤(pán),并且還能夠使數(shù)據(jù)更加壓縮[5]。數(shù)據(jù)僅約為原始數(shù)據(jù)的1/4,從而節(jié)省了大量物理空間。HBase旨在存儲(chǔ)從TB到PB的大規(guī)模數(shù)據(jù),可以在數(shù)千臺(tái)常規(guī)計(jì)算機(jī)上使用,并且可以由大型用戶(hù)高速讀寫(xiě)。HBase的上述功能使其在存儲(chǔ)大型傳感器的歷史數(shù)據(jù)方面具有強(qiáng)大的優(yōu)勢(shì)。
2.2 數(shù)據(jù)庫(kù)快速查詢(xún)的標(biāo)準(zhǔn)
對(duì)于標(biāo)準(zhǔn)數(shù)據(jù)集,主要基于以下兩個(gè)因素來(lái)測(cè)試數(shù)據(jù)庫(kù)查詢(xún)的性能。
(1)程序性能:性能是程序在應(yīng)用程序過(guò)程中完成任務(wù)的時(shí)間與完成的任務(wù)數(shù)之比,該比率反映了目標(biāo)系統(tǒng)。以下公式用于解釋吞吐量的含義:性能=任務(wù)完成/任務(wù)完成時(shí)間。
(2)數(shù)據(jù)收集程序在收到用戶(hù)指令后運(yùn)行所需的時(shí)間:通常,此處的時(shí)間是指用戶(hù)指示應(yīng)用程序或使用的時(shí)間操作和應(yīng)用在處理時(shí)間上均符合“關(guān)閉時(shí)間”的指示。從計(jì)劃的開(kāi)始到計(jì)劃的結(jié)束的時(shí)間是在收到使用說(shuō)明后處理數(shù)據(jù)收集程序所需的時(shí)間[6]。這與程序的性能有一定的關(guān)系。假設(shè)提高了效率,該過(guò)程所需的時(shí)間將減少。
2.3 數(shù)據(jù)存儲(chǔ)與查詢(xún)
如圖1所示,實(shí)時(shí)數(shù)據(jù)庫(kù)分布在不同的單元中,傳感器生成的數(shù)據(jù)在特定時(shí)間存儲(chǔ)在該單元中。存儲(chǔ)系統(tǒng)根據(jù)注冊(cè)信息向注冊(cè)的實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)送“數(shù)據(jù)注冊(cè)”請(qǐng)求,實(shí)時(shí)數(shù)據(jù)庫(kù)以主動(dòng)推送形式將傳感器生成的實(shí)時(shí)數(shù)據(jù)發(fā)送到存儲(chǔ)系統(tǒng),傳感器產(chǎn)品組合的差異使數(shù)據(jù)結(jié)構(gòu)更加多樣化。首先,存儲(chǔ)系統(tǒng)將根據(jù)傳感器目錄對(duì)數(shù)據(jù)進(jìn)行分類(lèi),然后將分類(lèi)的數(shù)據(jù)存儲(chǔ)到緩沖區(qū)中。
數(shù)據(jù)存儲(chǔ)服務(wù)的精確設(shè)計(jì)將在將大量數(shù)據(jù)寫(xiě)入HBase并將該區(qū)域分為兩部分的過(guò)程中實(shí)現(xiàn)站點(diǎn)分離。在轉(zhuǎn)換過(guò)程中,HBase將鎖定該區(qū)域,并且訪(fǎng)問(wèn)該區(qū)域的請(qǐng)求將被鎖定。HBase在此區(qū)域中的旋轉(zhuǎn)將導(dǎo)致區(qū)域服務(wù)器上的區(qū)域分布不均勻,并觸發(fā)HBase區(qū)域操作。此過(guò)程將保留離線(xiàn)區(qū)域。客戶(hù)如若仍在離線(xiàn)網(wǎng)站上記錄大量數(shù)據(jù),會(huì)引起異常。因此,HBase的寫(xiě)入性能仍存在不穩(wěn)定的問(wèn)題。為了解決上述問(wèn)題,本設(shè)計(jì)引入了多媒體數(shù)據(jù)緩沖區(qū)操作模塊。
RowKey設(shè)計(jì)的HBase索引基于RowKey序列鍵。用戶(hù)需要盡可能將信息或查詢(xún)大小放在序列鍵中。包含結(jié)構(gòu)信息的所有單元格都稱(chēng)為鍵值,并在存儲(chǔ)時(shí)通過(guò)按順序鍵從左到右順序存儲(chǔ)。例如,序列鍵為:0100、0070、1000、3310,序列為0070、0100、1000、3310。在HBase中,當(dāng)數(shù)據(jù)量增加時(shí),表將被分為多個(gè)區(qū)域。它的數(shù)據(jù)存儲(chǔ)區(qū)域從StarKey到EndKey,多區(qū)域服務(wù)器維護(hù)和管理這些區(qū)域。
如圖2所示,為了允許租戶(hù)將系統(tǒng)用作實(shí)時(shí)數(shù)據(jù)庫(kù),添加了SinQuery查詢(xún)單元以用于特殊的查詢(xún)方法,例如“歷史查詢(xún)”和“統(tǒng)計(jì)查詢(xún)”。例如,在查詢(xún)“選擇ID,名稱(chēng),站點(diǎn),值,CHINRTCMDHISTORYQWHEHREStart_Time = 1321243200,End_Time = 1321243220,VALUE> 28,TYPE ='temp'”中,查詢(xún)的不同含義始于開(kāi)始時(shí)間28。首先,特定查詢(xún)單元驗(yàn)證ChinQuery語(yǔ)法,在驗(yàn)證后分析標(biāo)簽,然后驗(yàn)證用戶(hù)是否已注冊(cè)溫度傳感器數(shù)據(jù)集并發(fā)送查詢(xún)請(qǐng)求。驗(yàn)證后轉(zhuǎn)到查詢(xún)界面。查詢(xún)控制器確定基本HBase數(shù)據(jù)庫(kù)和OraCle數(shù)據(jù)庫(kù)之間的差異。由于有關(guān)傳感器的元數(shù)據(jù)信息和歷史數(shù)據(jù)分別創(chuàng)建在Oracle和HBase中,因此Oracle會(huì)查詢(xún)用戶(hù)有權(quán)訪(fǎng)問(wèn)的傳感器的元數(shù)據(jù)信息。同時(shí)從HBase群集請(qǐng)求這些傳感器,即歷史數(shù)據(jù)VALUE > 28,將根據(jù)查詢(xún)進(jìn)行合并和打包,最后返回給用戶(hù)。
3 融合數(shù)據(jù)庫(kù)快速查詢(xún)方法
3.1調(diào)整實(shí)例內(nèi)存參數(shù)提高數(shù)據(jù)庫(kù)性能
通常,在安裝了與數(shù)據(jù)收集相關(guān)的應(yīng)用程序之后,所有相關(guān)變量均為默認(rèn)值。大多數(shù)數(shù)據(jù)庫(kù)用戶(hù)不會(huì)更改這些導(dǎo)致數(shù)據(jù)庫(kù)性能的變量。您可以通過(guò)數(shù)據(jù)庫(kù)內(nèi)存更改相關(guān)系數(shù),從而在數(shù)據(jù)收集期間提高應(yīng)用程序的處理能力,并提高數(shù)據(jù)收集的性能。對(duì)于DB2數(shù)據(jù)集,存在三個(gè)相關(guān)系數(shù),包括實(shí)際使用的系數(shù),數(shù)據(jù)集中使用的系數(shù)以及DB2注冊(cè)組件使用的系數(shù)。這三個(gè)因素是使用數(shù)據(jù)庫(kù)的基礎(chǔ)。在更改相關(guān)系數(shù)之前,首先確定DB2的構(gòu)造方法。
在此數(shù)據(jù)集中,所有子組數(shù)據(jù)(包括子組數(shù)據(jù))均以實(shí)用方式進(jìn)行管理??梢允褂靡环N實(shí)用的方法來(lái)管理大量數(shù)據(jù)項(xiàng)。因此,數(shù)據(jù)生成方法分為訓(xùn)練過(guò)程中可以共享的存儲(chǔ)器和數(shù)據(jù)收集中可以共享的存儲(chǔ)器。用于每個(gè)練習(xí)的數(shù)據(jù)集是可以在練習(xí)期間共享的內(nèi)存。此存儲(chǔ)器在數(shù)據(jù)管理器的開(kāi)始處獲取,并且在數(shù)據(jù)獲取控制結(jié)束時(shí)將不再可用。這種類(lèi)型的較小集合通常用于諸如監(jiān)視和審計(jì)之類(lèi)的練習(xí)。此內(nèi)存也是可以提高性能的重要區(qū)域。在日志的內(nèi)存和緩沖區(qū)中設(shè)置數(shù)據(jù)收集的緩沖區(qū)可以提高數(shù)據(jù)系統(tǒng)的性能。
3.2 合理設(shè)計(jì)索引提高數(shù)據(jù)庫(kù)查詢(xún)性能
在工作計(jì)劃中,索引也很重要,創(chuàng)建適當(dāng)?shù)乃饕部梢蕴岣邤?shù)據(jù)收集的性能。索引是連續(xù)數(shù)據(jù)項(xiàng)的序列。該索引可以方便、準(zhǔn)確地獲得數(shù)據(jù)收集并確保所需信息的唯一性,從而提高了信息收集和索引的條件性效率。在上下文數(shù)據(jù)收集中可替換。根據(jù)實(shí)際條件構(gòu)建索引可以提高數(shù)據(jù)收集的性能,尤其是在查詢(xún)功能方面。在DB2數(shù)據(jù)集中,B +樹(shù)用于存儲(chǔ)索引,DB2數(shù)據(jù)集和orory數(shù)據(jù)集都包含以集中形式構(gòu)建的索引和以分散形式構(gòu)建的索引。
通過(guò)以上分析,我們可以知道,以中央格式構(gòu)建的索引在搜索數(shù)據(jù)時(shí)可以搜索某些頁(yè)面,然后根據(jù)以下內(nèi)容從數(shù)據(jù)集中提取相關(guān)數(shù)據(jù):頁(yè)數(shù)。索引以中央格式組織。搜索數(shù)據(jù)時(shí),將按頁(yè)數(shù)在數(shù)據(jù)集中檢索要搜索的適當(dāng)頁(yè)數(shù)和相關(guān)內(nèi)容。因此,在構(gòu)建用于數(shù)據(jù)收集的索引時(shí),可以構(gòu)建以中央形式構(gòu)建的索引,并且許多索引以非中心形式構(gòu)建。
3.3 創(chuàng)建集群索引以提高查詢(xún)性能
在數(shù)據(jù)集中按順序使用序列來(lái)創(chuàng)建中心索引。 DB2數(shù)據(jù)庫(kù)管理器根據(jù)該系列的內(nèi)容存儲(chǔ)許多相關(guān)的頁(yè)面。集中索引可以在搜索數(shù)據(jù)時(shí)快速輕松地獲取位置信息。頁(yè)數(shù)或數(shù)據(jù)集中有新數(shù)據(jù)時(shí),DBA的內(nèi)部存儲(chǔ)核心將為同一數(shù)據(jù)類(lèi)型存儲(chǔ)新添加的數(shù)據(jù)。這樣,用戶(hù)可以基于同一功能快速有效地找到新數(shù)據(jù)。因此,為數(shù)據(jù)集創(chuàng)建中央索引可以顯著提高系統(tǒng)性能,但是在插入相關(guān)數(shù)據(jù)時(shí),內(nèi)部存儲(chǔ)庫(kù)核心將使用集中式索引來(lái)驗(yàn)證正確定位插入數(shù)據(jù),從而降低了插入或更新行為的實(shí)用性。
3.4 創(chuàng)建未排序的索引以提高查詢(xún)性能
數(shù)據(jù)集可以對(duì)應(yīng)于許多類(lèi)型的非中心索引,但是索引的數(shù)量不一定與系統(tǒng)的性能成正比。換句話(huà)說(shuō),索引越多,系統(tǒng)的?相對(duì)性能就越高。非中心索引用于按順序復(fù)制數(shù)據(jù)集中的內(nèi)容。創(chuàng)建非托管索引時(shí),已排序的行可以同時(shí)包含已歸檔頁(yè)數(shù)和與數(shù)據(jù)相關(guān)的索引頁(yè)。表格的索引可以檢索編號(hào)以進(jìn)行搜索。
數(shù)據(jù)的相關(guān)內(nèi)容和索引的相關(guān)內(nèi)容。因此,需要大量的存儲(chǔ)空間。添加新數(shù)據(jù)時(shí),還需要在分布式表單索引中添加相關(guān)內(nèi)容。假設(shè)數(shù)據(jù)集的順序已更新,則必須同時(shí)檢索更新內(nèi)容的數(shù)據(jù)庫(kù)頁(yè)面和索引頁(yè)面。因此,如果分散索引超出合理數(shù)量,則將降低插入或更新數(shù)據(jù)的效率。
4 結(jié)論
隨著信息技術(shù)的飛速發(fā)展,人們希望通過(guò)計(jì)算機(jī)實(shí)現(xiàn)快速高效的數(shù)據(jù)信息管理。 當(dāng)前,各行各業(yè)對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)都有很高的要求,因?yàn)楹玫墓芾硐到y(tǒng)將大大減少人員工作量并提高工作效率。此外,計(jì)算機(jī)數(shù)據(jù)庫(kù)的管理系統(tǒng)在管理大量數(shù)據(jù)方面具有無(wú)與倫比的優(yōu)勢(shì)。 因此,尋求一種快速有效的查詢(xún)方法是提高數(shù)據(jù)庫(kù)管理系統(tǒng)性能的關(guān)鍵。
參考文獻(xiàn):
[1] 王凡. 基于眾包的信息查詢(xún)處理方法研究與應(yīng)用[D].西安:西安石油大學(xué),2017.
[2] 程飛.基于云計(jì)算的圖書(shū)數(shù)據(jù)庫(kù)查詢(xún)方法研究[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2013,16(7):36-36,38.
[3] 劉珂.基于Hadoop平臺(tái)的大數(shù)據(jù)遷移與查詢(xún)方法研究及應(yīng)用[D].武漢:武漢理工大學(xué),2014.
[4] 逯冰.基于詞計(jì)算的數(shù)據(jù)庫(kù)模糊查詢(xún)技術(shù)研究與應(yīng)用[D].中南大學(xué),2012.
[5] 張星云.基于多數(shù)據(jù)庫(kù)并行調(diào)度的復(fù)雜方法研究與仿真[J].計(jì)算機(jī)仿真,2015,32(6):378-381.
[6] 宋宇峰.一種基于DB&IR的融合查詢(xún)機(jī)制的研究與實(shí)現(xiàn)[D].南京:南京農(nóng)業(yè)大學(xué),2010.
【通聯(lián)編輯:李雅琪】