課程研討|資料庫原理1|第一週-2
資料庫產品分類、特點及區別
1. 關係型資料庫和非關係型資料庫
關係型資料庫
資料庫由資料表組成,但是每張資料表之間都存在關係。
關係型資料庫模型是把複雜的資料結構歸結為簡單的二元關係。在關係型資料庫中,對資料的操作幾乎全部建立在一個或多個關係表格上,通過對這些關聯的表格分類、合併、連線或選取等運算來實現資料庫的管理。
非關係型資料庫
NoSQL(Not only SQL),泛指非關係型的資料庫。
-
鍵值儲存資料庫(key-value)
鍵值資料庫就類似傳統語言中的雜湊表,通過key來新增、查詢或者刪除資料庫,因為使用key主鍵訪問,所以會獲得很高的效能及擴充套件性。
鍵值資料庫主要使用一個雜湊表,這個表中有一個特定的鍵和一個指標指向特定的資料。key/value模型對於IT系統來說的優勢在於簡單、易部署、高併發。
-
列儲存資料庫(column-oriented)
將資料儲存在列族中,一個列族儲存經常被一起查詢相關資料。通常用於應對分散式儲存海量資料。
-
面向文件資料庫(document-oriented)
該型別的資料模型是版本化的文件,半結構化的文件以特定的格式儲存。可以看作是鍵值資料庫的升級版,允許之間巢狀鍵值。
資料以文件形式儲存。每個文件都是自包含的資料單元,是一系列資料項的集合。每個資料項都有一個名詞與對應值,值既可以是簡單的資料型別。資料儲存的最小單位是文件,同一個表中儲存的文件屬性可以是不同的。
-
圖形資料庫
允許我們將資料以圖的方式儲存。實體會被作為頂點,而實體之間的關係則會被作為邊。
2. Oracle資料庫
簡介
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係資料庫管理系統。它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關係資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小微機環境。它是一種高效率的、可靠性好的、適應高吞吐量的資料庫方案。
特點
- 完整的資料管理功能
- 資料的大量性
- 資料儲存的永續性
- 資料的共享性
- 資料的可靠性
- 完備關係的產品
- 資訊準則
- 保證訪問的準則
- 檢視更新準則
- 資料物理性和邏輯性獨立準則
- 分散式處理功能
- 分散式處理:分散式處理則是將不同地點的,或具有不同功能的,或擁有不同資料的多臺計算機通過通訊網路連線起來,在控制系統的統一管理控制下,協調地完成大規模資訊處理任務的計算機系統。
- 用Oracle能輕鬆實現資料倉庫的操作
- 資料倉庫:資料倉庫,是為企業所有級別的決策制定過程,提供所有型別資料支援的戰略集合。它是單個數據儲存,出於分析性報告和決策支援目的而建立。 為需要業務智慧的企業,提供指導業務流程改進、監視時間、成本、質量以及控制。
優點
- 可用性強
- 可擴充套件性強
- 資料安全性強
- 穩定性強
應用
3. MySQL
簡介
MySQL是一種關係型資料庫管理系統,關係資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
特點
- 開源的
- 平臺獨立性,可在多種作業系統下執行
- 快速的、可靠的和易於使用的資料庫伺服器
- 使用C和C++編寫,保證原始碼的可移植性
- 支援多執行緒,充分利用CPU資源。採用優化SQL查詢演算法,提高查詢速度
- 既能夠作為一個單獨的應用程式應用在C/S網路環境中,也能作為一個庫嵌入到其他的軟體中
- 提供TCP/IP、ODBC和JDBC等多種資料庫連線途徑
- 提供用於管理、檢查、優化資料庫操作的管理工具
- 可以處理擁有上千萬條記錄的大型資料庫
4. SQL Server
簡介
是Microsoft公司推出的關係型資料庫管理系統。具有使用方便、可伸縮性好,與相關軟體整合程度高等優點。
特點
-
是一項完美的C/S系統
-
與Windows介面風格完全一致,易於安裝和學習
-
相容性好、可擴充套件、可靠性高
-
提供資料倉庫服務
5. Memcached
簡介
是一套分散式快取記憶體系統。其API使用32位元的迴圈冗餘校驗計算鍵值,將資料分散在不同的機器上。當表格滿了以後,新增的資料會以LRU機制替換。一般使用目的是通過快取資料庫查詢結果,減少資料庫訪問次數,以提高動態Web應用速度,提高可擴充套件性。
特點
-
協議簡單
-
基於libevent的事件處理
- libevent是個程式庫,將Linux的epoll、BSD類作業系統的kqueue等事件處理功能封裝成統一的介面。即使對伺服器的連線數增加,也能發揮I/O效能。
-
內建記憶體儲存方式
-
不互相通訊的分散式
6. 區別與比較
-
開放性
- Oracle、MySQL能在所有主流平臺上執行,採用完全開放策略
- SQL Server只能在windows上執行
-
面向物件
- Oracle面向主流大型資料庫,用於中大型網站開發
- MySQL、SQL Server做中小型資料庫,用於中小型網站以及個人使用
-
操作性
- Oracle較為複雜,同時提供GUI和命令列,多平臺下操作相同
- SQL Server操作簡單,採用圖形介面(GUI)
-
易維護性、價格
- Oracle價格較高,管理複雜
- SQL Server圖形管理介面易掌握,管理費用較低
7. 小結
-
大型應用系統一般採用Oracle,提供高效能、高安全穩定性以及較高的資料處理能力;Oracle支援大型資料庫、支援多種系統平臺、資料安全級別為最高階
-
MySQL體積小、速度快,可以在多種作業系統下執行,大大降低資料庫系統的總體擁有成本
-
中小型企業或應用中採用SQL Server作為資料平臺,節省資金的同時便於維護管理;執行平臺必須是微軟公司的作業系統,容易掌握
-
很多網站使用Memcached提高網站的訪問速度,尤其是對於大型的需要頻繁訪問的網站,減少查詢效率,提高查詢速度
參考資料
[1]
[2]