sql資料庫和nosql資料庫的區別

2021-09-24 22:12:41 字數 852 閱讀 7425

sql資料庫雖然教程多,支援也很強大,但是隨著網際網路應用的出現,sql資料庫遇到設計上的弊端,sql對錶的定義使得資料橫向擴充套件困難,而且sql資料庫的很多特性也沒有用武之地,例如及時訪問不是必要的,也沒有特別多的事物需求,這些特性都在消耗著sql資料庫的效能

因此nosql資料庫出現

sql資料庫

nosql資料庫

實時一致性(任何時候寫入的資料,接著進行讀取,會得到結果 )

最終一致性(寫入的資料 最終可以被讀取到,但是有一定的延遲 放棄了對事物的完整支援,例如:redis支援部分事物,mongodb不支援事物 無多表查詢 沒有表結構 )

資料存在特定結構的表中

資料可以儲存在json文件、雜湊表等等

必須定義好錶和字段結構後才能新增資料

資料可以在任何時候任何地方新增,不需要先定義表

需要增加外部關聯資料的話,規範化做法是在原表中增加乙個外來鍵,關聯外部資料表

除了這種規範化的外部資料表做法以外,我們還能用如下的非規範化方式把外部資料直接放到原資料集中,以提高查詢效率。缺點也比較明顯,更新審核人資料的時候將會比較麻煩。

sql中可以使用join表鏈結方式將多個關係資料表中的資料用一條簡單的查詢語句查詢出來

暫未提供類似join的查詢方式對多個資料集中的資料做查詢。所以大部分nosql使用非規範化的資料儲存方式儲存資料。

不允許刪除已經被使用的外部資料,以保證資料完整性

沒有資料強耦合的概念,可以隨時刪除任何資料

有事物(保證一組邏輯單元要麼都成功,要麼都失敗)

沒有事物(不能保證,資料集就是原子性的)

資料庫分類 SQL資料庫 NoSQL資料庫

一 資料庫產品 二.sql資料庫 sql 是所有關係型資料庫的公共語言 關係型資料庫,是建立在關係模型基礎上的資料庫,借助於集合代數等數學概念和方法來處理資料庫中的資料,我們平常使用的資料庫,像mysql,oracle,sql server等都是傳統的關係型資料庫。關係模型指的就是二維 模型,而乙個...

關於SQL資料庫和NoSql資料庫的資料庫選擇案例

一 sql和nosql資料庫的特點對比 sql 資料庫的特點 在表中儲存相關聯的資料 在使用之前需要定義表的乙個模式 鼓勵標準化減少資料冗餘 支援從多個表中檢索相關資料表連線在乙個單一的命令 實現資料完整性規則 提供事務使兩個或兩個以上的成功或失敗的資料更改作為乙個原子單元 可以擴充套件 有一些努力...

關係型資料庫和NoSQL資料庫

大家有沒有聽說過 nosql 呢?近年,這個詞極受關注。看到 nosql 這個詞,大家可能會誤以為是 no!sql 的縮寫,並深感憤怒 sql怎麼會沒有必要了 呢?但實際上,它是 not only sql 的縮寫。它的意義是 適用關係型資料庫的時候就使用關係型資料庫,不適用的時候也沒有必要非使用關係...