1. 程式人生 > >關係型資料庫與非關係型資料庫(Nosql)的區別於使用場景

關係型資料庫與非關係型資料庫(Nosql)的區別於使用場景

個人理解:

如果資料量較小,那麼使用關係型資料庫即可,因為這個時候讀寫的IO瓶頸顯現不出來。如果資料量較大,這時,可能對於關係型資料庫(如mysql)來說,單表的大小就可以達到幾GB,這時K-V儲存的非關係型資料庫的優勢就體現出來了。一般來說,現在的網際網路公司,傾向於使用Nosql作為快取,儲存熱資料,使用關係型資料庫儲存冷資料。

 

以下內容參考:https://blog.csdn.net/longxingzhiwen/article/details/53896702?utm_source=blogxgwz0

當前主流的關係型資料庫Oracle、DB2、Microsoft SQL Server、Microsoft Access、

MySQL等。

非關係型資料庫有 NoSql、Cloudant。

nosql和關係型資料庫比較?
優點:
1)成本:nosql資料庫簡單易部署,基本都是開源軟體,不需要像使用oracle那樣花費大量成本購買使用,相比關係型資料庫價格便宜。
2)查詢速度:nosql資料庫將資料儲存於快取之中,關係型資料庫將資料儲存在硬碟中,自然查詢速度遠不及nosql資料庫。
3)儲存資料的格式:nosql的儲存格式是key,value形式、文件形式、圖片形式等等,所以可以儲存基礎型別以及物件或者是集合等各種格式,而資料庫則只支援基礎型別。
4)擴充套件性:關係型資料庫有類似join這樣的多表查詢機制的限制導致擴充套件很艱難。
缺點:
1)維護的工具和資料有限,因為nosql是屬於新的技術,不能和關係型資料庫10幾年的技術同日而語。
2)不提供對sql的支援,如果不支援sql這樣的工業標準,將產生一定使用者的學習和使用成本。

3)不提供關係型資料庫對事物的處理。

非關係型資料庫的優勢:1. 效能NOSQL是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過SQL層的解析,所以效能非常高。2. 可擴充套件性同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。

關係型資料庫的優勢:1. 複雜查詢可以用SQL語句方便的在一個表以及多個表之間做非常複雜的資料查詢。2. 事務支援使得對於安全效能很高的資料訪問要求得以實現。對於這兩類資料庫,對方的優勢就是自己的弱勢,反之亦然。