為什麼 Nosql 不酸
已發表: 2022-11-19關於 NoSQL 數據庫是否“酸性”存在很多爭論。 反對 NoSQL 數據庫的主要論點是它們不支持傳統關係數據庫的所有功能。 NoSQL 數據庫通常設計為比關係數據庫更具可擴展性和更易於使用,但它們犧牲了一些使關係數據庫更健壯的功能。 例如,NoSQL 數據庫通常不支持事務,這是關係數據庫的一大特點。 這意味著如果您使用的是 NoSQL 數據庫,您可能不得不放棄一些您在關係數據庫中習慣使用的功能。
NoSQL 數據庫不符合 ACID。 一種始終如一的心態,即它具有可塑性、柔軟性和一致性。 因此,如果亞馬遜使用此功能,您將始終可以從他們那裡購買書籍,但他們無法預測何時會售罄。 它們旨在反駁布魯爾定理。
Oracle、MySQL、PostgreSQL 和 Microsoft SQL 都能夠支持事務中的ACID 屬性。 讓我們來看一個典型的 NoSQL 故事。
NoSQL 數據庫可用於存儲ACID 數據。 在其最初的設計中,該系統不包括 DBMS 的“管理系統”組件。
Nosql是否具有酸性?
這個問題沒有確定的答案,因為它取決於 NoSQL 的具體實現。 一些 NoSQL 數據庫確實具有 acid 屬性,而另一些則沒有。
術語原子性是指事務必須在多個操作不存在的情況下執行的事實。 數據一致性是指數據庫中的所有數據必須與交易發生時的原樣準確記錄。 我們認為隔離是一種完全保密的狀態,可以防止任何其他交易乾擾我們正在進行的工作。 事務的持久性表示與它一起完成的其他事務將繼續工作。 NoSQL 數據庫管理方法與嚴格的 ACID 規則相反。 因此,對於那些想要在嚴格環境中運行的人來說,NoSQL 數據庫並不是最佳選擇。 遵循 ACID 標準的數據庫通常更可靠、更高效,並能為用戶提供更一致的體驗。
Nosql 是酸還是鹼?
關係數據庫的 ACID(原子性、一致性、隔離性和持久性)屬性緊隨 NoSQL 數據庫的 ACID(屬性、一致性、隔離性和持久性)屬性。
對生成 ACID 的數據庫有強烈的需求。 在大數據時代,我們需要可以擴展的技術。 NoSQL 數據庫可以更有效地處理大型和復雜的數據。 與傳統的 RDBMS相比,這些解決方案不使用表格關係,因此不會造成相同的存儲問題。 有時我們更喜歡可用性而不是一致性是很自然的。 當 ACID 模型有點矯枉過正時,最好有一個基本屬性。 如果您需要一致性但更喜歡剛性結構,那麼關係數據庫是一個不錯的選擇。 沒有必要像許多系統那樣為每個系統在 RDBMS 和 NoSQL 之間做出選擇。
NoSQL數據庫是一種不依賴於ACID事務的新型數據庫。 (廣義上定義為可用、軟狀態、最終一致性。)一般意義上的數據普遍可用。 如果請求未得到答复,則可能會被拒絕。 它是執行 ACID 事務的最常見的數據庫系統類型。 支持MySQL、PostgreSQL、SQLite、SQL Server等數據庫。 面向對像數據庫是一種不需要ACID事務處理的新型數據庫。 但是,當收到對請求的響應時,響應不能保證數據的可用性。 如果無法獲得數據,將在某個時候提供。 在軟狀態下,對數據的更新不是永久性的; 此功能允許連續更新數據。 一致性至關重要:確保數據始終是最新的,即使有很多更新。
Mongodb 對酸屬性的支持
術語一致性是指數據在寫入數據庫時應在多長時間內與多次讀取操作保持一致。 如上所述,數據庫應該能夠保證所有並發運行的事務不會相互影響。 數據庫的持久性表明它即使在斷電或其他災難性事件後也能正常運行。 換句話說,雖然 MongoDB 不是 ACID 兼容數據庫,但它確實支持一些關鍵的 ACID 特性,例如原子性和持久性。
為什麼 Mongodb 不酸?
MongoDB 不酸,因為它不支持事務。 交易是酸合規的基本組成部分。 MongoDB 也不支持外鍵,這是 acid 合規性的另一個重要部分。
MongoDB 4.0 添加了多文檔 ACID 事務。 PostgreSQL 具有原生的 ACID 合規性支持,而 MongoDB 長期以來一直無法做到這一點。 我們不清楚 MongoDB 是否將 ACID 放在首位,或者用戶是否關心它。 MongoDB 4.0 版包括多文檔 ACID 事務保證。 根據 Eliot Horowitz 的說法,文檔模型消除了對 ACID 事務的需求。 產品、服務器和企業工具副總裁 Grigori Melnik 認為這是一種寫入 MongoDB 的新穎方式。 在 MongoDB 的 V4.2 版本中,跨多個分片實現的事務將成為可能。
儘管 MongoDB 過去支持多種數據存儲引擎,但只有 WiredTiger 可以用於事務。 為什麼 ACID 對 MongoDB 如此重要? 對於 EDB 對 ACID 事務的承諾,我們不確定我們能說些什麼,但我們可以告訴您一件事:它非常重視 ACID 事務。 儘管排在第 7 位,但事實仍然是使用 SQL 等標準查詢語言仍然具有重要價值。 隨著您開發更多應用程序來訪問您的數據,您將被迫以蔓延模式構建它們,從而增加複雜性。 PostgreSQL 作為最流行的通用數據庫,仍然是最佳選擇。
Mongodb 完全兼容酸嗎?
另一方面,多儀器 ACID 事務可用於需要它們的用例。 他們欣賞能夠以通常不需要多文檔事務的方式對數據進行建模的靈活性,但是當他們這樣做時這是可能的。
Nosql是否支持酸
Nosql 數據庫不支持 acid 事務。 這意味著他們不能保證交易會被正確處理,並且數據可能會在交易過程中丟失或損壞。
Nosql 數據庫:基本模型更持久和一致
大多數 Nosql 數據庫不支持 ACID 屬性,更願意使用可承受濫用且更耐用的基礎模型。