Oracle 的哪些特性使其成為小型項目的有吸引力的選擇?
鑑於 Oracle 的許可處理$$ a $$(並且,在較小程度上,成本)我一直想知道選擇 Oracle 而不是 PostgreSQL 或 MySQL 的決定因素是什麼。
我的公司幾乎總是選擇 Oracle(在可能的情況下使用 XE),即使對於只有一個簡單的 Windows 伺服器盒執行數據庫而沒有任何專門的數據庫管理的小型項目也是如此。(請注意,小並不意味著數據總是適合 Oracle XE 相當小的大小約束。)
我一直質疑這種選擇,但它的好處是我們至少只接觸到一種數據庫產品。
儘管如此,給定一個新項目,您需要一個 RDBMS,但數據庫的項目和範圍非常小,基於在簡單的 Windows 伺服器機器上執行的 Oracle 的哪些獨特功能(沒有太多專門的管理),您會選擇 Oracle 而不是另一個 RDBMS?
附加背景:我們的許多數據庫部署在客戶站點以“低管理”模式執行,我們稱之為“低管理”模式。即,數據庫建立一次。在現場對其正確行為和性能進行了一些初步測試。在此之後,數據庫就開始執行了。沒有進行正常管理。只有當出現問題時,技術人員(不是專門的 DBA)才會檢查數據庫,試圖找出問題所在。備份主要是作為離線備份完成的。在某些項目中,客戶甚至不關心是否涉及 RDBMS。他們只是將他們的應用程序視為有效(或無效)的黑匣子。
$$ a $$:在我工作的地方,幾個項目經理反复花費了幾個月的時間來為小型項目獲得適當的許可,因為如果收入很小,當地的 Oracle 代表根本對銷售他們的產品不太感興趣。
我只能嘗試回答 Oracle 和 postgres。在專門使用 Oracle 多年,並且僅在過去兩年左右使用 postgres 之後,我喜歡postgres。它有很多比 Oracle 更方便使用的小方法,並且它具有許多關鍵優勢(例如 MVCC)。它更易於管理、可靠、具有出色的文件,當然,它是免費的。
但是 postgres 在某些領域是無法與 Oracle 匹敵的,例如:
- RAC - 據我所知,任何數據庫都沒有更好的集群技術
- RMAN - 遠遠優於 postgres 的基本備份和恢復功能,尤其是塊更改跟踪和增量備份(您可以將其應用於其他備份以保持最新的完整備份)
- Oracle 支持 - 存在。postgres 支持?沒那麼多
- 許多其他功能,例如 IOT、“安全文件”和壓縮技術,在 postgres 世界中沒有類似物
有趣的是,幾乎所有這些功能在 XE 中都不存在或被削弱。我想我會選擇 postgres 而不是 XE,其他一切都是平等的,但是……
…這些都沒有解決選擇 Oracle 的兩個最大原因:
- 您已經在使用 Oracle,並且對它進行了巨額投資(數據庫獨立性是一個愚蠢的神話)
- 您的開發人員和 DBA 了解 Oracle 並充分利用其功能(為什麼他們不認為數據庫獨立性是一個愚蠢的神話呢?)
編輯:
我每次都選擇 postgres 而不是 XE 的一種情況是,如果安全是一個問題。如果您的數據庫或其任何應用程序暴露在公共網際網路上,我不確定 XE 是否是一個好主意。
甲骨文頂點。直接內置於數據庫中的方便、易於使用的 Web 應用程序環境。很簡單,它使得在單個集成包中部署帶有 web ui/應用程序邏輯/數據庫的“單機”應用程序變得非常簡單。
PS。11g XE(目前處於測試階段)將儲存擴展到超過 10GB。