1. 程式人生 > 其它 >資料的關係型和非關係型

資料的關係型和非關係型

一.關係型資料庫

概念

關係型資料庫是指採用了關係模型來組織資料的資料庫。簡單來說,關係模式就是二維表格模型。

主要代表:SQL Server,Oracle,Mysql

例子:
如下表中,可以根據條件love=畫畫,找出喜歡畫畫的人。或者找出年齡大於10歲的人。因為他們之間是有關係的。

name age love
A 11 花朵
B 12 畫畫

優點

  • 容易理解,二維表的結構非常貼近現實世界,二維表格,容易理解。
  • 使用方便,通用的sql語句使得操作關係型資料庫非常方便。
  • 易於維護,資料庫的ACID屬性,大大降低了資料冗餘和資料不一致的概率。

缺點

海量資料的讀寫效率
對於網站的併發量高,往往達到每秒上萬次的請求,對於傳統關係型資料庫來說,硬碟I/o是一個很大的挑戰。

高擴充套件性和可用性
在基於web的結構中,資料庫是最難以橫向拓展的,當一個應用系統的使用者量和訪問量與日俱增的時候,資料庫沒有辦法像web Server那樣簡單的通過新增更多的硬體和服務節點來拓展效能和負載能力。

二.非關係型資料庫

概念

NoSQL非關係型資料庫,主要指那些非關係型的、分散式的,且一般不保證ACID的資料儲存系統,主要代表MongoDB,Redis、CouchDB。已key-value來儲存值。

例子:
以下是儲存5月份,網站點選量的資料。查詢的時候,查日期,返回點選量次數。邏輯非常簡單,通常用於儲存session資訊,session的id對應服務端儲存的相關資訊。

key value
5.6 10400
5.7 15034
5.8 14553

優點

  • 資料放在記憶體,讀取速度超快
  • 擴充套件方便,因為資料間沒有關係,擴充套件輕鬆

缺點

  • 不提供對SQL的支援:如果不支援SQL這樣的工業標準,將會對使用者產生一定的學習和應用遷移成本
  • 支援的特性不夠豐富:現有產品所提供的功能都比較有限,大多數NoSQL資料庫都不支援事務,也不像MS SQL Server和Oracle那樣能提供各種附加功能,比如BI和報表等
本文版權歸作者所有,歡迎轉載,請務必新增原文連結。