作者uopsdod (pcman)
看板Soft_Job
標題[心得] NoSQL vs RDS 資料庫哪個適合你?七大面向深入比較
時間Mon Jul 1 15:19:47 2024
「NoSQL vs RDS 資料庫哪個適合你?七大面向深入比較 【面試必問】」
架構圖:
https://i.imgur.com/M87tBut.jpeg
影片連結:
https://youtu.be/S8AiU1GZByE
內容摘要:
大家好,這邊分享 RDS 和 NoSQL 資料庫的優缺點,我們將從七個面向來進一步分析:
1. [設計理念]
RDS 主要設計目的是確保資料「一致性」,而 NoSQL 則著重於「資料彈性」與「擴展性」。
2. [資料庫語言]
RDS 使用 SQL 語言,而 NoSQL 則根據不同資料庫系統而有不同。
3. [Schema 彈性]
RDS 須事先完成 Table 定義才能新增新欄位,而 NoSQL 則可彈性增加。
4. [Scaling 擴展性]
RDS 於 Scaling 有著較多限制,而 NoSQL 則可更自然地進行水平擴展。
5. [Transaction 交易]
RDS 有著如 Transaction 等機制來保證資料一致性,而 NoSQL 則部分有所支援而已。
6. [Consistency 一致性]
RDS 能確保 Strong Consistency,而 NoSQL 則多支援 Eventual Consistency。
7. [Use Case 使用情境]
RDS 適合於 Payment Processing 等銀行交易,而 NoSQL 則適合處理高併發 Real-Time Streaming 等狀況。
最後,我也將介紹
NoSQL 的四大種類:Key-Value、Document、Column-Based 和 Graph 四類,
簡介各自不同特性和應用,並將常見的 NoSQL 資料庫:MangoDB、Cassandra、AWS DynamoDB、Neo4j 進行清楚分類。
了解 RDS 與 NoSQL 的基本不同,不僅能在選擇資料庫時有更好的判斷能力,這項知識也是面試時常見的問題之一,
是個 CP 值頗高的學習知識,希望透過這精簡而清楚的影片,能幫助你快速了解!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.248.69.193 (美國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1719818392.A.FDF.html
※ 編輯: uopsdod (98.248.69.193 美國), 07/01/2024 15:21:05
※ 編輯: uopsdod (98.248.69.193 美國), 07/01/2024 15:24:57
1F:推 holebro: 圖做得很漂亮 07/01 16:19
2F:推 cjtv: 謝 07/01 16:35
3F:推 wizozd84070: 謝影片 07/01 16:58
4F:推 marshmallowB: 芒果DB可愛www 07/01 17:45
5F:→ MoonCode: 水平擴展麻煩死了 07/01 19:11
6F:→ superpandal: 現在來看應該是NoSQL比較好 還比較容易做快取 甚至純 07/01 19:58
7F:→ superpandal: 文字查看資料都方便很多 mongo沒怎麼用過 不太知道 07/01 19:59
8F:推 freeloop: 謝謝分享:) 07/01 22:38
9F:推 GooglePlus: Mongo啦 07/01 23:50
10F:→ oopFoo: 現在還有人推NoSQL?99%的情況選Sql才對吧。這篇重點沒抓到 07/02 06:11
11F:→ ChungLi5566: 沒有哪個好 看情況用 07/02 08:30
12F:推 Hitmear: 光圖就錯,cassandra是wide column 底層是實作更接近row 07/02 13:00
13F:→ Hitmear: base,不要亂教 07/02 13:00
※ 編輯: uopsdod (98.248.69.193 美國), 07/02/2024 13:54:35
14F:→ Lomonosov: 我以為關聯式資料庫是RDBMS? 07/02 17:30
15F:→ alan3100: rdb還是為大宗 nosql有需求在用 07/02 18:48
16F:噓 pig2014: 樓上正確,我自己也嘗試想用nosql過,想說炫炮一下。但 07/05 09:28
17F:→ pig2014: 是根據我多年design 經驗,還是發現搞個rds有jsonb的tab 07/05 09:28
18F:→ pig2014: le才合理。這整種討論的盲點在於,應該提供實務上成功案 07/05 09:28
19F:→ pig2014: 例使用的比例。如果最後出來的數據是rds 95% v nosql 5% 07/05 09:28
20F:→ pig2014: ,那會讓很多裝逼仔少走一點冤枉路 07/05 09:28
21F:→ superpandal: SQL是種過重的應用 凡事上SQL是很糟糕的 還有不少的 07/06 00:14
22F:→ superpandal: 缺點 公司用什麼管不著 個人用絕對不想跟SQL扯上關係 07/06 00:15
23F:推 guanting886: 我覺得最傻的還是選邊站的開發者 這些系統本來就有 07/06 20:55
24F:→ guanting886: 他們各自擅長的應用場域 你分誰差還誰優真的是假議 07/06 20:55
25F:→ guanting886: 題 07/06 20:55
26F:→ superpandal: 有能力可以選邊站 刻一刻新東西也不是什麼大不了 07/07 13:45
27F:→ chris810314: 如果NoSQL這麼爛...國外早就放棄了 07/07 19:32
28F:→ chris810314: 看應用場景選擇合適技術才是正解 07/07 19:32
29F:→ alan3100: 跟槓精認真就輸了 07/07 19:34
30F:推 bejoe: NOSQL怎麼是著重彈性呢? 錯得離譜啊!!! 07/10 13:39
31F:→ bejoe: nosql就是對一致性妥協來換取效能而已啊! 07/10 13:40
32F:→ bejoe: 所以要用哪一種,就看你的需求中效能和一致性的平衡 07/10 13:40
33F:→ bejoe: 這種東西不用選邊站 是要看需求啊!!! 07/10 13:41
34F:→ superpandal: NoSQL當然重彈性 儲存的資料可隨意即是彈性 不需要如 07/10 16:59
35F:→ superpandal: SQL改column以及其類型就是爽 07/10 17:00
36F:→ superpandal: 當然如果postgresql用json也是差不多 但那只是一個 07/10 17:01
37F:→ superpandal: column而已 體驗不同 07/10 17:02
38F:推 come: 你們所講的隨意性是nosql為了效能犧牲的功能,他從來不是優 07/10 23:59
39F:→ come: 點,只是一個特點 07/10 23:59
40F:→ superpandal: 不是 less is more 07/11 23:45