使用 Striim 將資料移轉至 Azure Cosmos DB for NoSQL 帳戶

適用於:NoSQL

Azure 市集中的 Striim 映像可提供從資料倉儲和資料庫移轉到 Azure 的連續即時資料移動。 移動資料時,您可以執行內嵌反正規化、資料轉換、啟用即時分析和資料報告情節。 您可以輕鬆地開始使用 Striim,持續將企業資料移至 Azure Cosmos DB for NoSQL。 Azure 提供市集供應項目,可讓您輕鬆地部署 Striim,並將資料移轉至 Azure Cosmos DB。

此文章說明如何使用 Striim 將 Oracle 資料庫中的資料移轉至 Azure Cosmos DB for NoSQL 帳戶

必要條件

  • 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

  • 在內部部署環境中執行且具有一些資料的 Oracle 資料庫。

部署 Striim 市集解決方案

  1. 登入 Azure 入口網站

  2. 選取 [建立資源],並在 Azure 市集中搜尋 Striim。 選取第一個選項,然後選取 [建立]

    Find Striim marketplace item

  3. 接著,輸入 Striim 執行個體的設定屬性。 Striim 環境會部署在虛擬機器中。 在 [基本] 窗格中,輸入 VM 使用者名稱VM 密碼 (此密碼用來透過 SSH 連線到 VM)。 選取您要在其中部署 Striim 的訂閱資源群組位置詳細資料。 完成之後,請選取 [確定]

    Configure basic settings for Striim

  4. 在 [Striim 叢集設定] 窗格中,選擇 Striim 部署的類型和虛擬機器大小。

    設定 Description
    Striim 部署類型 獨立 Striim 可在獨立叢集部署類型中執行。 獨立模式會將 Striim 伺服器部署在單一虛擬機器上,而且您可以根據資料量來選取 VM 的大小。 叢集模式會將 Striim 伺服器部署在所選大小的兩部或多部 VM 上。 具有 2 個以上節點的叢集環境提供自動的高可用性和容錯移轉。

    在本教學課程中,您可以選取 [獨立] 選項。 使用預設為 “Standard_F4s” 大小的 VM。
    Striim 叢集的名稱 <Striim_cluster_Name> Striim 叢集的名稱。
    Striim 叢集密碼 <Striim_cluster_password> 叢集的密碼。

    填入表單之後,選取 [確定] 以繼續。

  5. 在 [Striim 存取設定] 窗格中,設定公用 IP 位址 (選擇預設值)、您要用來登入 Striim UI 的 Striim 的網域名稱管理員密碼。 設定 VNET 和子網路 (選擇預設值)。 填入詳細資料之後,選取 [確定] 以繼續。

    Striim access settings

  6. Azure 會驗證部署,並確定一切看起來沒有問題;驗證需要幾分鐘的時間才能完成。 驗證完成之後,請選取 [確定]

  7. 最後,請參閱使用規定,然後選取 [建立] 以建立您的 Striim 執行個體。

設定來源資料庫

在本節中,您會將 Oracle 資料庫設定為資料移動的來源。 Striim 伺服器隨附用來連線到 Oracle 的 Oracle JDBC 驅動程式。 若要從來源 Oracle 資料庫讀取變更,您可以使用 LogMinerXStream API。 Oracle JDBC 驅動程式存在於 Striim 的 Java 類別路徑中,可從 Oracle 資料庫讀取、寫入或保存資料。

設定目標資料庫

在此節中,您會將 Azure Cosmos DB for NoSQL 帳戶設定為資料移動的目標。

  1. 使用 Azure 入口網站建立 Azure Cosmos DB for NoSQL 帳戶

  2. 瀏覽至您 Azure Cosmos DB 帳戶中的 [資料總管] 窗格。 選取 [新增容器] 以建立新的容器。 假設您要將產品訂單資料從 Oracle 資料庫遷移至 Azure Cosmos DB。 來建立名為 StriimDemo 的新資料庫,並將容器命名為 Orders。 使用 1000 RU 佈建容器 (此範例使用 1000 RU,但您應該使用針對您工作負載所估計的輸送量),並以 /ORDER_ID 作為分割區索引鍵。 這些值會根據您的來源資料而有所不同。

    Create a API for NoSQL account

