green-macaw-in-amazon

在我們討論黃銅釘之前,快速列出我們希望理想數據湖提供的具體優勢會很有幫助。這些是:

  • 能夠從企業眾多數據源和孤島中的任意位置收集任何形式的數據。從收入數字到社交媒體流,以及介于兩者之間的任何內容。
  • 減少分析或處理不同應用程序出于不同目的的相同數據集所需的工作量。
  • 保持整個操作的成本效益,能夠根據需要擴展存儲和計算容量,并且彼此獨立。

考慮到這些要求,讓我們看看如何使用 AWS 設置數據湖

您可能還喜歡:使用 AWS 的工具、提示和技巧。

數據湖架構

典型的數據湖架構旨在:

  • 從各種來源獲取數據。
  • 通過某種處理層移動它們。
  • 使其可供企業內的不同角色使用。

因此,在這里,我們有一些關鍵的體系結構部分要考慮:

著陸區:這是所有原始數據來自企業內所有不同來源的區域。該區域嚴格用于數據引入,在此階段不應進行建?;蛱崛?。

固化區:您可以在此處播放數據。整個提取-轉換-加載 (ETL) 過程在此階段進行,對數據進行爬網以了解它是什么以及它有何用處。元數據的創建,或應用不同的建模技術來尋找潛在的用途,都在這里完成。

生產區域:這是您的數據可以被使用到不同的應用程序,或由不同的角色訪問的地方。

帶 AWS 的數據湖架構

有了我們的基本區域,讓我們來看看如何使用正確的 AWS 解決方案創建完整的數據湖架構。在本文的其余部分中,我們將嘗試引入適用于任何場景的 AWS 產品,但重點關注我們認為能帶來最佳結果的幾個關鍵產品。

著陸區 = 數據引入和存儲

對于此區域,我們首先看一下數據引入的可用方法:

  • 亞馬遜直接連接:在您的場所或數據中心與 AWS 云之間建立專用連接,以確保數據引入安全。Amazon 直接連接具有行業標準 802.1q VLAN,可提供更一致的網絡連接,用于將數據從內部系統傳輸到數據湖。
  • S3 加速器另一種快速的方法使數據引入到 S3 存儲桶中是使用 Amazon S3 傳輸加速。這樣,您的數據就會傳輸到任何全球分布的邊緣位置,然后通過優化的安全路徑路由到 S3 存儲桶。
  • AWS 雪球使用 AWS Snowball,您可以安全地將大量數據傳輸到 AWS 云上

