想与 Oracle 说“再见”,太难了!
導讀
“去IOE,最近這幾年比較火的話題,市場上也有不少成功的案例。也有不少企業也想去Oracle,今天就聊一聊去Oracle 有哪些難題?
Top1 Oracle 太強
Oracle 和MySQL對比(或其他開源數據庫)。不客氣的說Oracle 相對其他數據庫,功能或者SQL優化器方面遙遙領先。
例如:MySQL8.0才開始執行hash join。
高可用 Oracle 有rac 穩的一逼。
#現在的MySQL8.0 能和Oracle的9i持平就很不容易了。
“推薦一個艿艿寫的 6000+ Star 的 SpringBoot + SpringCloud + Dubbo 教程的倉庫:https://github.com/YunaiV/SpringBoot-Labs
Top2 Oracle的存儲過程觸發器對開發人員太友好
很多業務開發,把業務的邏輯封裝到Oracle的存儲過程,觸發器中了。
這樣會簡化業務邏輯代碼,Java的程序員只要調用接口即可。
而MySQL首先就是要禁用存儲過程、觸發器、視圖。
#enmmm 要執行去Oracle 就得把這一些存儲過程、觸發器,轉換為業務的代碼。
Top3 開發人員的思想
因為上述原因,oracle的功能、觸發器、存儲過程等等要強于MySQL。
開發人員可能默認數據庫可以搞定一切,實在不行上“一體機”。
秒殺、AP類的SQL、各種都可以往數據庫里面懟,Oracle都懟進去了MySQL也可以懟進去。
#redis不就是存存儲Session...
“推薦一個艿艿寫的 3000+ Star 的 SpringCloud Alibaba 電商開源項目的倉庫:https://github.com/YunaiV/onemall
Top4 沒操作過沒信心
對應Oracle to MySQL這個操作而言不僅僅涉及到單獨的數據,還涉及到業務的改造。
往往不是一個部門就能絕對的事,因為沒信心沒實際操作過。
會有風險擔心(這點沒毛病),對于未知的事務本應該有敬畏之心。
這點可以在小的不重要的業務先練練手。多部門直接配合多磨煉磨煉。
也對其他組件多多了解。
還有對操作過程中引發故障的擔當。
Top5 技術儲備不足
本身的技術儲備不足,基礎平臺沒完善。例如Redis,Kafka 大數據等等。
Oracle同步MySQL的工具、MySQL分庫分表的工具、MySQL to 大數據組件的工具.... 都屬于基礎組件。
還有MySQL本身的高可用,MySQL的監控等等。
Top6 人力投入大,對DBA要求高
從技術選型上來看,不僅僅是從Oracle到MySQL或者PG,還可能遷移到ES甚至是hbase等。這就對DBA有較高的要求。人力的投入和對DBA的要求可能也是去O難的重要原因之一。
“例如:
像小明以前的公司,信息化建設以來幾億花費建立起來的系統,幾乎都是oracle的解決方案。在服務業務的角度來看,去IOE的象征意義遠大于實際意義,傳統行業求穩不求新,行政壓力、技術壓力(原有供應商資源和技術棧將大比例更換)、財政壓力都蠻大的。
總結
去Oracle不容易,其實最大的阻力來自老板的決斷,也可能是公司對這件事的看法。這個操作是“自上往下推”的一個操作,以kpi的方式去實施。
若想做的更好建議招一個經驗豐富的架構師吧,全方位的評估(去Oracle不單單是DBA能完成的活)。
總結
以上是生活随笔為你收集整理的想与 Oracle 说“再见”,太难了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过源码分析Mybatis是如何返回数据
- 下一篇: 蚂蚁科技 Service Mesh 落地