關係型數據庫與NoSQL數據庫

一、關係型數據庫

目前我們常用的數據庫一般是關係型數據庫,比如Oracle、MySQL、SQL Server。

1、定義:基於關係模型(二維表)所提出的一種數據庫。

實際場景:學生與系的關係如下

一個學生必定屬於某一個系,因此我們可以把圖中學生與系的關係抽象成三個表

這三個表所構成的就是一種簡單的關係型數據庫。當然在現實應用中我們還會對其進行一定的優化。

2、ER模型(Entity-Relationship)模型:通過增加外鍵來減少冗餘

比如我們上面所舉的例子:

中間的那個relation表屬於一個冗餘的表,我們可以通過給student表中增加外鍵來去掉這個表。

二、NoSQL數據庫

1、常見的NoSQL數據庫:HBase數據庫

2、NoSQL數據庫的思想:BigTable(大表),把所有數據保存到一張表中,採用冗餘來存儲。可以提高效率但是需要犧牲存儲空間。

3、HBase是基於Hadoop的HDFS的

4、HBase的表結構

特點:

#rowkey相當於主鍵

#行鍵可以重複,但是相同的行鍵表示的同一條數據,比如表中的第一、三行。

#沒有列,而是列族。創建命令 create  `student`.'info'.`grade`

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章