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

看板Soft_Job作者 (System hacked)時間4年前 (2020/05/18 02:09), 編輯推噓14(14013)
留言27則, 15人參與, 4年前最新討論串4/4 (看更多)
※ 引述《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 -- Resistance is futile. https://blog.gslin.org/ & <gslin@gslin.org> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.104.21 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1589738994.A.811.html

05/18 02:32, 4年前 , 1F
XD
05/18 02:32, 1F

05/18 03:31, 4年前 , 2F
不管其他 DB 怎麼樣,RDBMS 就是噁心 聽到就想吐
05/18 03:31, 2F

05/18 03:31, 4年前 , 3F
只要可以不用 &@#$*吸擴 什麼其他東西我都用
05/18 03:31, 3F

05/18 03:58, 4年前 , 4F
大神好像都不喜歡 Mongo XDD
05/18 03:58, 4F

05/18 07:54, 4年前 , 5F
NoSQL我現在都用Cassandra或ScyllaDB。(挺)
05/18 07:54, 5F

05/18 09:23, 4年前 , 6F
用過真的是不怎麼愛 mongo
05/18 09:23, 6F

05/18 12:17, 4年前 , 7F
05/18 12:17, 7F

05/18 12:26, 4年前 , 8F
個人認知MongoDB不是ACID(Atomicity、Consistency、
05/18 12:26, 8F

05/18 12:26, 4年前 , 9F
Isolation、Durability),而是BASE(Basically
05/18 12:26, 9F

05/18 12:26, 4年前 , 10F
Available、Soft state、Eventual consistency);
05/18 12:26, 10F

05/18 12:26, 4年前 , 11F
CAP理論也告訴我們分散式系統不可能同時滿足
05/18 12:26, 11F

05/18 12:26, 4年前 , 12F
Consistency、Availability、Partition consistency,
05/18 12:26, 12F

05/18 12:26, 4年前 , 13F
因此MongoDB不可能做到Strong consistency,
05/18 12:26, 13F

05/18 12:27, 4年前 , 14F
只有Eventual consistency。印象中MongoDB官方文件
05/18 12:27, 14F

05/18 12:27, 4年前 , 15F
也有寫只有The level of a single document是atomic,
05/18 12:27, 15F

05/18 12:27, 4年前 , 16F
宣稱Full ACID就是廣告不實的。
05/18 12:27, 16F

05/18 13:40, 4年前 , 17F
推 原PO自己不斷更新多年前的疑問
05/18 13:40, 17F

05/18 14:15, 4年前 , 18F
推 分享
05/18 14:15, 18F

05/18 16:17, 4年前 , 19F
太強了~~
05/18 16:17, 19F

05/18 16:52, 4年前 , 20F
MongoDB就算不用分散式也滿足不了CAP好嗎
05/18 16:52, 20F

05/18 16:53, 4年前 , 21F
打太快.. MongoDB就算不用分散式也滿足不了CA
05/18 16:53, 21F

05/18 19:24, 4年前 , 22F
推XD
05/18 19:24, 22F

05/18 19:29, 4年前 , 23F
我兩個一起用耶 @@ 這樣要怎麼算
05/18 19:29, 23F

05/20 00:46, 4年前 , 24F
Redis
05/20 00:46, 24F

05/20 08:41, 4年前 , 25F
Cassandra目前只是玩票而已,要用在工作上還是SQL為主,
05/20 08:41, 25F

05/20 08:42, 4年前 , 26F
SQL的話首推PostgreSQL。
05/20 08:42, 26F

05/24 01:20, 4年前 , 27F
Hive默默晃過
05/24 01:20, 27F
文章代碼(AID): #1UmNtoWH (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1UmNtoWH (Soft_Job)