關係型數據庫和非關係型數據庫的對比

綜合百度百科和本身的理解整理如下內容,便於平常用到時進行查找,以下:面試

 

1、關係型數據庫redis

 

一、含義:
關係型數據庫,是指採用了關係模型來組織數據的數據庫,其以行和列的形式存儲數據,以便於用戶理解,關係型數據庫這一系列的行和列被稱爲表,一組表組成了數據庫。用戶經過查詢來檢索數據庫中的數據,而查詢是一個用於限定數據庫中某些區域的執行代碼。關係模型能夠簡單理解爲二維表格模型,而一個關係型數據庫就是由二維表及其之間的關係組成的一個數據組織。sql


二、常見的關係型數據庫
關係型數據庫常見的有 Oracle,SQLServer,DB2,Mysql,Microsoft Access等多個品種,每種數據庫語法功能各具特點。除了Mysql大多數的關係型數據庫若是要使用都須要支付一筆價格高昂的費用,即便是免費的Mysql性能也受到了諸多的限制。數據庫

三、ACID原則
關係型數據庫強調ACID規則
(即:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)),能夠知足對事務性要求較高或者須要進行復雜數據查詢的數據操做,並且能夠充分知足數據庫操做的高性能和操做穩定性的要求。而且關係型數據庫十分強調數據的強一致性,對於事務的操做有很好的支持。關係型數據庫能夠控制事務原子性細粒度,而且一旦操做有誤或者有須要,能夠立刻回滾事務。設計模式

四、其餘理解,請百度數據庫設計

2、非關係型數據庫分佈式

 


一、含義:性能

非關係型數據庫,又被稱爲NoSQL(Not Only SQL ),意爲不單單是SQL( Structured QueryLanguage,結構化查詢語言),據維基百科介紹,NoSQL最先出現於1998 年,是由Carlo Storzzi最先開發的個輕量、開源、不兼容SQL 功能的關係型數據庫,2009 年,在一次分佈式開源數據庫的討論會上,再次提出了NoSQL 的概念,此時NoSQL主要是指非關係型、分佈式、不提供ACID (數據庫事務處理的四個基本要素)的數據庫設計模式。同年,在亞特蘭大舉行的「NoSQL(east)」討論會上,對NoSQL 最廣泛的定義是「非關聯型的」,強調Key-Value 存儲和文檔數據庫的優勢,而不是單純地反對RDBMS,至此,NoSQL 開始正式出如今世人面前。設計

二、常見的非關係型數據庫有Redis, Amazon DynamoDB, Memcached,
Microsoft Azure Cosmos DB和Hazelcast3d

三、不遵循ACID原則

四、使用範圍:分佈式數據庫,近幾年分佈式數據庫用的比較火的是redis

3、數據庫排名參考

地址:
https://db-engines.com/en/ranking

如圖:(圖會隨時變動)

 

PS:以上整理若有不當之處,歡迎留言

注意:ACID(面試常問)數據庫事務必須具有ACID特性,ACID分別是Atomic原子性,Consistency一致性,Isolation隔離性,Durability持久性。

相關文章
相關標籤/搜索