官术网_书友最值得收藏!

3.1 軟件數據庫類型

通俗地說,數據庫就是一個存放計算機數據的“倉庫”。這個“倉庫”是按照一定的數據結構(數據結構是指數據的組織形式或數據之間的聯系)來對數據進行組織和存儲的,我們可以通過數據庫提供的多種方法來管理其中的數據。

按照早期的數據庫理論,數據庫模型分為層次式數據庫、網狀數據庫和關系型數據庫。如今,最常用的數據庫模型主要有兩種,即關系型數據庫和非關系型數據庫。

3.1.1 MySQL數據庫管理系統

MySQL是關系型數據庫管理系統,由瑞典MySQL AB公司開發而成,現在屬于Oracle公司。MySQL AB公司于2008年被Sun公司收購,此后Sun公司又被Oracle公司收購。目前MySQL被廣泛地應用在互聯網的小、中、大型網站中,這是由于其體積小、速度快、總體擁有成本低,尤其是具有開放源碼這一特點的緣故。關系型數據庫將數據保存在不同的表中,而不是將所有數據全部堆放在一起,這樣就提升了速度并提高了靈活性。

MySQL數據庫主要應用于互聯網領域,如小/中/大型網站、游戲公司及電商平臺等。

1.優點

MySQL數據庫的優點有以下幾點。

(1)MySQL性能卓越,服務穩定,很少出現異常宕機的情況。

(2)MySQL開放源代碼,不需要支付額外的費用,并且無版權制約,自主性強,使用成本較低。

(3)MySQL支持大型的數據庫,可以處理擁有上千萬條記錄的大型數據庫。

(4)MySQL支持使用標準的SQL數據語言形式。

(5)MySQL支持多種操作系統,提供了多種API接口,并且對PHP有很好的支持。PHP是一種流行的Web開發語言。除了支持PHP,還支持其他多種語言,這些編程語言包括C、C++、Python、Java、Perl等。

(6)MySQL軟件體積小,安裝、使用簡單,易于維護,并且安裝及維護成本較低。

(7)MySQL采用了GPL協議,并支持自行定制,用戶可以通過修改源碼來開發自己的MySQL系統。

(8)MySQL歷史悠久,社區及用戶非常活躍,遇到相關問題可以及時尋求幫助。

2.缺點

MySQL數據庫的缺點有以下幾點。

(1)不支持熱備份。

(2)沒有一種存儲過程語言。對于企業級數據庫的程序員來說,這是很大的限制。

(3)MySQL的價格隨平臺和安裝方式的變化而變化。Linux操作系統下的MySQL如果由用戶自己或系統管理員安裝則是免費的;如果由第三方安裝則必須付許可費。同樣地,UNIX或Linux操作系統如果自行安裝則免費;如果由第三方安裝則也會收費。

3.1.2 SQL Server數據庫管理系統

Microsoft SQL Server是由微軟公司開發的關系型數據庫系統。SQL Server功能十分全面、效率較高,可以作為中型企業或單位的數據庫平臺。SQL Server可以與Windows操作系統緊密集成,無論是應用程序開發速度還是系統事務處理運行速度,都能得到較大的提升。對于在Windows平臺上開發的各種企業級信息管理系統來說,無論是C/S(客戶機/服務器)架構還是B/S(瀏覽器/服務器)架構,SQL Server都是一個很好的選擇。SQL Server的缺點是只能在Windows操作系統下運行。

SQL Server數據庫主要應用于部分電商企業及使用Windows服務器平臺的企業。

1.優點

SQL Server數據庫的優點有以下幾點。

(1)具有易用性、適合分布式組織的可伸縮性、用于決策支持的數據庫功能、與許多其他服務器軟件緊密關聯的集成性、良好的性價比等。

(2)為數據管理與分析帶來了靈活性,允許單位在快速變化的環境中從容響應,從而獲得競爭優勢。從數據管理和分析角度看,將原始數據轉換為商業智能和充分利用Web帶來的機會非常重要。

(3)作為一個完備的數據庫和數據分析包,SQL Server為快速開發新一代企業級商業應用程序、為企業贏得核心競爭優勢打開了勝利之門。

(4)作為重要的基準測試可伸縮性和速度的紀錄保持者,SQL Server是一款完全具備Web支持能力的數據庫產品,提供了對可擴展標記語言(XML)的核心支持及在互聯網上和防火墻外進行查詢的能力。

2.缺點

SQL Server數據庫的缺點有以下幾點。

(1)開放性:SQL Server只能在Windows操作系統上運行,沒有絲毫開放性。

(2)伸縮性與并行性:SQL Server并行實施和共存模型逐漸成熟,但處理日益增多用戶數和數據卷伸縮性有限。

(3)安全性:沒有獲得任何安全證書。

(4)性能:多用戶狀態時,SQL Server性能不佳。

(5)客戶端支持及應用模式:SQL Server基于C/S結構,只支持Windows客戶用ADO、DAO、OLEDB、ODBC連接。

(6)使用風險:SQL Server完全重寫的代碼經歷了長期測試,不斷延遲,許多功能需要時間來證明,并不十分兼容早期產品。

3.1.3 Oracle數據庫管理系統

