
有些人做架構決策的時候純粹是基于誰的聲音大:
@xeraa @lukaseder 不,我們最重要的架構決策是基于 #tweets. 這是一個面向Twitter的體系結構。
— 加里斯 維斯特恩 (@gareth) 2016年9月21日
然而對其他大多數人而言,決策并不是這么簡單。例如:什么時候我們應該啟用NoSQL存儲系統來代替關系型數據庫管理系統(RDBMS)?
關系型數據庫(RDBMS)能夠適應所有情況
這個問題很明顯,假設你開始就使用關系型數據庫(RDBMS),這種傳統的數據庫系統能夠解決任何問題且不容易被取代。這意味著什么?簡單的舉例:
關系型數據庫(RDBMS)一直被使用,所以他們和”新來者“相比在市場上有巨大的優勢, “新來者”缺少優秀的工具,如社區、支持也不夠成熟。
埃德加·弗蘭克·科德的工作對我們整個行業產生的最大影響可能就是,自那以后,幾乎沒有像關系模型那樣具有革命性的東西了。對一個替代型數據庫來說,它很難被普遍使用。意即它們通常被用來解決小問題。
有人會這么說,有時候你確實碰到一個小問題。 例如, 一個圖形數據庫的問題。然而事實上,圖表和你在關系模型中所標識的東西沒有什么根本性的不同。它很容易用多到多的關系表來模擬一個圖。
這些同樣使用于數據庫中的XML/JSON(別忘記, JSON就是XML,但比XML少一些語法和屬性,所以它更棒)。有時候,您需要在數據庫中的層次結構中存儲文檔的結構(層次結構數據)而不是規范他們。當然你也可以先規范文檔,但可能會做很大的無用功。
大多數現代關系型數據庫提供XML/JSON數據結構來存儲(以及更重要的查詢)數據,包括PostgreSQL、Oracle、DB2、SQL Server等。
那么,我們什么時候決定切換?
作為開發人員,我們傾向于能夠快速的切換。例如,當我們處理圖形時,我們喜歡用Neo4j, 因為它具有不起的數字查詢語言。 當我們使用JSON時,我們喜歡用Couchbase, 因為它實現了有趣的N1QL查詢語言。這兩種語言都深受SQL查詢語言影響,在我看來我們的供應商會給我們提供明智的選擇(不會像MongoDB基于JSON查詢語言),終究原因,SQL語言乃是由最強大和最流行的4GL 曾經創造的。
但是作為開發人員,我們不應該輕率的做出決定。 首先,雖然這些專業的數據庫看起來像是更好的選擇,但是運營團隊需要增加額外的維護成本、監控、補丁以及生產系統的額外調整。這在關系型數據庫中真實的存在,最近的一個突出的例子是Uber從PostgreSQL 切換回MySQL:
然而唯一令人遺憾的是他們切換方式和以前相反,這點請注意。事實上你的團隊總是喜歡使用相同的數據庫有很多的原因,即使是這些數據庫團隊開發許可很貴,在很多案例里更貴:
從事額外的許可和/或合同需要新數據庫供應商提供技術支持.
為了新技術尋找技能熟練的數據庫管理員(DBA)(能夠勝任新數據庫).
維護兩個數據倉庫,并能維持數據同步的成本。
最終,有一個臨界值:
@gareth @xeraa 一般情況下,都有一個臨界值,沒到臨界點,可以堅持使用關系型數據庫(RDBMS),在某種程度上就要開始考慮同時使用兩種數據庫或者完全遷移到另一個上。
— 盧卡斯埃德爾 (@lukaseder) 2016年9月21日
在數據庫中使用JSON,這很簡單:
偶爾使用JSON存儲:堅持使用關系型數據庫(RDBMS)。
一切以JSON為主:可以考慮不用關系型數據庫(RDBMS)。
這個同樣適用于圖形問題。SQL完全能夠處理圖形和遞歸遍歷。遞歸的計算子集之和,這是一個時髦的聲明:
如果你只有一點樹形/圖形遍歷需要計算(例如,一個簡單的菜單結構),就無需涉及關系型數據庫。如果圖形存儲是您的主要業務,那么關系型數據庫可能不是一個好的選擇。
結論
無論你要解決什么問題,請記?。喝绻阌幸话彦N子,而每一個問題開始的時候都可以當作釘子。但不要把關系型數據庫當作是把愚蠢的錘子。不要小看它,在2016年它在處理非關系型小眾的事情上做的非常的好。
關系型數據庫仍然是處理各種數據問題的最好的選擇。 只有當你存儲超過一定閥值(或者你可以預見到要這么做),那是你應該去尋找替代品來替代它。因為當你去尋找一個新的(JSON,圖形等)來改變的時候,要浪費你很多的時間回到你“正?!钡年P系業務里去。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25