建置 MongoDB 資料庫

MongoDB 是一個文件導向的資料庫程式。MongoDB 分類為 NoSQL 資料庫程式,並使用類似 JSON 的文件搭配綱要。

架構

此參照架構會在 Oracle Cloud Infrastructure 上部署三個 MongoDB 節點和一個 MongoDB Ops Manager。

下圖說明此參考架構。

mongodb-oci.png 的描述如下
mongodb-oci.png 圖解描述

架構包含下列元件:

  • 區域

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且大型距離可以區隔 (跨國家或甚至洲)。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完全控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可為區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。

  • 動態路由閘道 (DRG)

    DRG 是一個虛擬路由器,可提供 VCN 與區域外部網路 (例如另一個 Oracle Cloud Infrastructure 區域中的 VCN、內部部署網路或另一個雲端提供者中的網路) 之間的專用網路流量路徑。

  • 路由表

    虛擬路由表包含將流量從子網路路由至 VCN 外部之目的地的規則,通常會透過閘道。

  • 安全清單

    您可以為每個子網路建立安全規則,以指定子網路中必須允許的來源、目的地以及流量類型。

  • 網路閘道

    網際網路閘道可讓 VCN 中的公用子網路與公用網際網路之間的流量。

  • 可用性網域

    可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎架構,例如電源、冷卻或內部可用性網域網路。因此,一個可用性網域的失敗並不會影響區域中的其他可用性網域。

  • 容錯域

    容錯域是一組可用性網域內的硬體和基礎架構。每個可用性網域都有三個具有獨立電源和硬體的容錯域。在多個容錯域之間分配資源時,您的應用程式可能會容許容錯某個容錯域內的實體伺服器故障、系統維護及電源故障。

  • 作業管理員

    「作業管理員」負責管理 MongoDB 部署。它提供可讓您最佳化叢集並降低營運風險的功能。

  • MongoDB 節點

    這些是執行 MongoDB 的運算節點。

  • 區塊磁碟區

    透過區塊儲存磁碟區,您可以建立、連附、連線及移動儲存體磁碟區,以及變更磁碟區效能以符合您的儲存體、效能和應用程式需求。將磁碟區連附並連線至執行處理之後,您可以使用磁碟區,例如一般硬碟。您也可以中斷磁碟區的連線,然後將它連附至另一個執行處理,而不會遺失資料。

您可以在具有多個可用性網域的區域中使用相同的架構。

推薦

您的需求可能會與此處描述的架構不同。使用下列建議作為起點。

  • 運算資源配置,作業管理員

    使用 VM.Standard2.24 或更新版本的資源配置 (至少兩個虛擬網路介面卡,或 VNIC) 提高傳輸量。此安裝程式提供足夠的 CPU 和記憶體來有效代管「作業管理程式」。

  • 計算資源配置,MongoDB 節點

    使用 VM.DenseIO2.24 資源配置,為每秒 I/O 作業提供本機連附的儲存體 (IOPS),最多可達 24.6 Gbps 的網路頻寬。使用 RAID 組態 (RAID 10) 可在本機連接的磁碟上獲得更好的資料保護。

  • 區塊磁碟區

    除了本機連附的儲存體之外,請至少使用三個區塊磁碟區 (32 TB) 搭配多工連附功能。此新增可提供更多儲存體。

  • VCN

    當您建立 VCN 時,請根據計畫連附至 VCN 中子網路的資源數目,決定所需的 CIDR 區塊數目和各個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    選取未與您想要設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure、內部部署資料中心或其他雲端提供者中) 重疊的 CIDR 區塊。

    設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。

    建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。

    不論可用性網域數目為何,皆使用區域子網路進行部署。

  • 安全清單

    您可以使用安全清單來定義套用至整個子網路的傳入和傳出規則。

    例如,此架構允許 ICMP 內部用於整個專用子網路。

  • 網路安全群組 (NSG)

    您可以使用 NSG 來定義一組套用至特定 VNIC 的傳入和傳出規則。建議您使用 NSG 而不要使用安全清單,因為 NSG 可讓您將 VCN 的子網路架構與應用程式的安全需求分開。

  • 安全區域

    對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與以最佳做法為基礎之 Oracle 定義的安全原則方法關聯的區間。例如,安全區域中的資源不得從公用網際網路存取,且必須使用客戶管理的金鑰加密。當您在安全區域中建立及更新資源時,Oracle Cloud Infrastructure 會根據 security-zone 處方中的原則驗證作業,並拒絕違反任何原則的作業。

考量

  • 效能

    若要獲得最佳效能,請選擇具有適當頻寬的正確運算資源配置。

  • 使用狀態

    請考慮根據您的建置需求和區域使用高可用性選項。選項包括使用區域與容錯域內的多個可用性網域。

  • 成本

    DenseIO 執行處理提供更高的 I/O 作業效能,但需要較高的成本。評估需求以選擇適當的運算資源配置。

  • 監督和警示

    設定您節點之 CPU 和記憶體使用狀況的監督和警示,讓您可以視需要擴大或縮小資源配置。