Posted on

Modern data architecture on AWS

為什麼會需要現代資料架構

數據量正以前所未有的速度增長,從 TB 級激增到 PB 級,有時甚至達到 EB 級。傳統的本地數據分析方法無法處理這些數據量,因為它們的擴展性不夠好並且成本太高。許多公司正在從各個孤島獲取所有數據,並將所有數據聚合到一個位置(許多人稱之為數據湖),以便直接在這些數據之上進行分析和機器學習。有時,這些公司將其他數據存儲在專門構建的數據存儲中,以分析結構化和非結構化數據并快速獲得見解。這種數據移動可以是“由內而外”、“由外而內”、“圍繞周邊”或“跨區域共享”,因為數據具有重力。

什麼是數據湖?

數據湖是一個集中式存儲庫,允許您存儲任意規模的所有結構化和非結構化數據。您可以按原樣存儲數據,而無需首先構建數據,並運行不同類型的分析 – 從儀表板和可視化到大數據處理、實時分析和機器學習,以指導更好的決策。

含括各種不同類型的存儲

在數據湖架構中,資料庫通常用於存儲結構化數據或半結構化數據,這些數據可能來自企業應用系統、交易數據、用戶資訊等。資料庫提供了結構化的數據儲存和查詢功能,並且支援事務處理,這使得它適合存儲需要高度結構化的數據。

除了資料庫,數據湖還可以包括其他類型的存儲,如:

  1. 物件存儲:用於存儲非結構化或半結構化的數據,如影片、音頻、圖像、日誌文件等。物件存儲通常以對象的形式存儲數據,每個對象都有一個唯一的鍵(Key)標識。
  2. 分佈式文件系統:用於存儲大型文件和文件集,如文檔、報告、配置文件等。分佈式文件系統可以提供高可用性和可擴展性的存儲。
  3. 流式數據存儲:用於存儲即時生成的數據流,如傳感器數據、日誌數據等。流式數據存儲通常支援高吞吐量和低延遲的數據寫入和讀取。
  4. 其他存儲服務:根據需求,數據湖還可以包括其他存儲服務,如物聯網(IoT)數據庫、時序數據庫等。

總的來說,數據湖是一個集中式的、可擴展的數據存儲和管理架構,它可以包括多種不同類型的存儲,以容納不同格式和來源的數據。資料庫是數據湖中的一種重要存儲形式,但不是唯一的選擇,而根據應用需求,可以根據需要選擇不同的存儲技術和服務。

AWS 數據湖的基本支柱

數據湖基礎:Amazon S3、AWS Lake Formation、Amazon Athena、Amazon EMR 和 AWS Glue

數據湖通常用於存儲非結構化和半結構化數據,例如影片、音頻、圖像、日誌文件等。而關聯型數據庫(包括Amazon RDS和Amazon Aurora)通常用於存儲結構化數據,這些數據具有固定的模式和結構。

由於數據湖和關聯型數據庫的用途和數據類型有所不同,所以在數據湖架構圖中通常不會將關聯型數據庫包含在內。在數據湖架構中,關聯型數據庫通常用於存儲和管理已經轉換成結構化數據的部分,例如從數據湖中提取的特定數據子集,這些數據可以被用於更嚴格的查詢和分析需求。