Mongodb
為什麼 NoSQL 數據庫更適合容器平台(雲)?
在 Linux-Magazin 04/2017 Relationale Datenbanken als Container的文章中(對不起,德語和付費牆),總結說 NoSQL DB 比“舊”的 MariaDB(和 Postgres)更適合容器。
請向我解釋為什麼 NoSQL 更適合容器。如果您用 MongoDB 和 MariaDB 向我解釋一下,我將不勝感激。我有在雲環境中執行這兩個數據庫的經驗。
我不認為這種說法是完全正確的。所以,最好用少許鹽服用。
通常,容器是無狀態的(不是 100%)。如果一個容器死了,另一個容器應該能夠取代它的位置並執行。傳統的 RDBMS 系統是單伺服器單體系統,但它們的集群變體除外。如果單台伺服器出現在容器中執行的 RDBMS 出現故障,首先它將不可用。
一般來說,所有現代 NoSQL 數據庫在自然界中都是分佈的,具有 >=2 的數據副本。因此,如果容器中執行的一個節點出現故障,集群中的其他節點可以接管故障容器的操作。不會出現非常理想的系統不可用。此外,可以在可能的情況下將故障容器更換為新容器,並恢復原來的規模。類似地,分佈式 RDBMS 系統也可以在容器環境中順利執行。
如上所述,RDBMS 和 NoSQL 系統在 docker 環境中都面臨著共同的挑戰。無國籍是一個挑戰。數據庫是有狀態的,尤其是具有持久儲存的數據庫。有一個與數據庫的每個節點相關聯的儲存。因此,在用新容器替換容器時,需要確保根據配置關聯了正確的儲存。