AWS 上的 MySQL HeatWave 開始使用

如果您正在 AWS 上開發資料庫應用程式,而且需要即時分析和極快速的查詢,這就是 MySQL HeatWave on AWS 的建置目標。HeatWave 運用記憶體內加速功能提供即時分析 (OLAP) 功能,而不會影響交易工作負載 (OLTP) 的效能,而是改為建立複雜的 ETL 管線來將資料移到個別的分析資料庫。MySQL HeatWave 是一項完全託管的服務,可讓開發人員使用全球最受歡迎的開源資料庫快速建立及部署安全的雲端原生應用程式。MySQL HeatWave 是由 Oracle 的 MySQL 開發團隊開發並支援。

MySQL HeatWave 的最佳功能之一是能夠直接對現有的交易資料執行分析,這表示您只需要管理一個資料庫而不是兩個資料庫,並且可以獲得即時、安全的分析,而無需 ETL 複製的複雜性、延遲和成本。

若要開始使用,請從 AWS 開始免費試用。快速註冊將提供 $300 美元的免費點數,瞭解 AWS 上的 MySQL HeatWave 如何運作。

  1. 提供國家 / 地區、名字和姓氏,以及用於驗證的電子郵件地址。
    帳戶註冊螢幕擷取畫面 1
  2. 按一下「驗證我的電子郵件」
  3. 按一下電子郵件驗證訊息中的連結之後,系統會提示您提供強式密碼、雲端帳戶名稱和原建立區域。選取美國東部 (阿什本) 作為原建立區域。注意:如果您未選擇 IAD / Ashburn 作為原建立區域,則必須要求提高區域限制。增加之後,您就可以訂閱阿什本區域 (AWS 上的 HeatWave 需要此區域)。
    帳戶註冊螢幕擷取畫面 2
  4. 輸入地址與帳單明細以完成登記處理。
  5. 接受合約並按一下「開始我的免費試用」
    帳戶註冊完成的螢幕擷取畫面
  6. 只要幾分鐘,就會建立您的帳戶,讓您登入!
  7. 在主儀表板上,您應該會看到標幟,以便開始使用 AWS 上的 MySQL HeatWave。按一下「前往服務」。
    開始在 AWS 標幟上使用 MySQL HeatWave 的螢幕擷取畫面
  8. 您可以在下一頁選擇「要求升級」,將您的帳戶轉換成付費帳戶。別擔心!您不會被收取任何費用 ... 請記住,您有 300 美元的免費點數可以玩。
    設定 AWS 上 MySQL HeatWave 的螢幕擷取畫面 - 要求升級
    注意 - 完成升級處理作業之前,所有後端處理都需要幾分鐘的時間。如果您收到一則表示相同的訊息,請隨意離開。給你的眼睛一些休息。
  9. 一旦您能完成升級處理程序,就可繼續下一個步驟。
  10. 由於您已選取阿什本作為原建立區域,因此應該可以跳至步驟 3,這將引導您要求 HeatWave 提供 AWS 服務限制。
  11. 達到服務限制後,您可以在 AWS 上啟用 HeatWave。
  12. 您現在已準備好在 AWS 上設定 MySQL HeatWave 叢集!

請注意,AWS 上的 MySQL HeatWave 已與 OCI 的身分識別與存取管理系統整合。在 AWS 上註冊 HeatWave 時,系統會將您導向至 OCI 登入頁面,您必須在此使用 OCI 雲端帳戶 (先前所建立) 登入。為了讓事情變得簡單,您可以在 OCI 中管理及監控計費。

先決條件

  • 您的 Oracle Cloud 帳戶名稱、管理員使用者名稱及密碼
  • 相容的瀏覽器 (Chrome 69+、Safari 12.1+、Firefox 62+ 或任何 Oracle Jet 核准的瀏覽器)

概觀

