資料庫 ACID CAP BASE特性

2022-09-23 21:27:20 字數 1767 閱讀 3285

目錄對比項

關係型sql

非關係型sql

資料儲存

關係表資料集(鍵值/json文件/雜湊表/其它)

模式結構

結構化、提前定義表結構

動態調整模式,非結構化

擴充套件方式

縱向擴充套件,提高處理能力

橫向擴充套件、增加分布式節點

資料查詢

標準通用的查詢語言sql

非標準非結構化的查詢語言(unql)

關鍵特性

acid

cap、base

主要優勢

結構化、事務處理、易於維護使用

擴充套件性、靈活調整、大資料分析

主要劣勢

擴充套件性、高併發場景、大資料分析

事務支援較弱、標準不統一

關係型資料庫遵從acid規則:

a:atomicity,原子性,乙個事務中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間的某個環節。如果執行過程中發生錯誤,會被恢復到事務開始前的狀態,就像這個事務從來沒有執行過一樣。(就好比煎雞蛋,煎糊了,就丟掉,當作沒有煎過,然後重新煎。)

c:consistency,一致性,在事務開始之前和事務結束以後,資料庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規則,這包含資料的精確度、串聯性以及後續資料庫可以自發性地完成預定的工作。

i:isolation,隔離性,資料庫允許多個併發事務同時對其資料進行讀寫和修改的能力,隔離性可以防止多個事務併發執行時由於交叉執行而導致資料的不一致。事務隔離分為不同級別,包括讀未提交(read uncommitted)、讀提交(read committed)、可重複讀(repeatable read)和序列化(serializable)。

d:durability,永續性,事務處理結束後,對資料的修改就是永久的,即便系統故障也不會丟失。

非關係型資料庫遵從cap規則:

c:consistency,強一致性

a:**ailability,可用性

p:partition tolerance,分割槽容錯性

cap的3選2:

base理論是對cap中一致性和可用性權衡的結果:

ba:basicallyavailable,基本可用

s:soft state,軟狀態

e:eventually consistent,最終一致性

base理論的核心思想是:即使無法做到強一致性,但每個應用都可以根據自身業務特點,採用適當的方式來使系統達到最終一致性。

Access資料庫中Group by 語句特別之處

access資料庫中group by 語句特別之處 group by 語句在access資料庫中 與其在sql 2000等資料庫中的應用有區別,但最近發現了乙個特別的之處 group by 語句 會把分組後的字段內容自動縮減至小於255個字元數,如果你的字段內容超過它,那麼就會不提示你的情況下自動載...

mysql資料庫公升冪 斯特林數

第一類斯特林數 s 組合意義 將 n 個不同數劃分為 m 個圓排列的方案數 遞推公式 s s i 1 times s 與階乘關係 sum ns n 意義就是乙個圓排列可以看做乙個置換,所有排列的方案就是 n 與上公升冪的關係 m sum ns times m i 證明 數學歸納法 快速求法 行 o ...

如何在mysql資料庫中儲存emoji特殊字元

mysql在5.5.3版本之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。其實,utf8mb4是utf8的超集,理論上原來使用utf8,然後將字符集修改為utf8mb4,也 會不會對已有的utf8編碼讀取產生任何問題。1.修改dat...