天天看點

關系型資料庫與非關系型資料庫1.NoSQL[非關系型資料庫]2.關系型資料庫和非關系型資料庫對比3.NoSQL分類

1.NoSQL[非關系型資料庫]

1.NoSQL,指的是非關系型的資料庫。NoSQL 有時也稱作 Not Only SQL 的縮寫,是對不同于傳統的關系 型資料庫的資料庫管理系統的統稱。
2.NoSQL 用于超大規模資料的存儲。(例如谷歌或 Facebook 每天為 他們的使用者收集萬億比特的資料)。這些類型的資料存儲不需要固定的模式,
  無需多餘操作就可以橫向擴充。
           

2.關系型資料庫和非關系型資料庫對比

關系型資料庫與非關系型資料庫1.NoSQL[非關系型資料庫]2.關系型資料庫和非關系型資料庫對比3.NoSQL分類

2.1.關系型資料庫

2.1.1.關系型資料庫優勢

在絕大部分時候,我們都會首先考慮用關系型資料庫來存儲我們的資料,比如SQLServer,Oracle,MySQL 等等。
關系型資料庫的特點:
1、它以表格的形式,基于行存儲資料,是一個二維的模式。
2、它存儲的是結構化的資料,資料存儲有固定的模式(schema),資料需要适應表結構。
3、表與表之間存在關聯(Relationship)。
4、大部分關系型資料庫都支援SQL(結構化查詢語言)的操作,支援複雜的關聯查詢。
5、通過支援事務(ACID 酸)來提供嚴格或者實時的資料一緻性。
           

2.1.2.關系型資料庫劣勢

但是使用關系型資料庫也存在一些限制,比如:
1、要實作擴容的話,隻能向上(垂直)擴充,比如磁盤限制了資料的存儲,就要擴大磁盤容量,通過堆硬體的方式,
  不支援動态的擴縮容。水準擴容需要複雜的技術來實作,比如分庫分表。
2、表結構修改困難,是以存儲的資料格式也受到限制。
3、在高并發和高資料量的情況下,我們的關系型資料庫通常會把資料持久化到磁盤, 基于磁盤的讀寫壓力比較大。
           

2.2.非關系型資料庫

2.2.1.菲關系型資料庫優勢

為了規避關系型資料庫的一系列問題,我們就有了非關系型的資料庫,
我們一般把它叫做“non-relational”或者“Not Only SQL”。
NoSQL最開始是不提供SQL的資料庫的意思,但是後來意思慢慢地發生了變化。
非關系型資料庫的特點:
1、存儲非結構化的資料,比如文本、圖檔、音頻、視訊。
2、表與表之間沒有關聯,可擴充性強。
3、保證資料的最終一緻性。遵循BASE(堿)理論。 Basically Available(基本可用); Soft-state(軟狀态); Eventually Consistent(最終一緻性)。
4、支援海量資料的存儲和高并發的高效讀寫。
5、支援分布式,能夠對資料進行分片存儲,擴縮容簡單。
           

3.NoSQL分類

對于不同的存儲類型,我們又有各種各樣的非關系型資料庫,比如有幾種常見的類型:
1 、KV 存儲, 用 Key Value 的形式來存儲資料。比較常見的有 Redis 和MemcacheDB。
2、文檔存儲,MongoDB。
3、列存儲,HBase。
4、圖存儲,這個圖(Graph)是資料結構,不是檔案格式。Neo4j。
5、對象存儲。
6、XML 存儲等等等等。
```java

**這個網頁列舉了各種各樣的NoSQL資料庫**
[http://nosql-database.org/]()	
```java
NewSQL 結合了SQL 和NoSQL 的特性(例如PingCAP 的TiDB)
           
關系型資料庫與非關系型資料庫1.NoSQL[非關系型資料庫]2.關系型資料庫和非關系型資料庫對比3.NoSQL分類