關係型資料庫與NoSQL資料庫
阿新 • • 發佈:2018-12-16
一、關係型資料庫
目前我們常用的資料庫一般是關係型資料庫,比如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`