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