若要開始在 AWS 上使用 MySQL HeatWave,您不需要 AWS 體驗或 AWS 帳戶。不過,如果您確實有這些功能,將 AWS 應用程式與 MySQL HeatWave 整合無需任何限制。讓我們來吧!

  1. 登入 AWS 主控台上的 MySQL HeatWave
  2. 建立含有 HeatWave 叢集的 MySQL 資料庫系統
  3. 載入一些範例資料
  4. 連線至資料庫並執行一些查詢
  5. 將表格載入 HeatWave 並查詢其他項目

步驟

  1. 登入 AWS 上的 MySQL HeatWave
    如果您剛完成註冊程序並登入,可以一步步完成。否則,您會想要瀏覽至 AWS 上的 MySQL HeatWave 登陸頁面。請在此處輸入您的雲端帳戶名稱 (瀏覽器可能已經快取) 並按一下「繼續」。
    下一頁會提示您輸入您在註冊過程中建立的使用者 ID 和密碼。正確輸入所有內容之後,您就可以在 MySQL HeatWave 儀表板上找到自己。
  2. 使用 HeatWave 叢集建立 MySQL 資料庫系統
    開始使用!讓我們開始佈建。
    按一下儀表板上的「建立 MySQL 資料庫系統」以啟動「建立 MySQL 資料庫系統」和「HeatWave 叢集」對話方塊。此第一個部分著重於設定基礎的 MySQL 執行處理和 HeatWave 叢集本身。
    建立 MySQL 資料庫系統和 HeatWave 叢集的螢幕擷取畫面 - 不完整
    建立 MySQL 資料庫系統和 HeatWave 叢集的螢幕擷取畫面 - 不完整
    填寫所需資料:
    1. 顯示名稱
    2. 說明
    3. 管理員證明資料 (請勿遺失這些證明資料)
    4. 選取「硬體」組態。請注意,資源配置決定 vCPU 核心數目和 RAM 大小。(例如 MySQL.4.32GB 為 4 個 vCPU 和 32GB 的 RAM)
    5. 如果需要,可以稍後再增加 GiB...this 中的起始資料儲存大小。
    6. 選取最新的資料庫版本 (目前只支援最新的 MySQL 版本 8.0.31)
    7. 選擇維護時段 (「自動」或「手動」)
    8. 選擇可用性區域 (AZ)。注意:如果您選擇手動,系統會提示您選取實體 AWS 可用性區域。如果您在 AWS 上部署了現有的應用程式,則必須將 AWS 主控台中顯示的邏輯 AZ 與此處選取的實體 AZ 進行調解。
    9. 提供網路詳細資訊。MySQL 執行處理將可透過公用端點存取。依照預設,不允許輸入連線。針對「允許的從屬端位址」,您必須輸入一個特定的公用 IP 位址,後面接著 /32。亦即,如果從屬端電腦的公用 IP 是 1.2.3.4,請輸入 1.2.3.4/32。您可以輸入多個以分號分隔的值。在此範例中,我們也會使用預設連接埠 3306 和 33060。
    10. 按一下下一個
      建立 MySQL 資料庫系統和 HeatWave 叢集的螢幕擷取畫面 - 已完成
    11. 提供您 HeatWave 叢集的「顯示名稱」和「描述」。
    12. 選取資源配置 - 這會決定每個叢集節點有多少可用的記憶體。
    13. 選取叢集大小,從 1 到 128。在本練習中,建議您選取 HeatWave.16GB 資源配置和 1 的叢集大小。
    14. 按一下「建立」(Create),然後坐在背面,放鬆一下魔術的狀況。
  3. 載入範例資料
    現在所有項目都已啟動並在執行中,讓我們載入一些資料並將其放到測試中。
    1. 開啟新的瀏覽器頁籤,然後登入 OCI 主控台以存取 Cloud Shell。如果提示輸入證明資料,您將使用登入 HeatWave 時輸入的相同雲端帳戶、使用者名稱和密碼。
    2. 開啟 OCI Cloud Shell
      OCI Cloud Shell 的螢幕擷取畫面
    3. 擷取範例資料庫:airport-db
      wget https://downloads.mysql.com/docs/airport-db.tar.gz
      
      tar xvzf airport-db.tar.gz
    4. 尋找與您 Cloud Shell 環境關聯的公用 IP 位址。這將會新增至「允許的 MySQL」從屬端位址。
      dig +short myip.opendns.com @resolver1.opendns.com
    5. 返回 MySQL 儀表板並編輯 MySQL 資料庫執行處理。將 /32 的公用 IP 位址新增至「允許的」從屬端位址,然後按一下「儲存」。
    6. 使用 Cloud Shell 返回瀏覽器頁籤,然後啟動 MySQL Shell 階段作業。建立資料庫系統時,您將需要提供管理員使用者名稱和密碼。您也需要先複製「主機名稱」。
      mysqlsh username@hostname
      按下 Enter 後,系統會提示您輸入密碼。
    7. 使用 loadDump 來匯入先前解壓縮的資料庫。
      util.loadDump("airport-db", {threads: 16, deferTableIndexes: "all", ignoreVersion: true})
      此步驟可能需要幾分鐘的時間。現在是抓住快速零食或查看天氣預報的絕佳機會。
    8. 匯入完成後,您就可以繼續進行。幹得好!
  4. 執行幾個簡單的查詢 ... 僅供好評
    我們將稍後再比較效能與 HeatWave。MySQL shell 是功能強大的工具,但介面並非所有人都能使用的。在我們繼續之前,讓我們再執行一些查詢,只是為了有趣;一個很大的機會可以彈性那些指令行肌肉。
    1. 為什麼我們不會嘗試在查詢中再選取幾個資料列:
      select * from airplane limit 10000;
    2. 好看嗎?只需一個 more...for 好玩!
      mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
      記下執行時間。
    3. 輸入 '\d' 並按 ENTER 鍵以結束 MySQL Shell。
    4. 將表格載入 HeatWave 並查詢其他項目 您正在執行 great...and,現在是時候來啟動熱量了!在最後一節中,您將瞭解 MySQL HeatWave 的強大功能。
      1. 使用 MySQL HeatWave 儀表板返回瀏覽器頁籤。瀏覽至工作區窗格。
      2. 選取您的資料庫系統,然後輸入您先前建立的管理員使用者名稱和密碼 (儲存的密碼,正確嗎?)。按一下 「連接」,然後給出幾秒鐘來打開門。
      3. 現在您已連線,現在是時候執行與之前相同的查詢了。這仍會對 InnoDB 執行,但這是刻意的。
        mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
        請注意,complete...and 準備就緒所需的時間!
    5. 移至 HeatWave 頁籤中的「管理資料」,選取 airportdb,這將會選取資料庫中的所有表格。按一下「載入至 HeatWave」按鈕。
      Heatwave 頁籤中管理資料的螢幕擷取畫面
      這會開啟一個概述工作並提供預估完成時間的視窗。在快速切換之後,按一下「載入表格」。
      MySQL Autopilot Parallel Load 表格的螢幕擷取畫面至 HeatWave
      將新表格載入 HeatWave 之後,就會自動追蹤並載入所有資料。或者,至少在您取消載入該表格之前。
      旁邊附註:如果您一邊不需要 HeatWave 的強大功能,則可以隨時停止此功能,以降低成本。停止時,系統會繼續追蹤所有載入之表格的資料 DIFFS。備份 HeatWave 時,會自動更新載入的表格。
  5. 再次執行上一個查詢,並記下效能差異。
  6. 歡迎嘗試使用較大的資料集和 (或) 更複雜的查詢。每當您要測試 InnoDB 與 HeatWave 之間的效能基準時,您只需要卸載,然後重新載入表格。
  7. 這使我們成為終點。您可以終止、停止或執行 created...and 不忘記在背面自行修復的資源。好樣的!

摘要

到目前為止,我們在 AWS 上建立了 MySQL 資料庫執行處理和 HeatWave 叢集,載入了一些資料,並在系統周圍呼叫。您透過在 HeatWave...all 中執行查詢,而不需要在系統之間執行任何資料,即可大幅改善效能。我們非常鼓勵您繼續探索效能和功能。我們只有刮痕表面!

想要深入瞭解嗎?加入我們 public Slack 頻道的討論!