李莉 廣東白云學院
隨著當前我國信息技術的不斷發(fā)展和進步,其對當代人的生活和工作也帶來了非常大的改變,翻天覆地的變革產(chǎn)生的同時也隨機產(chǎn)生了很多的數(shù)據(jù)需要進行管理,從而衍生了數(shù)據(jù)庫技術、大數(shù)據(jù)技術、數(shù)據(jù)挖掘技術等先進的數(shù)據(jù)處理與管理技術,其中數(shù)據(jù)庫技術是一種較為便利和高效的數(shù)據(jù)管理工具,主要可以分為關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫兩種技術,相對而言,關系型數(shù)據(jù)庫的產(chǎn)生更早,通過模型來進行數(shù)據(jù)組織,在應用范圍上較為廣泛,而非關系型數(shù)據(jù)庫在設計模式時主要采用分布式非關系型,并且不提供數(shù)據(jù)庫事務處理基本要素ACID,也具有突出的特點。
關系型數(shù)據(jù)庫通過運用數(shù)據(jù)庫管理系統(tǒng),能夠結(jié)合管理目標和工作項目進行專門的設計,從形成分散獨立的數(shù)據(jù)庫方便使用,當項目進行拓展時,也能夠通過數(shù)據(jù)庫靈活使用滿足需求。但是需要注意的是,在進行數(shù)據(jù)庫選取時,必須進行預先籌劃,如果未能合理規(guī)劃,便容易造成存儲和使用過程無法保障的問題,使得數(shù)據(jù)庫的維護和拓展過程難以正常實現(xiàn)。關系型數(shù)據(jù)庫主要以數(shù)據(jù)關聯(lián)性為基礎,通常包含的數(shù)據(jù)量非常大,因此在數(shù)據(jù)查找時會消耗較多的時間,從而對使用效率產(chǎn)生一定的影響,當數(shù)據(jù)量過于龐大時,使用關系型數(shù)據(jù)庫保證效率較為困難。隨著當前互聯(lián)網(wǎng)技術的發(fā)展,非關系型數(shù)據(jù)庫逐步進入人們的生活中,并得到了業(yè)內(nèi)研究者的廣泛關注和應用,特別是在規(guī)模非常龐大的社交網(wǎng)站中具有突出的應用,能夠解決關系型數(shù)據(jù)庫暴露的諸多問題,相對來說在數(shù)據(jù)庫讀寫需求較大、存儲訪問需求較多、擴展性需求較高的條件下更為適用。同時,關系型數(shù)據(jù)庫在多表關聯(lián)查詢、實時讀寫、事務一致性等方面的要求也更高,當相關網(wǎng)站難以實現(xiàn)此類條件時,便無法正確發(fā)揮其功能,因此業(yè)內(nèi)為了解決這一問題,初步探索和使用非關系型數(shù)據(jù)庫,取得了一定的應用。但是當前依然也存在一些使用中的不足,非關系型數(shù)據(jù)庫的產(chǎn)生較晚,加之使用多樣性和復雜性,因此也存在一定的使用難度,通常需要針對不同問題而針對性分析和設計。
在信息量逐步龐大的時代背景下,傳統(tǒng)的人工數(shù)據(jù)管理方式已經(jīng)難以滿足現(xiàn)代化管理的需求,必須借助數(shù)據(jù)庫技術得以優(yōu)化運用。通過對大量數(shù)據(jù)信息進行結(jié)構化的處理,實現(xiàn)的管理和存儲能夠?qū)崿F(xiàn)數(shù)據(jù)倉庫的優(yōu)化運用,因此我們可以將數(shù)據(jù)庫看作是各類數(shù)據(jù)和文件的電子化文件柜,用戶能夠便捷地進行電子文件的查找、增加、刪除、修改等操作。為了更好地實現(xiàn)數(shù)據(jù)庫相關功能,需要日常對數(shù)據(jù)庫進行常態(tài)化的管理。在進行數(shù)據(jù)庫管理前,首先需要對數(shù)據(jù)進行錄入或?qū)?,通過完整的數(shù)據(jù)結(jié)構和數(shù)據(jù)庫相關功能,實現(xiàn)后期的查詢等一系列操作,通過運用計算機技術對數(shù)據(jù)庫進行相應的管理和操作,能夠顯著提升日常辦公和使用效率,因此,數(shù)據(jù)庫技術主要應當具備如下五個特點:一是滿足數(shù)據(jù)共享的需要,要保證不同用戶在同一時間對數(shù)據(jù)庫中數(shù)據(jù)的讀取和寫入,通過各類接口設備的使用,能夠避免用戶大量重復數(shù)據(jù)的產(chǎn)生,導致數(shù)據(jù)冗余,也能夠避免數(shù)據(jù)的不一致和不相容。二是保證數(shù)據(jù)的獨立性,如邏輯獨立性和物理獨立性等,邏輯獨立性需要數(shù)據(jù)庫中的數(shù)據(jù)與用戶應用程序相對獨立,使用應用程序進行修改不會對數(shù)據(jù)內(nèi)容產(chǎn)生影響;而物理獨立性主要指數(shù)據(jù)的物理結(jié)構發(fā)生變化不會影響數(shù)據(jù)的邏輯。三是實現(xiàn)數(shù)據(jù)的集中控制,與傳統(tǒng)管理文件的方法有所不同的是,數(shù)據(jù)庫技術能夠?qū)崿F(xiàn)對文件數(shù)據(jù)的集中管理與控制,整個過程不再處于分散狀態(tài),能夠使用更好更高效的數(shù)據(jù)模型展示數(shù)據(jù)間的關系。四是保證數(shù)據(jù)的可維護性和一致性,對數(shù)據(jù)庫中的數(shù)據(jù)要進行適當?shù)耐暾钥刂啤踩钥刂频炔僮?,以防出現(xiàn)數(shù)據(jù)的錯誤、更新和丟失,從而保證其有效性和正確性,特別是在對一段時間周期內(nèi)進行多路存取數(shù)據(jù),要防止用戶之間出現(xiàn)不正常交互,從而切實保障數(shù)據(jù)的安全性。五是數(shù)據(jù)庫應當具備故障恢復能力和條件,當數(shù)據(jù)庫系統(tǒng)出現(xiàn)邏輯上或物理上的故障,應當能夠盡快恢復數(shù)據(jù)庫系統(tǒng),防止其被破壞或產(chǎn)生毀滅性的損傷。
關系型數(shù)據(jù)庫一般是在二維表數(shù)據(jù)模型的基礎上創(chuàng)建得到的。通過二維表格存放關系模型中相應的數(shù)據(jù)實現(xiàn)數(shù)據(jù)的集合,因此將二維表稱作關系,用來表示存儲數(shù)據(jù)對象與代表之間的關系,通過行和列不同的組成形式,展現(xiàn)出多對多、一對多、一對一等不同的關聯(lián)方法,因此關系型數(shù)據(jù)庫通常是二維表互相關聯(lián)得到的綜合數(shù)據(jù)結(jié)構。SQL是一種結(jié)構化查詢語言,是進行數(shù)據(jù)庫編輯設計的語言,同時也是數(shù)據(jù)庫腳本文件,能夠?qū)崿F(xiàn)數(shù)據(jù)控制語言、數(shù)據(jù)操縱語言、數(shù)據(jù)查詢語言和數(shù)據(jù)定義語言的統(tǒng)一體,從而實現(xiàn)對數(shù)據(jù)庫內(nèi)容的全部操作,從查詢到錄入到修改和刪除等全過程都可以在SQL語言的幫助下實現(xiàn),用戶僅需為計算機提供需要操作的指令,不再需要為其設置操作的過程便可以實現(xiàn)系統(tǒng)的自動控制,從而提高了數(shù)據(jù)的獨立性,減少了用戶的工作量。在關系型數(shù)據(jù)庫中,一般采用SQL作為標準數(shù)據(jù)查詢語言,從而形成簡單易懂數(shù)據(jù)庫管理模式。在數(shù)十年的發(fā)展經(jīng)歷中,關系型數(shù)據(jù)庫形成了豐富的理論基礎和技術產(chǎn)品,是當前數(shù)據(jù)庫領域的主要組成部分,并且具有隔離性、持久性、一致性、原子性的特征,能夠解決一系列數(shù)據(jù)庫問題,因此在實際運用中非常廣泛,但是關系型數(shù)據(jù)庫由于其結(jié)構特點的限制,在進行高效擴展架構時會受到一定的影響,因此非關系型數(shù)據(jù)庫也得到了大家的關注。
業(yè)內(nèi)將非關系型數(shù)據(jù)庫也稱為NoSQL。主要是指非關系型數(shù)據(jù)庫,不僅僅依靠結(jié)構化查詢語言,通過非關系型模型中的適當設置,使其不僅能夠具有ACID的有關特性,而且能夠在關系型傳統(tǒng)數(shù)據(jù)模型基礎上更好地滿足互聯(lián)網(wǎng)需求,將開源免費資源更加簡單便捷地向用戶提供,一方面擁有橫縱雙向的擴展能力,在多個服務器上布置結(jié)構特性,另一方面能夠保持結(jié)構自由,使得其能夠更好地融入云計算環(huán)境,為云服務提供可能。
關系型數(shù)據(jù)庫與非關系型數(shù)據(jù)庫在具體使用過程中存在較大的差別,因此在各個領域應用時,需要充分考慮實際情況,并發(fā)揮出數(shù)據(jù)庫的特有優(yōu)勢。如關系型數(shù)據(jù)庫具有邏輯清晰、結(jié)構簡單的特點,便于理解。通過位表的使用能夠在表與表之間建立復雜的數(shù)據(jù)查詢結(jié)構,因此在學習時更加的便捷,同時其具有一致性和完整性的突出特點,在維護時較為方便。但是關系型數(shù)據(jù)庫同時存在結(jié)構固定、海量數(shù)據(jù)讀寫效率不足,受一致性影響嚴重的特點。
非關系型數(shù)據(jù)庫具有讀寫性高、格式靈活、數(shù)據(jù)種類多樣的特點,因其不再需要SQL進行解析,所以在擴展方面較為便捷,具有較好的數(shù)據(jù)性能。但是由于其不提供SQL支持,因此學習時具有較高的成本,并且事物處理相關功能比較欠缺。
從目前業(yè)內(nèi)情況來看,應用關系型數(shù)據(jù)庫已經(jīng)較為成熟,但是在非關系型數(shù)據(jù)庫的應用上尚顯不足。在當前民眾對數(shù)據(jù)處理相應需求不斷提升的背景下,給數(shù)據(jù)的高擴展性提出了越來越多的要求,因此,業(yè)內(nèi)亟須探索從關系型數(shù)據(jù)庫向非關系型數(shù)據(jù)庫的過渡,更好地適應不同場景的應用。
對于非關系型數(shù)據(jù)庫,業(yè)內(nèi)的理解有許多方式,很多人認為其可以看作數(shù)據(jù)結(jié)構化存儲方法的集合,而擺脫了嚴格意義上數(shù)據(jù)庫的概念,其應用的場景主要包括如下一些種類:
通過流的方式形成列式存儲,能夠?qū)崿F(xiàn)對數(shù)據(jù)的存儲過程,同時形成快速索引,幫助便捷查找數(shù)據(jù),通過行檢索快速匹配列值,能夠?qū)崿F(xiàn)行的重組,使得系統(tǒng)具有較高的可擴展性,操作也較為方便,此類方法對海量數(shù)據(jù)的適應性較好,能夠良好的滿足云計算的相關需求,如當前廣泛使用的Google BigTable等。
在非關系型數(shù)據(jù)庫中,最簡單的存儲方式是鍵值對存儲方式,它可以看作是一個鍵值集合,每一個鍵分別對應一個值,存儲數(shù)據(jù)類型受限制較少,既可以是數(shù)字,也可以是字符串或封裝對象,通過組件的操作可以實現(xiàn)查詢與修改的完成,從而對大量數(shù)據(jù)實現(xiàn)存放和查找,在現(xiàn)實中有很多的應用,如MemcacheDB、Redis數(shù)據(jù)庫等。
在進行文檔存儲時,可以采用鍵值對存儲的形式,也可以讓每個key與相應的value對應,雖然這種方式更加的復雜,但是其在文檔存儲時具有一定的優(yōu)勢,可以將特定文檔結(jié)構通過特定模式完成存儲,便于后期進行復雜計算與查詢,當前業(yè)內(nèi)的應用典型包括MongoDB、CouchDB等。
當數(shù)據(jù)庫所要面臨的問題與圖相關時,便涉及圖數(shù)據(jù)庫,該圖數(shù)據(jù)庫能夠給用戶提供網(wǎng)狀分布數(shù)據(jù)管理平臺,用來管理復雜的數(shù)據(jù)結(jié)構,基于圖模型提供數(shù)據(jù)管理解決方案,分為開源和閉源兩種,在社交網(wǎng)絡環(huán)境中廣泛應用,如FrockDB、OrientDB等。
在當前網(wǎng)絡信息技術不斷發(fā)展、數(shù)據(jù)規(guī)模不斷擴大、數(shù)據(jù)復雜程度不斷提升的背景下,傳統(tǒng)的關系型數(shù)據(jù)庫在面對新型的網(wǎng)絡環(huán)境和數(shù)據(jù)結(jié)構時,經(jīng)常表現(xiàn)出不足,因此,應當更多的探索非關系型數(shù)據(jù)庫,借助其靈活性、高性能和易拓展的特點,使數(shù)據(jù)模型得到充分的發(fā)展,更好地突出企業(yè)具備的優(yōu)勢,雖然非關系型數(shù)據(jù)庫不支持SQL語言,導致學習和使用成本有所提升,在數(shù)據(jù)完整性和一致性方面也有所不足,但是如果使用時能夠充分考慮場景特點,將關系型數(shù)據(jù)庫與非關系型數(shù)據(jù)庫合理選擇和應用,便可以實現(xiàn)優(yōu)勢互補,充分發(fā)揮各自的特點,使其互相之間成為補充,更好的完善數(shù)據(jù)庫技術的發(fā)展與應用。