前言:想要寫出一篇引人入勝的文章?我們特意為您整理了傳統關系數據庫與大數據庫技術淺談范文,希望能給你帶來靈感和參考,敬請閱讀。
1引言
全球多家研究機構統計數據顯示,大數據產業將迎來發展黃金期,IDC預計,大數據和分析市場將從2016年的1300億美元增長到2020年的2030億美元以上,中國報告大廳的大數據行業報告數據也說明,自2017年起,未來2-3年的市場規模增長率將保持在35%左右。大數據像空氣一樣,隨處可見,日積月累的海量數據不得不讓人們重新考慮大數據的存儲和管理。
基于二維關系模型的數據庫在數據管理的發展歷程中是一個標志性的時期,數據結構化存儲,冗余較低、程序和數據具有一定的獨立性、易擴充等特點。隨著Internet技術的發展,涌現出半結構化、非結構化數據,對這些結構復雜的大數據的高效實時多維分析的需求越來越多。傳統的關系數據庫從70年展至今,雖然應用范圍較廣技術較成熟,但在處理海量數據方面還存在許多不足。(1)關系模型結構制約了快速訪問大數據的能力。在二維關系表中,依據屬性的值來檢索相應的元組,受這種方式的束縛,在檢索數據過程中,將耗費一定的時間,從而使訪問數據的時間較慢。在存儲對象設計上雖然可以使用分區的方法,提高數據訪問沖突,但在大量數據的前提下,分區技術改善的性能較微弱。(2)處理大數據的靈活性不足。在應用系統中,用戶的各種查詢需求經常發生變化,不受時間和操作對象的約束,用戶希望隨時隨地都能快速得到反饋結果。關系型數據庫需要專門的數據庫維護人員對用戶的查詢要求進行優化處理,不能及時的反饋給用戶查詢結果,這使得使用關系數據庫存儲數據的企業不具備對大數據的快速響應能力。(3)處理復雜結構數據能力較弱。關系型數據庫對現實數據的處理常見類型為字符、數值等,對于半結構化和非結構化數據的處理只限于二進制代碼文件的存儲,而現今用戶對復雜結構數據的要求上升為識別、檢索和多維分析,如何處理占總數據量85%的非結構化數據,是許多關系數據庫產品需要解決的問題。(4)存儲維護管理PB級數據導致成本不斷增加。數據量遞增使得企業在硬件存儲上投資不斷增加,雖然存儲設備的投入成本在逐步降低,但總成本卻在逐步提高。此外,大量復雜結構的數據維護工作也給數據庫管理員增加了很多負擔。
3大數據庫技術
隨著大數據技術的日趨完善,各大公司及開源社區都陸續了一系列新型數據庫來解決海量數據的組織、存儲及管理問題。目前,工業界主流的處理海量數據的數據庫有四種,分別是列式數據庫、內存數據庫、鍵值數據庫及流式數據庫。
3.1列式數據庫
采用列族存儲數據,將經常被使用的數據放到一個列族中,例如,經常會查詢學生的學號和姓名,而不是專業,這樣把學號和姓名放到一個列族中,專業放到另一個列族中,該數據庫通常用來存儲分布式大數據,HBase是列式數據庫的典型代表。
3.2內存數據庫
對數據庫中所有數據的操作都在內存中完成,一般數據庫也有一定的緩存機制,對大部分數據的操作都包含從外存到內存的讀取,這一過程在很大程度上降低了系統的性能。由于在內存中的讀/寫是以納秒為單位的,所以內存數據庫的性能極高,Spark是內存數據庫的典型代表。
3.3鍵值數據庫
該數據庫主要借助哈希表的結構,使用一個特定的鍵和一個指向特定數據的指針,利用鍵來完成對數據庫中數據的添加、刪除和查詢操作,這種結構具有很好的擴展性,使系統具有較高的性能,Memcached、Redis、MemcacheDB都是鍵值數據庫的典型代表。
3.4流式數據庫
基本理念是數據的價值會隨著時間的流逝而不斷減少,因此,需要使式數據庫來實現流式計算。流式計算處理模式是將源源不斷的數據視為數據流,它總是盡可能快速地分析最新的數據,并給出分析結果,也就是盡可能實現實時計算。典型流式數據庫:SparkStreaming、Storm。
4大數據SQL
大數據查詢分析是基于互聯網的相關服務的增加、使用和交互模式中的核心問題。由ApacheLucene的創始人DoungCutting使用GFS、Map-Reduce技術支持創建的ApacheHadoop,是一個能夠對大量數據進行分布式處理的軟件框架。Hadoop技術無處不在,其發展得益于Google發表的關于GFS和MapReduce的論文。在開源世界,ApacheHadoop的分布式文件系統HDFS和HadoopMapReduce完全是谷歌文件系統GFS和MapReduce的開源實現。Hadoop項目已經發展成為一個生態圈,觸及了大數據領域的各個方面。由Google的BigTable和Amazon的Dynamo使用的NoSQL數據庫,提倡使用非關系型的數據存儲,這一全新的思維的注入,打破了關系型數據庫管理系統在商用數據庫領域幾十年的統治性地位。
5小結
本文在分析了大數據研究現狀后,對傳統關系數據庫面臨的挑戰進行了介紹,在此基礎上研究分析了當前主流的大數據庫技術以及大數據查詢分析。對開發一個大數據庫項目而言,技術是不斷更新變換的,哪種技術能被使用的時間越久,關鍵在于誰的生態系統更強,能夠高效的應對用戶各種隨機變化的需求。
參考文獻
[1]劉鵬.大數據庫[M].電子工業出版社,2018:1-27.
[2]胡世昆.分布式數據庫技術在大數據中的應用[J].電子技術與軟件工程,2019(01):153.
[3]蔣暉等.大數據技術概論[M].清華大學出版社,2017:38-42.
作者:翟霞 單位:哈爾濱華德學院