Oracle數據庫管理系統是由知名的Oracle(甲骨文)公司開發的數據庫產品,業內常簡稱為Oracle。Oracle也屬于關系型數據庫系統,它采用標準的結構化查詢語言,并支持多種數據類型,提供面向對象的數據支持,具有第四代語言開發工具,支持UNIX、Windows等多種平臺。Oracle公司的產品非常豐富,包括Oracle服務器、Oracle開發工具和Oracle應用軟件等。其中最著名的就是Oracle數據庫。

1.優點

Oracle數據庫的優點有以下幾點。

(1)開放性:Oracle能在所有的主流平臺(包括Windows操作系統)上運行,完全支持所有工業標準,采用完全開放策略使客戶選擇適合的解決方案。

(2)可伸縮性與并行性:Oracle并行服務器通過使組節點共享同組工作來擴展Windows NT的能力,以提供高可用性和高伸縮性等的解決方案;Windows NT操作系統能滿足用戶遷移數據庫的要求,UNIX Oracle并行服務器對各種UNIX平臺集群機制都有著相當高的集成度。

(3)安全性:獲得最高認證級別的ISO標準認證。

(4)性能:Oracle性能保持開放平臺下TPC-D和TPC-C的世界紀錄。

(5)客戶端支持及應用模式:Oracle經多層次網絡計算,支持多種工業標準,可用ODBC、JDBC、OCI等網絡客戶連接。

(6)使用風險:Oracle在長時間開發下因完全向下兼容而得到廣泛應用,并且風險低。

2.缺點

Oracle數據庫的缺點有以下幾點。

(1)對硬件的要求較高。

(2)價格比較昂貴。

(3)管理維護比較麻煩。

(4)操作比較復雜,需要技術含量較高。

3.1.4 MongoDB數據庫管理系統

MongoDB介于關系型數據庫和非關系型數據庫之間,是非關系型數據庫當中功能最豐富、最像關系型數據庫的,同時它也是面向文檔的開源數據庫。MongoDB支持的數據結構非常松散,類似于JSON的BSON格式,因此可以存儲比較復雜的數據類型。在C++中,MongoDB可以用作文件系統;在MongoDB中,使用JavaScript作為查詢語言。

MongoDB最大的特點是:它支持的查詢語言非常強大,其語法類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

1.MongoDB的特點

MongoDB的特點還有以下幾點。

(1)提供高性能。

(2)自動分片。

(3)運行在多個服務器上。

(4)支持主從復制。

(5)數據以JSON格式文檔的形式存儲。

(6)索引文檔中的任何字段。

(7)由于數據被放置在碎片中,因此它具有自動負載平衡配置。

(8)支持正則表達式搜索。

(9)在失敗的情況下易于管理。

2.優點

與其他數據庫相比,MongoDB的優點如下。

(1)易于安裝。

(2)MongoDB Inc為客戶提供專業支持。

(3)支持臨時查詢。

(4)高速數據庫。

(5)無模式數據庫。

(6)橫向擴展數據庫。

(7)性能非常高。

3.缺點

與其他數據庫相比,MongoDB的缺點如下。

(1)不支持連接。

(2)數據量大。

(3)嵌套文檔的數量有限。

(4)運行過程中會增加不必要的內存使用。

3.1.5 Redis數據庫管理系統

Redis是一款高性能的key-value數據庫。與Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和hash(散列)等類型。在此基礎上,Redis還支持各種不同方式的排序。與Memcached一樣,為了保證效率,數據都是緩存在內存中。區別是:Redis會周期性地把需要更新的數據寫入磁盤或者把要修改的操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。

Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器,這使得Redis可以執行單層樹復制。存盤可以有意無意地對數據進行寫操作。由于完全實現了發布/訂閱機制,從數據庫在任何地方同步樹時,可以訂閱一個頻道并接收主服務器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗余很有幫助。

另外,Redis還支持多種編程語言,包括Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby及Erlang等。

1.Redis與其他數據庫相比有以下3個特點

(1)Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。

(2)Redis不僅支持對簡單的key-value類型數據的存儲,同時還支持對list、set及hash等數據結構的存儲。

(3)Redis支持數據的備份,即master-slave模式的數據備份。

2.Redis與其他數據庫相比有以下不同點

(1)Redis有著更為復雜的數據結構并且提供對它的原子性操作,這是一個不同于其他數據庫的進化路徑。Redis的數據類型都是基于基本數據結構的同時對程序員透明,無須進行額外的抽象。

(2)Redis運行在內存中,可以持久化到磁盤,在對不同數據集進行高速讀寫時需要權衡內存,因為數據量不能大于硬件內存。在內存方面數據庫的另一個優點是,相比在磁盤上相同的復雜數據結構,在內存中操作起來非常簡單,這樣Redis可以做許多內部復雜性很強的工作。同時,在磁盤格式方面,它是緊湊的以追加方式產生的,因為它并不需要進行隨機訪問。

主站蜘蛛池模板: 绥化市| 南陵县| 崇礼县| 保定市| 迁安市| 庄浪县| 黄冈市| 舞钢市| 灯塔市| 新和县| 崇仁县| 浏阳市| 泗洪县| 藁城市| 栾城县| 安化县| 霍邱县| 景洪市| 龙岩市| 前郭尔| 太仆寺旗| 四子王旗| 澄江县| 准格尔旗| 南川市| 西城区| 铁岭市| 金昌市| 南和县| 岳西县| 兴山县| 钟山县| 海原县| 涿州市| 鄂伦春自治旗| 通海县| 商南县| 平邑县| 枝江市| 阿拉善右旗| 广水市|