應用程式碼也決定系統架構
https://mp.weixin.qq.com/s/wl_OmYB8fWp8vGxgn18_Lw
公眾號原文
經常看我公眾號的朋友知道,我一直說單機資料庫是最好的架構(這裡單機不是說就一個機器,而是一套高可用的架構。支援節點切換,保證資料不丟失的)。分散式資料庫也是的,因為它是一套。
所以我一直說資料決定架構。單套最怕的是什麼?因為是一套了不用過度擔心硬體了(其實都2022年了,誰家的機器天天壞)。(斷網斷電不考慮)除此之外最怕的,也是唯一怕的就是殺手級的SQL。往往一個SQL可以讓一個資料庫轟然倒地。
我這麼多年從事了也不少行業和公司。挽救了不少系統,所以也積累了可以殺死系統的方法。只要不按照規範來,一定會出事。就是早晚而已。所以很多資料庫都為了防止這種節操碎了一地的SQL,推出了自己的解決方案。都採用機器學習等方式將殺手的SQL直接摁在地上,裝載盒子中。比如Oracle19C 用一體機實現。Polardb 、OceanBase、TDSQL我還沒查到怎麼實現,可能是我資料有限。
所謂再牛逼的香水也幹不過韭菜盒子。沒有條件的怎麼辦呢?其實有兩種方法:
方案1:嚴控開發質量。代價是開發需要提升水平。收益是資料庫規模基本不變,成本可控。通常選擇這種路線的不少,比如網際網路公司、金融行業、運營商等。對資料非常敬畏而且系統就是公司的生命。
方案2:低成本開發高成本運維。代價是分庫分表、機器增加、資料匯聚、資料同步、異構資料庫、訊息佇列、大資料、流式計算。。。。。。。才疏學淺後面寫不下去了,可能還有很多沒考慮到或者沒馬上想到的。乍一看,方案2好像架構高大上了啊。可以出去吹牛了。也有不少選擇這個方案的。
就一個分庫分表其實就足以讓開發和運維人員頭痛不已,有的時候發現架構層面甚至不一定能解決一致性的問題,即使解決了付出的代價之大和效能衰減是吃驚的。所謂效能不行架構湊。
方案1:對開發來說太low,還要提升能力,招不到開發,也沒人願意來。
方案2:對運維來說太坑,招不到運維,不想填坑。
不管怎麼說本期主題的結論出來了,應用寫的差,是真的可以改變架構的。但是應用寫的好,可以改變架構嗎?答案也是肯定的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2855077/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 傳統應用系統架構向微服務應用架構升級的實戰案例微服務應用架構
- 多租戶系統的應用架構應用架構
- 企業應用架構研究系列三:應用系統整合應用架構
- 定義運營系統架構架構
- 百萬年薪架構師之路:談應用系統架構設計架構
- 餓了麼交易系統應用架構演進應用架構
- 攻擊JavaWeb應用————6、程式架構與程式碼審計JavaWeb架構
- 攻擊JavaWeb應用[6]-程式架構與程式碼審計JavaWeb架構
- 微信小程式大型系統架構中應用Redis快取要點微信小程式架構Redis快取
- 新零售SaaS架構:訂單履約系統的應用架構應用架構
- Google官方應用程式架構指南Go架構
- Web3.0應用程式架構Web架構
- 解決方案架構、系統架構和企業架構區別架構
- 系統設計概念:生產 Web 應用的架構Web架構
- 微核心架構在大型前端系統中的應用架構前端
- 新零售SaaS架構:客戶管理系統的應用架構設計應用架構
- srm供應商管理系統架構設計解決方案架構
- windows10系統下應用程式中文亂碼的解決方法Windows
- Android系統架構與系統原始碼目錄Android架構原始碼
- 揭祕騰訊程式碼管理核心—工蜂Git系統架構Git架構
- 高德客戶端低程式碼系統架構實踐客戶端架構
- H5-APP在企業系統中的架構應用H5APP架構
- 程式設計體系結構(09):分散式系統架構程式設計分散式架構
- 解析分散式應用框架Ray架構原始碼分散式框架架構原始碼
- SAP BTP MTA 應用解決的架構痛點架構
- Tomcat系統架構Tomcat架構
- MVP應用架構模式MVP應用架構模式
- win10系統下應用程式響應緩慢如何解決Win10
- 瞭解安卓架構(linux核心層、系統執行庫層、應用框架層、應用層)安卓架構Linux框架
- SaaS架構:應用服務、應用結構設計架構
- 排隊免單系統原始碼架構分析原始碼架構
- 線上客服系統原始碼/IM原始碼框架架構原始碼框架架構
- 超市管理系統原始碼 超市進銷存管理系統原始碼 (CS架構)原始碼架構
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- 伸縮架構原理也適用於大模型架構大模型
- Android架構系列-MVP架構的實際應用Android架構MVP
- particle雲架構程式碼結構架構
- java架構的程式碼結構Java架構