Re: [請益] 選擇mongoDB或是relational database ??

作者: DarkKiller (System hacked)   2020-05-18 02:09:31
※ 引述《DarkKiller (System hacked)》之銘言:
: 我建議是,能用 RDBMS 就用 RDBMS,沒必要去用 NoSQL。正規化理論與 ACID 帶
: 出來的好處反而會讓整個團隊不用專住在這些雜事上面。
: 熟悉 PostgreSQL 就用 PostgreSQL,熟悉 MySQL 的就用 MySQL,先設計資料庫架
: 構 (& 正規化) 反而會對後來帶來很多好處。
當時在這邊寫的比較保守一點,最近剛好有題材可以描述一下另外一個不少人都不
太喜歡 MongoDB 的原因,就是這家公司不怎麼老實...
這次 MongoDB 惹毛了業界老大,我寫了一篇:
* https://bit.ly/369CvMs (MongoDB 的欺騙性廣告)
這邊列一下重點:
* https://jepsen.io/
先介紹一下 Jepsen。
Jepsen 是業界測試 database 各種穩定度很有名的團隊 (自稱第二就沒有正常
人敢稱第一的等級)。
在 https://jepsen.io/analyses 這邊可以看到測過很多資料庫,而且有不少是
廠商開發完找他們測,由第三方的角度來找看看有什麼問題,像是 CockroachDB
找過,而且也測出不少問題讓 CockroachDB 帶回去修:
https://jepsen.io/analyses/cockroachdb-beta-20160829
接下來就是故事的開始了...
* https://www.mongodb.com/jepsen
起因是這邊,MongoDB 的人在提到 Jepsen 的頁面上宣稱自己好棒棒,在業界強
到爆炸。
* https://twitter.com/jepsen_io/status/1255867265997844484
然後 Jepsen 就一臉傻眼說我這邊測出來的結果明明就超靠背,你是怎麼覺得你
很強的,過兩個禮拜後 Jepsen 就丟出來一篇最新的測試報告。
* https://jepsen.io/analyses/mongodb-4.2.6
這篇測試報告直接拿最新版的 4.2.6 再測一次,然後就開始幹勦:
1) MongoDB 宣稱 snapshot isolation 可以達到 "full ACID transaction"
這個詞完全跟業界的理解是不同的。
2) 就算是把 snapshot isolation 當作 ACID 好了,MongoDB 也做不到
snapshot isolation 的要求。
3) 而且在系統設定了 "snapshot" 後,寫入還是做不到 snapshot isolation,
必須在資料寫入的時候指定 write concern 的 majority 才能試著達到。
4) 然後你說 snapshot isolation 好棒棒,但官方文件裡面沒提到 snapshot
isolation 要怎麼設,需要到第三方網站上才找的到。
最後 Kyle Kingsbury 還放話說他還沒測完 (Future Work 那段),預期還有很
多坑可以炸,看起來真是很怒啊 XDDD
作者: cuteSquirrel (松鼠)   2020-05-18 02:32:00
XD
作者: CoNsTaR ((const *))   2020-05-18 03:31:00
不管其他 DB 怎麼樣,RDBMS 就是噁心 聽到就想吐只要可以不用 &@#$*吸擴 什麼其他東西我都用
作者: cory8249 (Cory)   2020-05-18 03:58:00
大神好像都不喜歡 Mongo XDD
作者: jobintan (Robin Artemstein)   2020-05-18 07:54:00
NoSQL我現在都用Cassandra或ScyllaDB。(挺)
作者: sa074463 (壘包)   2020-05-18 09:23:00
用過真的是不怎麼愛 mongo
作者: BignoZe (BignoZe)   2020-05-18 12:17:00
作者: lion741205 (獅子)   2020-05-18 12:26:00
個人認知MongoDB不是ACID(Atomicity、Consistency、Isolation、Durability),而是BASE(BasicallyAvailable、Soft state、Eventual consistency);CAP理論也告訴我們分散式系統不可能同時滿足Consistency、Availability、Partition consistency,因此MongoDB不可能做到Strong consistency,只有Eventual consistency。印象中MongoDB官方文件也有寫只有The level of a single document是atomic,宣稱Full ACID就是廣告不實的。
作者: m9j002 (飛黃騰達)   2020-05-18 13:40:00
推 原PO自己不斷更新多年前的疑問
作者: frank910138 (frank)   2020-05-18 14:15:00
推 分享
作者: kor525   2020-05-18 16:17:00
太強了~~
作者: bibo9901 (function(){})()   2020-05-18 16:52:00
MongoDB就算不用分散式也滿足不了CAP好嗎打太快.. MongoDB就算不用分散式也滿足不了CA
作者: vvind (wind)   2020-05-18 19:24:00
推XD
作者: justben (BEN)   2020-05-18 19:29:00
我兩個一起用耶 @@ 這樣要怎麼算
作者: new122851 (未若柳絮因風起)   2020-05-20 00:46:00
Redis
作者: jobintan (Robin Artemstein)   2020-05-20 08:41:00
Cassandra目前只是玩票而已,要用在工作上還是SQL為主,SQL的話首推PostgreSQL。
作者: postpone (dead man)   2020-05-24 01:20:00
Hive默默晃過

Links booklink

Contact Us: admin [ a t ] ucptt.com