云上大數據架構是什么?
構建大數據解決方案時應使用哪個云提供商?
下圖展示了 AWS、Google Cloud 和 Microsoft Azure 的詳細比較。
解決方案的共同部分:
圖片
構建大數據解決方案時應使用哪個云提供商?
下圖展示了 AWS、Google Cloud 和 Microsoft Azure 的詳細比較。
圖片
01 結構化或非結構化數據的數據攝取
數據攝取是指從各種來源(結構化和非結構化數據)將數據導入系統的過程。數據可以來自數據庫、日志文件、傳感器數據、社交媒體等。
攝取方式有兩種:
- 批量攝取 (Batch Ingestion):數據以固定時間間隔批量導入系統,適用于非實時性要求高的場景。
- 流式攝取 (Stream Ingestion):數據實時進入系統,適用于需要實時處理的場景,如物聯網數據、用戶行為分析等。
02 原始數據存儲
原始數據存儲是將攝取到的未經處理的數據存儲到大容量的存儲系統中,以便后續處理。存儲可以是臨時存儲,也可以是長期歸檔存儲。
結構化數據存儲在傳統數據庫中,如關系型數據庫。
非結構化數據存儲在分布式文件系統中,如 HDFS(Hadoop Distributed File System)或云存儲(如 AWS S3、Azure Blob Storage、Google Cloud Storage)。
03 數據處理,包括過濾、轉換、規范化等
數據處理是對原始數據進行清洗、過濾、轉換、規范化等操作的過程,以便為后續的分析和存儲做準備。
04 數據倉庫,包括鍵值存儲、關系數據庫、OLAP 數據庫等
數據倉庫是為分析目的準備的存儲系統,能夠存儲處理后的數據,支持復雜的查詢和數據分析。數據倉庫可以是關系型、鍵值存儲或 OLAP 數據庫。
鍵值存儲適合高性能的鍵值查詢,如 AWS DynamoDB、Azure Cosmos DB。
關系數據庫用于存儲結構化數據,支持 SQL 查詢,如 Amazon RDS、Google Cloud SQL。
OLAP(在線分析處理)數據庫適用于快速的多維數據分析和報表生成,如 Google BigQuery、Amazon Redshift、Azure Synapse Analytics。
05 演示層,包括儀表板和實時通知
演示層是最終用戶與數據交互的界面,通常以圖形化方式呈現數據分析結果。它包括儀表板、報表、實時通知等。
有趣的是,不同的云供應商對同一類產品有不同的名稱。
例如,第一步和最后一步都使用了無服務器產品。該產品在 AWS 中稱為 “lambda”,在 Azure 和 Google Cloud 中稱為 “function”。