下图展示了 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”。