fbpx

從 Oracle 到 Postgres: 最完整的轉移指引五步驟 1/4篇 – PostgreSQL 與 Oracle 差異對比

本系列由 4 篇文章組成,分別為 ORACLE 與 POSTGRES 的比較(本篇)、資料庫評估架構遷移、資料庫功能測試。歡迎閱讀系列中的其他文章,以了解完整的資料庫遷移步驟。

簡介

從 Oracle 轉移到 PostgreSQL 開源資料庫的企業數量正快速增長中,而這個完整的導引將提供用戶資料庫轉移過程所需的一切。

對於任何對轉移過程感到恐懼或懷疑的使用者來說,本篇將分析 PostgreSQL 資料庫系統對比 Oracle 的優勢以及採用 PostgreSQL 後可獲得的好處── 也就是降低成本、增加靈活性和客製化程度。

接下來,轉移過程將被分解成不同步驟,包含評估、模式轉移、功能測試、性能測試和數據轉移,並根據各階段進行逐步指導。

此外,兩種資料庫之間的關鍵系統性差異和不兼容之處被逐一列出,以幫助使用者避開常見錯誤,並權衡替代轉移方案,最終提出免費的有效轉移工具清單。

此導引除了提供給準備從 Oracle 遷移到 PostgreSQL 的用戶,也為正考慮引入 PostgreSQL 卻擔心轉移複雜性的 Oracle 用戶給予保證。 

資料庫遷移是什麼?

資料庫轉移是一種將軟體 (Definitions)、資料和儲存程序於平台,並改變應用程式的過程,過程中包含選擇、準備、擷取、轉換以及將資料應用於不同平台間。

使用者在轉移至 Postgres 的過程會經歷不同的階段,如挑選正確的架構、相容性檢核、改寫不相容的物件、功能和效能測試、資料轉移和轉移後檢查。

從 Oracle 轉移到 PostgreSQL 的益處為何  ?

下方列舉一些從 Oracle 遷移至 PostgreSQL 的益處

  1. 成本:除了授權費用外,使用者還需為 Oracle 的分區功能和高可用性支付額外費用,這會導致鉅額成本。與之相比,基於Postgres 開源的特性,使用者能夠免費下載使用。
  2. 靈活性:基於 PostgreSQL 開源的特性,使用者可以從包括 AWS 在內的公有雲端平台上取得 PostgreSQL ,消弭遭單一廠商壟斷的風險。
  3. 可定制性:基於開源的特性,使用者能使用軟體套件和附加功能改善資料庫性能,而且大多套件是免費的。相較之下, Oracle 的使用者將為了類似功能付出鉅額成本。

雖然從 Oracle 遷移至 Postgres 益處良多,但遷移資料庫的過程並非容易

因為資料在 RDBMS 之間進行轉移,而根據資料類型或是異質結構,整個過程將會是一個非常耗時的挑戰,因此使用者需用正確的工具來處理問題。

遵循以下步驟,問題將迎刃而解:

相比之下,採用 PostgreSQL 有什麼優勢?

簡而言之, PostgresQL 相較 Oracle 有以下七點特性:

  1. 撰寫應用程式
  2. 認證
  3. 可擴展性(Extensibility)
  4. 語言
  5. 在地化
  6. 性能
  7. 可擴展性(Scalability)

1.POSTGRESQL VS. ORACLE:撰寫應用程式

Oracle 和 PostgreSQL 都提供用於資料庫對話的 API 。受益於 PostgreSQL 的開源性質,開發者能夠使用 PostgreSQL 的原始碼進行二次開發。

2.POSTGRESQL VS. ORACLE:驗證

Oracle 使用內建認證系統, PostgreSQL 則依賴主機驗證,因此它支持廣泛的驗證方法。這是為何 Postgres 使用者更有彈性的驗證選擇,並可以選擇委託代執行過程。

3.POSTGRESQL VS. ORACLE:EXTENSIBILITY (可擴展性)

Oracle 套件多為專有性質,PostgreSQL 與之相比, 受益於其開源的特性和龐大社群支援,因此 Postgres 具有成千上萬的軟體套件供使用者選擇。

4.PostgreSQL vs. Oracle:語言

Oracle 採用內建程式語言 PL/SQL ,而 PostgreSQL 不僅容納 PL/pgSQL ,還擁有各種語言及延伸系統,並允許用戶創建額外的程序語言作為插件以及綁定更多程式語言。

5.POSTGRESQL VS. ORACLE:在地化

Oracle 提供全球化工具,包括開發套件和 unicode 編碼支持。

相較之下, PostgreSQL 採用內建的在地化服務系統,並提供自動字元編碼和校核功能。

6.POSTGRESQL VS. ORACLE:性能

PostgreSQL 能夠在單一讀取群集中創造無限的節點,並使讀取操作的成本趨近於零,這也讓用戶能對調整每個工作量。雖然使用者也可以在 Oracle上 這樣做,但卻需承擔每個節點的額外成本。

7.POSTGRESQL VS. ORACLE:SCALABILITY(可擴展性)

Oracle 有著優秀的垂直讀取可擴展性,然而 PostgreSQL 卻能於單一叢集中創建大量唯讀(Read Only)的 StandBy ,而這僅取決於用戶願意提供的資源量。


延伸閱讀 :

閱讀系列文章

相關文章