它是傳輸大量數據資產(如基因組學、分析、圖像或視頻存儲庫)的絕佳選擇。

  • 亞馬遜基尼斯:Amazon Kinesis 能夠處理大量流數據,可以攝錄、處理和分析實時數據流。整個基礎設施由 AWS 進行管理,使其高效且經濟高效。你有:
    • 激酶數據流:將實時數據流從不同源引入 AWS,并創建默認情況下位于多個可用性區域上的任意二進制數據流。
    • 基內斯火索:您可以使用 Kinesis Firehose 捕獲、轉換數據并快速將數據加載到 Amazon S3、RedShift 或彈性搜索中。AWS 托管系統可自動擴展以匹配您的數據吞吐量,并可以批處理、處理和加密數據,從而將存儲成本降至最低。
    • Kinesis 數據分析:Kinesis 數據分析是分析流數據的最簡單方法之一,它選擇任何流源,對其進行分析,并將其推送到其他數據流或 Firehose。

    存儲 + 亞馬遜 S3

    Amazon S3 是使用最廣泛的云存儲解決方案之一,非常適合在著陸區存儲數據。S3 是一個區域級別、多可用性區域存儲選項。它是一種高度可擴展的對象存儲解決方案,可提供 99.999999999% 的耐用性。

    但撇開容量不談,Amazon S3 適用于數據湖,因為它允許您設置數據通過不同存儲類移動的生命周期。

    • Amazon S3 標準存儲正在跨不同企業應用程序立即使用的熱數據。
    • Amazon S3 不頻繁訪問,以保存在整個企業中訪問較少的暖數據,但在需要時需要快速訪問這些數據。
    • 與內部存儲相比,Amazon S3 Glacier以極低的成本存檔冷數據。

    固化區 ? 目錄和搜索

    由于數據湖中的信息采用原始格式,因此可以由不同的應用程序查詢和用于多個不同的目的。但是,為了實現這一點,反映技術和業務意義的可用元數據也必須與數據一起存儲。這意味著您需要有一個提取元數據并正確編目元數據的過程。

    元包含有關數據格式、安全分類敏感、機密等信息、其他標簽來源、部門、所有權等信息。這使得不同的應用程序,甚至運行統計模型的數據科學家,能夠知道數據湖中存儲的內容。

    Data Lake Architecture - polulating metadata 來自”在 AWS 上構建數據湖”的屏幕抓圖,亞馬遜網絡服務,Youtube

    典型的編目過程涉及為提取元數據而編寫的 lambda 函數,每次對象進入 Amazon S3 時都會觸發元數據。此元數據存儲在 SQL 數據庫中,并上傳到 AWS 彈性搜索,以便可供搜索。

    AWS Glue是一個 Amazon 解決方案,可以管理此數據編目過程并自動執行提取-轉換-加載 (ETL) 管道。這些解決方案在 Apache Spark 上運行,并維護與 Hive 兼容的元數據存儲。工作原理是:

    • 定義爬網程序以掃描進入 S3 的數據并填充元數據目錄。您可以按設定的頻率安排此掃描,也可以在每個事件觸發。
    • 定義 ETL 管道和 AWS Glue,并在 Python 中生成 ETL 代碼。
    • 設置 ETL 作業后,AWS Glue 將管理其在 Spark 群集基礎結構上運行,并且僅在作業運行時向您收費。

    AWS Glue 目錄在數據處理引擎之外,使元數據保持分離。因此,不同的處理引擎可以同時查詢其不同用例的元數據??梢允褂?API 網關向 API 層公開元數據,并通過該網關路由所有目錄查詢。

    固化區 + 加工

    編目完成后,我們可以查看數據處理解決方案,這些解決方案可能根據不同的利益相關者對數據的不同要求而有所不同。

    亞馬遜彈性地圖縮減 (EMR)

    亞馬遜的 EMR 是一個托管的 Hadoop 群集,可以以低成本處理大量數據。

    典型的數據處理涉及在 EC2 上設置 Hadoop 群集、設置數據和處理層、設置 VM 基礎結構等。但是,EMR 可以輕松處理整個過程。配置完成后,您可以在幾分鐘內啟動新的 Hadoop 群集。您可以將它們指向任何 S3 以開始處理,并且一旦作業完成,群集就會消失。

    Data Lake Architecture - Amazon EMR Benefits-1

    數據湖架構 – 亞馬遜 EMR 優勢

    源:使用 EMR 而不是 EC2 上的 Hadoop 進行處理的主要好處是節約了成本。對于后者,您的數據位于 Hadoop 處理群集中,這意味著即使完成處理任務,群集也需要啟動。所以,你仍在為此付出代價。

    但是,使用 EMR 時,您的數據和處理層是分離的,允許您相互獨立地縮放它們。因此,當數據駐留在 S3 中時,可以根據需要設置和停止 EMR 上的 Hadoop 群集,從而使處理成本完全靈活。通過輕松地將其與 Amazon 現貨實例集成以降低定價,成本也降低了。

    亞馬遜彈性搜索

    這是另一個可擴展的托管搜索節點群集,可輕松與其他 AWS 服務集成。它最適合日志分析用例。

    亞馬遜紅移

    如果您有很多 BI 儀表板和應用程序,Amazon RedShift 是一個偉大的處理解決方案。它價格低廉,完全管理,并確保安全性和合規性。使用 RedShift,您可以啟動計算節點群集以同時處理查詢。

    這個處理階段也是企業可以設置他們的沙盒的地方。他們可以打開數據湖的數據科學家運行初步實驗。由于數據收集和采集現在已處于可謹慎,因此數據科學家可以專注于尋找創新方法,將原始數據用于使用。

    他們可以帶來開源或商業分析工具,以創建所需的測試臺,并致力于創建符合不同業務用例的新分析模型。

    生產區域 = 服務處理數據

    通過處理,數據湖現在可以將數據推送到所有必要的應用程序和利益相關者。因此,您可以將數據分到舊版應用程序、數據倉庫、BI 應用程序和儀表板。分析師、數據科學家、業務用戶和其他自動化和參與平臺可以訪問此功能。

    因此,您可以擁有完整的數據湖架構,以及如何使用同類最佳的 AWS 解決方案進行設置。

    進一步閱讀

    Comments are closed.