fbpx

EDB 打造對開發者友善的 Oracle 到 Postgres 遷移過程

前言

Postgres 受開發者青睞這事無人不曉,事實上,這些對 Postgres 的熱愛儼然成為企業選擇 Postgres 的主要動機之一,因為那些諸如 Oracle 的傳統封閉性資料庫欠缺打造現代化應用程式所需的靈活性、可靠性和創新的潛力。

而 EDB 不打算於目前的成就中就此罷手,它們希望更深入地探討:當開發者考慮將 Oracle 遷移至 Postgres 時,他們的優先順序和顧慮為何?意即,這些開發者希望達到什麼樣的目標,以及 EDB 如何在資料庫遷移的過程中提供協助。

因此 EDB 從它們 Oracle 遷移研討會系列的參與者中,彙整了一些常見問題,並將其交由 EDB 最熟悉開發領域的專家回答:Vibhor Kumar ,效能工程(Performance Engineering)和架構團隊副總, Doug Ortiz ,資深 Postgres 開發維運工程師。

對此,EDB 從中彙整了以下要點: 

  • 從 Oracle 遷移至 Postgres 對開發者的益處為何?
  • 開發者在遷移過程中的考量和顧慮為何?
  • 確保無縫遷移,以滿足所有開發人員的需求的最佳解決方案為何?

Oracle 遷移至 Postgres 解放開發者所有潛能

Vibhor Kumar 於談話之初解釋:「Postgres 開源的特性對開發者非常友善,這是開發人員偏好 Postgres 而非 Oracle ,也同時渴望遷移資料庫的根本原因。」「Postgres 的效能和功能夠滿足開發者,此外,從可擴展性的面向來說,它能帶來的益處更令人難以想像。」

當 EDB 與開發人員討論他們對資料庫的需求時, Postgres 的效能和可擴展性經常被提及。雖然 Oracle 這種傳統封閉式資料庫提供相對強大的工具包和性能,然而,開發者經常無法使用 Oracle 工具包以外的套件,或他們偏好的工具往往於整合後遭到限制。

Postgres 與之相比,則不限制開發者想整合的解決方案,這讓他們能輕易地開發出符合企業標準和願景的現代化應用程式。Kumar 強調:「透過 Postgres ,開發者能輕易地建立外掛或建立自己的資料庫。」

至於可擴展性,雖然這已是老生常談,但開發者經常在限制與自由間猶豫不決。選擇 Oracle,使用者在擴充資料庫效能時需給付原廠額外費用,也就是說,他們需要為自己的成長付費;與之相比,Postgres 不會向你收取擴充費用,因此你在持續成長的同時,無需擔心持續開銷影響未來的財務規劃。

最後,Kumar 提及 Postgres 能夠介接其他資料庫的優勢,讓系統架構師和 IT 主管建置一個混合、多系統的基礎架構。這種架構能夠滿足開發團隊不同的需求。Kumar 解釋:「不同資料庫有各自不同的特性,如果使用者仍希望使用 Oracle 或 MongoDB 處理某些特定資料,他們能夠輕易地透過套件將這些資料庫的資料匯入 Postgres。這是其中一個 Postgres 對使用者和開發者友善的例子。

對開發者而言,遷移至 Postgres 的目標與擔憂為何?

上述提及的優勢是開發者敦促 IT 決策者採用 Postgres 眾多因素中的其中 3 項,雖然 Postgres 是開發者夢寐以求的資料庫,但使用者仍必須規劃一套完善的遷移計畫,以確保業務正常運行。

Kumar 說到:「當開發者詢問遷移至 Postgres 能帶來的效益為何,我會回答,這取決於他們自身的使用狀況。」「如果他們本身就是 ANSI SQL 的使用者,並使用 ANSI SQL 來完成大部分工作,那對他們來說,使用 Postgres 將不會有太大的變化,而我也不會建議他們將資料庫遷移至 Postgres。但如果開發者是 Oracle 使用者,並對 Oracle 的開發功能十分熟悉,他們將花費更多精力遷移資料庫,這邊指的不只是捨棄 Oracle 的既有知識,並開始學習 Postgres 的功能,開發人員還必須重寫他們曾經仰賴的 Oracle 基本架構。

