說多了都是淚--由開發自主選型
最近有些好學的同事向我諮詢資料庫選型,我覺得這是好事。最起碼問專業的人,比起自以為懂資料庫的開發來選擇要好的多。我從使用場景、資料量、最佳化器以及單體還是分散式等等很多角度來說明各種資料庫的選擇。這年頭資料庫鋪天蓋地,尤其是國產資料庫(有幾個優秀的,但是大部分不怎麼優秀)。這種情況下,開發質量不高的程式,可能在Oracle DB2這樣的資料庫上能執行良好的,在MySQL等開源上執行的就不行了。我上週剛處理了一個這樣的案例。這幾年不少去O,但是沒人提去DB2和SQLSERVER,被去掉了嗎?可能因為O是第一,都想打贏第一。其他的資料庫說考慮一下我的感受。來打我呀。
我之前也有一個案例,在MySQL上執行很好的,但是到了國產上就GG了。感興趣的請往前找找。所以換國產要大量的適配,比如改寫、比如重新設計、甚至必要時候推到了重來。這是極有可能的。具體如何選,做資料庫的人最知道。開發基本不知道資料庫有多少坑,因為即使Oracle MySQL這樣的一般開發人員也未必都知道應該怎麼做。即使從Oracle到MySQL上,碰的頭破血流的也有的是。當然其實任意兩種資料庫切換都是帶來各式各樣的問題。
今天還遇到一件事,看到開發同學要清理表,問問為什麼?說這些表是記錄分散式資料的。重點是整個系統就一個資料庫,單例項資料。採用了分散式。這在做資料庫的人角度是玩命的不理解啊! 單例項資料庫用毛分散式事務?答覆是服務拆分為了資料庫的一致性。比如甲向乙轉賬的場景,甲的扣款服務和乙得到收款服務兩個要一致。 聽到這裡但凡做過資料庫的人都想哭了吧?
因為在幾十年前ACID的基礎就告訴我們,資料庫就是要把這兩個操作放在一個事務中來保證一致性。而如今微服務的居然把他們拆開,要用其他的來保證。(就實際情況而言,看上去沒保證,所以後臺要做處理)。我一向認為微服務的最小單元是事務,而不是SQL。也不知道現在為什麼都這樣來做?來打個比方吧。本來我們喝水小便都不用我們操心,生下來就自主完成的。現在做了一件事就是從胃接一個管子出來,到一個瓶子,再從瓶子接一個管子到膀胱。(例子有點不雅,但是事情就這麼個事情。是不是感覺多此一舉?)
這種事情太多了,從A資料庫到B資料庫,方法很多可以用CDC,也可以做程式從A拿資料搬遷到B等等。但是現在不少人會設計一個程式M從A中拿資料到訊息佇列,再做一個程式N從訊息佇列中拿資料到B。你看事情總是相似的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2924645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 我的快速APP開發選型APP
- 離開後端說前端加密都是空談後端前端加密
- 開發規範是血淚教訓
- Agent 智慧體開發框架選型指南智慧體框架
- 為什麼說自主研發瀏覽器核心等同於開發半個Windows系統?瀏覽器Windows
- 都是血淚,程式設計師傍身的生存法則(上)程式設計師
- Web開發技術選型之Java與PHPWebJavaPHP
- 由Nodejs來說I/ONodeJS
- 接入第三方美顏sdk和自主開發美顏sdk如何選擇?
- 關於程式碼的那些低階錯誤,都是血淚的教訓
- 開發者架構選型:原生應用 or 混合框架?架構框架
- 低程式碼開發平臺選型注意事項
- 不建議開發來做資料庫選型資料庫
- 開源OLAP引擎選型
- C++類開發第七篇(詳細說說多型和編譯原理)C++多型編譯原理
- 移動IM開發指南1:如何進行技術選型
- 低程式碼開發平臺選型的注意事項(下)
- 低程式碼開發平臺選型的注意事項(上)
- 所有屬性都是可選的BusinessExceptionException
- Android開發——說說Adapter那點事AndroidAPT
- 每位開發者都是華為的「掃地僧」
- 搞安全開發都是用什麼程式語言?
- 越來越多的非計算機領域企業,在自主做軟體選用快速開發工具計算機
- 育碧製作開放世界地圖的資料,都是由這個團隊調研收集的地圖
- 開發遊戲只為向女友求婚,每個關卡都是淚點!我是一個普通人,但是想成為你另一半玩家開發遊戲
- 華為:證實已開發出自主作業系統作業系統
- 發的都是手動
- iOS開發基礎149-由UUIDString引發的思考iOSUI
- 說說軟體開發這個職業
- 開源低程式碼平臺開發實踐一:低程式碼開發探討與技術選型
- 你有開發過chrome外掛嗎?說說你的開發過程Chrome
- 夏天好熱,但是雞湯說年輕人不要怕流淚流汗
- 嵌入式開發微處理器選型需要考慮的因素
- Web3開發者技術選型:前端視角(next.js)Web前端JS
- 網際網路通訊雲 PaaS 選型 開發者必備指南
- Unity:53%開發者認為遊戲玩家惡劣行為去年變多了Unity遊戲
- 由iphone12說說鐳射雷達 FMCW鐳射雷達iPhone
- 怎麼自主開發美顏sdk,需滿足哪些條件?