MongoDB係咪可以取代Mysql?

我知道這兩款db不是互相取代的存在, 所以不用再重復
https://yq.aliyun.com/articles/707175

一般講法都係話應該睇返你使用場景來決定用邊個

但係實際上我相信大多數既project都只係一些好general既project
所以我覺得依類project應該唔會咁極端話用某一種會明顯有優勢

如果係一般情況, MongoDB係咪可以完全取代Mysql?
理由如下

MongoDB一樣有FK, 而且比MySQL多左個彈性可以成個object embed落FK, 也可以好似Mysql咁只save reference
而且MongoDB無schema, table column可以不固定, 遇到兩種非常相似既data就可以唔洗分兩個table, 又或者加一大堆null column

照咁睇MongoDB係非極端既情況下好似Mysql喎
有無人持有反對/支持既意見?

不能, 因為係兩類型的database,
用MongoDB 定Mysql要睇requirement, 有d 系統同一時間會兩種用哂.

我知道這兩款db不是互相取代的存在, 所以不用再重復


一般講法都係話應該睇返你使用場景來決定用邊個

但 ...
3ldk 發表於 2019-10-24 16:30

TOP

用到唔代表效能好

TOP

如果要同時享受SQL和NoSQL的好處,可使用Postgresql。

TOP

本帖最後由 hihihi123hk 於 2019-10-25 07:23 編輯
我知道這兩款db不是互相取代的存在, 所以不用再重復


一般講法都係話應該睇返你使用場景來決定用邊個

但 ...
3ldk 發表於 2019-10-24 16:30

NoSQL 喺 Typed Language 用法中,最頭痛就係 Serialization 同埋實踐 "Application Schema"

當然 SQL 都會煩 Serialization 啦,不過因為有 Schema 情況下,可能做到 Codegen Models / 直頭用 ORM 解決

而自己試過 Kotlin 配合 MongoDB 配合 Google Protocol Buffer 完美解決哂上述困難,簡直係天堂 但要夾得埋呢三樣野要有番啲功力

另外,自從 MongoDb 4.0 開始有 Transaction 做到 Strong consistency 之後,大部份情況下都可以完全取代到 SQL,可惜有信譽嘅 Managed MongoDB 比較少選擇,唔想自己 Maintain Database 嘅人只可以硬食 Mongo Atlas

去到最後,由於 MongoDB 同一般SQL 無論係設計及 Application Coding 上都有極大不同,最後會演變成「識用所以用」而唔係「適合所以用」,主因通常係起 Proj 前或有空檔時連基本 R&D 都唔會掂下,永遠停留係唔識嘅狀態

等如啲人拎 MySQL 儲 JSON 都唔用 PostgreSQL Jsonb 一樣,就係因為「唔識」(講緊新 Proj )

via HKEPC IR Extreme 4.2.3 - iOS(4.0.2)

TOP