由於 Postgres 社群版(PostgreSQL)沒有內建的 Oracle 兼容性,因此 Oracle 的開發工具無法直接被遷移至 Postgres 上。對此,開發人員需重建符合 Postgres 的資料庫架構或重寫應用程式碼,並在完成遷移後進行大量測試,來確保一切能正常運作,同時確認重寫的過程中沒有遺失任何程式碼。

許多團隊就是在這個階段萌生放棄的念頭,這是可以理解的。當你的資料源和目標在基礎架構中是異質的,資料庫遷移會變得複雜,團隊也需要花費大量時間。「如果因為遷移計畫延宕導致業務連續性受影響,導致新產品的推出延後了怎麼辦?」或「遷移完成後,搬移過去的應用程式會不會就無法正常運作了?」這類的問題層出不窮。

不過慶幸的是,EDB 提供一系列的解決方案來避免這種資料庫遷移後的悲劇發生,並確保使用者能夠盡可能的無縫完成資料庫遷移。透過 EDB 的協助,開發者只需坐等新資料庫上線。

EDB 的遷移工具和服務協助開發者成功遷移

在 EDB 三個 Oracle 遷移研討會中的第二個中,EDB 探討了資料遷移在整個遷移過程中是如何成為最令人心生畏懼的部分。尤其在整合異質資料庫時,也是整個遷移過程中最容易出錯的地方。因此 EDB 致力於提升 Postgres 與 Oracle 的兼容性。

Kumar 解釋:「由於 Postgres 不支援 Oracle 介面,因此應用程式與 Oracle 介面的緊密整合是導致遷移過程複雜的主要因素。對此,EDB 提供相當於 Oracle OCI 的 OCL、相當於 SQL*loader 的 EDB*Loader、相當於 Pro*C 的 SQL*plus 和  ECPGPlus 來增加遷移計畫的順暢度,並達成與 Oracle 的兼容性。」

在 EDB 提供的眾多工具中,它們共同的基礎便是與 Oracle 的兼容性。這個特性降低了因重寫導致錯誤發生的風險,也為企業省下遷移時花在除錯上的時間和金錢,開發者能持續使用他們熟悉的工具和代碼,以大幅減少遷移時所需的時間。

無論你想遷移至 EPAS 或 Postgres 社群版,EDB 的解決方案如:Migration PortalMigration ToolkitReplication ServerLiveCompare ,都旨在支援 IT 決策者和開發者。 EDB 讓使用者不需購入一整套 Postgres 企業級資料庫,只需依自身需求購買即可。

EDB 提供的優勢不只如此!擁有能夠簡化遷移的工具是一回事,在遷移過程中有專精於 Postgres 的專家指引又是另一回事。 EDB 的全天候專業服務,能在使用者遭遇瓶頸時或在設計 Postgres 架構時提供協助,解放開發者的潛能。

Doug Oritz 在列舉他最喜愛的遷移工具時重述:「開發者喜愛 Postgres 好上手的特性,因為他們能夠透過 Postgres 完成很多事。」「利用 EDB 專業的工具和服務確保無縫遷移,能讓開發者在導入 Postgres 的第一天就徹底體會它的好處。」

Postgres 讓開發變得更容易,EDB 則讓 Postgres 更容易採用

在許多層面上,開發人員是一間企業裡的先鋒,他們負責構想創新和令人驚艷的解決方案,來轉換和現代化企業中的應用程式。因此,開發人員渴望一台不會阻礙和限制他們的資料庫,這也是為何他們選擇 Postgres。

多年來,EDB 看見業界使用 Postgres 的趨勢,來自各種規模組織的開發者向 EDB 詢問如何將 Oracle 遷移至 Postgres,它們對遷移需求為何,以及在完成遷移後,如何將 Postgres 的效能發揮得淋漓盡致。

切記,千萬別讓 Oracle 限制你的開發者。因為一但他們停止創新,你的企業也會如此。

學習資源:想瞭解如何構建一套理想的 Oracle 到 Postges 遷移計畫,可以閱讀我們的文章:Oracle 與 Postgres 的比較資料庫評估架構遷移資料庫功能測試

 

相關文章