針對 Azure Cosmos DB 資料流程設定 Oracle

  1. 瀏覽至您在 Azure 入口網站中部署的 Striim 執行個體。 選取上方功能表列中的 [連線] 按鈕,然後從 [SSH] 索引標籤中,複製 [使用 VM 本機帳戶登入] 欄位中的 URL。

    Get the SSH URL

  2. 開啟新的終端視窗,並執行您從 Azure 入口網站複製的 SSH 命令。 本文使用 MacOS 中的終端,您可以遵循在 Windows 機器上使用 SSH 用戶端的類似指示。 出現提示時,請輸入 yes 以繼續,然後輸入您在上一個步驟中為虛擬機器設定的密碼

    Connect to Striim VM

  3. 從相同的終端視窗中,執行下列命令來重新啟動 Striim 伺服器:

    systemctl stop striim-node
    systemctl stop striim-dbms
    systemctl start striim-dbms
    systemctl start striim-node
    
  4. Striim 需要一分鐘的時間來啟動。 如果您想要查看狀態,請執行下列命令:

    tail -f /opt/striim/logs/striim-node.log
    
  5. 現在,瀏覽回 Azure 並複製您 Striim VM 的公用 IP 位址。

    Copy Striim VM IP address

  6. 若要瀏覽至 Striim 的 Web UI,請在瀏覽器中開啟新的索引標籤,然後複製後面接著 9080 的公用 IP。 使用管理員使用者名稱,以及您在 Azure 入口網站中指定的管理員密碼來登入。

    Sign in to Striim

  7. 現在您將抵達 Striim 的首頁。 其中有三個不同的窗格 – 儀表板應用程式資源預覽。 [儀表板] 窗格可讓您即時移動資料並將其視覺化。 [應用程式] 窗格包含您的串流資料管線或資料流程。 在頁面右側是 [資源預覽],您可以在其中預覽資料,然後再將資料移動。

  8. 選取 [應用程式] 窗格,我們現在會將焦點放在此窗格上。 您可以使用各種範例應用程式來了解 Striim,不過在本文中,您將建立自己的應用程式。 選取右上角的 [新增應用程式] 按鈕。

    Add the Striim app

  9. 有幾種不同的方式可以建立 Striim 應用程式。 選取 [從範本開始],即可從現有的範本開始建立。

    Start the app with the template

  10. 在 [搜尋範本] 欄位中,輸入 "Cosmos" 並選取 [目標:Azure Cosmos DB],然後選取 [從 Oracle CDC 到 Azure Cosmos DB]

    Select Oracle CDC to Azure Cosmos DB

  11. 在下一個頁面中,為您的應用程式命名。 您可以提供名稱 (例如 oraToCosmosDB),然後選取 [儲存]

  12. 接下來,輸入來源 Oracle 執行個體的來源設定。 輸入來源名稱的值。 來源名稱只是 Striim 應用程式的命名慣例,您可以使用類似 src_onPremOracle 的內容。 輸入剩餘來源參數的值:[URL]、[使用者名稱]、[密碼],選擇 [LogMiner] 作為從 Oracle 讀取資料的讀取器。 選取下一步以繼續。

    Configure source parameters

  13. Striim 會檢查您的環境,並確定其可以連線到您的來源 Oracle 執行個體、擁有正確的權限,而且 CDC 已正確設定。 所有值都經過驗證之後,請選取 [下一步]

    Validate source parameters

  14. 從您想要遷移的 Oracle 資料庫中選取資料表。 例如,選擇 Orders 資料表,然後選取 [下一步]

    Select source tables

  15. 選取來源資料表之後,您可以進行更複雜的作業,例如對應和篩選。 在此情況下,您只會在 Azure Cosmos DB 中建立來源資料表的複本。 因此,請選取 [下一步] 以設定目標

  16. 現在,讓我們來設定目標:

    • 目標名稱 - 提供目標的自訂名稱。
    • 輸入來源 - 從下拉式清單中,選取您在來源 Oracle 設定中建立的輸入資料流程。
    • 集合 - 輸入目標 Azure Cosmos DB 設定屬性。 集合語法為 SourceSchema.SourceTable, TargetDatabase.TargetContainer。 在此範例中,值會是 “SYSTEM.ORDERS, StriimDemo.Orders”。
    • AccessKey - 您 Azure Cosmos DB 帳戶的 PrimaryKey。
    • ServiceEndpoint - 您 Azure Cosmos DB 帳戶的 URI,可在 Azure 入口網站的 [金鑰] 區段下找到。

    選取 [儲存] 和 [下一步]

    Configure target parameters

  17. 接下來,您將前往流程設計工具,您可以在其中拖放現成的連接器,以建立串流應用程式。 此時您不會對流程進行任何修改。 所以請繼續進行,並選取 [部署應用程式] 按鈕來部署應用程式。

    Deploy the app

  18. 在部署視窗中,您可以指定是否要在部署拓撲的特定部分執行應用程式的特定部分。 因為我們是透過 Azure 在簡單的部署拓撲中執行,所以我們會使用預設選項。

    Use the default option

  19. 部署之後,您可以預覽串流以查看流經的資料。 選取波浪圖示和旁邊的眼睛。 在頂端功能表列中選取 [已部署] 按鈕,然後選取 [啟動應用程式]

    Start the app

  20. 藉由使用 CDC (異動資料擷取) 讀取器,Striim 只會在資料庫上挑選新的變更。 如果您的資料流程經來源資料表,您將會看到該資料。 不過,由於這是示範資料表,因此來源不會連線到任何應用程式。 如果您使用範例資料產生器,您可以將一連串的事件插入 Oracle 資料庫。

  21. 您會看到資料流程經 Striim 平台。 Striim 也會挑選與您的資料表相關聯的所有中繼資料,這有助於監視資料並確保資料落在正確的目標上。

    Configure CDC pipeline

  22. 最後,讓我們登入 Azure 並瀏覽至您的 Azure Cosmos DB 帳戶。 重新整理資料總管,您就會看到資料已經順利抵達。

    Validate migrated data in Azure

藉由在 Azure 中使用 Striim 解決方案,您可以持續將不同來源 (例如 Oracle、Cassandra、MongoDB 和其他各種來源) 中的資料移轉至 Azure Cosmos DB。 若要深入了解,請造訪 Striim 網站,並下載 Striim 的免費 30 天試用版。如果設定 Striim 的移轉路徑時的任何問題,請提出支援要求。

下一步