什么是数据库分析
数据是企业决策的基础,因此需要对其进行精心管理、处理与分析。即便由最资深的数据分析师操作,不当的数据处理仍可能导致错误的假设与有偏差的决策。
成熟的数据分析流程能帮助企业精准识别趋势,开展描述性分析、规范性分析与统计分析,也能引入机器学习与人工智能能力。
选择数据库分析系统时,需依据企业现有的数据、当前的数据库格式以及所需的其他分析类型。企业中数据的存储格式多样,包括关系数据库、非关系数据库和其他文件格式。关系与非关系数据库虽具备对基础分析的内置支持,但仅依靠这些支持,不足以从跨业务功能、跨数据来源的场景中挖掘更深度的洞察。
数据分析师需要借助数据仓库、数据湖与湖仓,实现来自不同来源数据的整合,从而为跨格式、跨功能的数据挖掘与分析做好准备。
本指南的后续内容将探讨数据库分析领域内的这些不同技术。
分析中使用的主要数据系统类型有哪些?
以下是可用于分析的各类数据系统的简要概述
关系数据库
关系数据库是结构化数据的集合,这些数据被组织成包含行和列的表格。每个表格存储一组相关数据,用于表示现实世界中的实体或概念。
表格中的每一行代表一条单独的记录,例如包括姓名、电话号码和地址在内的客户详细信息。每个表格可与一个或多个其他表格建立关联,例如“客户表”可与“采购表”关联,从而使每笔订单都能对应到特定客户。
如上所述,所有关系数据库管理系统都具有固定模式,并支持使用结构化查询语言(SQL)对表格内部及表格之间的数据进行查询。
AWS 上的关系数据库服务的示例包括 Amazon Relational Database Service,以及 Amazon Aurora(一款高性能、可全球扩展的关系数据库解决方案,支持 PostgreSQL、MySQL 和 DSQL 数据库引擎)。
非关系数据库
非关系数据库具有灵活的模式,也被称为 NoSQL 数据库,因其不支持通过 SQL 进行查询。非关系数据库的主要类型包括:键值数据库、文档数据库、宽列数据库、图形数据库、内存数据库以及搜索数据库。
每种类型的 NoSQL 数据库都适用于特定使用案例。举例而言,文档数据库适合用于内部内容管理系统(CMS),而宽列存储数据库则相当适合处理来自物联网(IoT)实例集的时间序列数据。
以下是 AWS 上的部分非关系数据库服务示例。
- Amazon DynamoDB 是一种无服务器、完全托管式 NoSQL 数据库,具有个位数毫秒的性能,适用于键值数据库和文档存储场景。
- Amazon DocumentDB(兼容 MongoDB)是一种完全托管的原生 JSON 文档数据库服务。
- Amazon Keyspaces(Apache Cassandra 兼容)是一种针对兼容 Apache Cassandra 的宽列数据库提供的可扩展、高可用托管服务。
- Amazon Neptune 是一种高性能、无服务器的图形数据库服务,可提供卓越的分析能力、可扩展性和可用性。
- Amazon ElastiCache 是一种完全托管的内存缓存服务,与 Valkey、Redis 和 Memcached 等内存数据库兼容。
- Amazon MemoryDB 是与 Valkey 和 Redis OSS 兼容的持久型内存数据库服务,可实现超快性能。
数据仓库
数据仓库是一种分析解决方案,可在大规模场景下扩展关系数据库的能力,也支持 SQL 查询。数据仓库用于存储和分析来自大量数据库的关系数据。此外,数据仓库解决方案能“提取-转换-加载”(Extract, Transform, Load,ETL)过程中对非关系数据进行转换,通过数据标准化使其满足分析需求。
Amazon Redshift 是一款托管式数据仓库解决方案,可帮助您轻松存储数据,灵活扩展数据分析工作负载。
数据湖
数据湖是一种集中式存储库,允许您存储所有大小各异的结构化和非结构化数据。数据的转换操作既可以在数据传输到数据湖之前执行,也可以在传输之后进行。数据湖本身需要额外的服务来实现 ETL 和分析功能;通常情况下,无法直接对原始数据进行分析。
Amazon S3 是一种对象数据存储服务,旨在从任意位置检索任意规模的数据,可作为数据湖使用。S3 可与 AWS Lake Formation 结合使用,实现对存储数据的访问权限管理与数据共享功能
数据湖仓
数据湖仓是数据仓库与数据湖的结合体。数据湖仓能够存储结构化和非结构化数据,设有一个格式层用于添加模式和结构,也包含一个查询引擎。在现代企业数据分析中,数据湖仓是必不可少的层级,因其具备同时对所有数据执行查询的能力。
Amazon SageMaker 智能湖仓可整合来自 Amazon S3 数据湖和 Amazon Redshift 分析数据仓库的数据。Amazon SageMaker 智能湖仓让您可以灵活地使用所有与 Apache Iceberg 兼容的工具和引擎就地访问与查询数据。
其他类型
在企业级数据分析场景中,各类数据并非都能完美适配关系或非关系数据库模型。原始文件和数据表就属于这类情况,这意味着它们会以不同格式存储。举例来说,半结构化流数据可存储为 Apache Avro 格式文件,而 Amazon S3 则可用于存储任意类型的数据。
因此,在选择数据分析系统时,您很可能需要该系统具备结合数据库与这些文件类型进行分析的能力。
如何在 AWS 上实现数据库分析?
不同的数据库、数据类型以及数据库存储与管理系统,各自采用独特的方式处理数据分析。在数据仓库、数据湖和湖仓上执行分析,需要采用不同的策略与技术。
从项目初始,就应使用 Amazon DataZone 来确保基础数据治理,因为该工具可对存储在 AWS、本地环境及第三方来源中的数据进行编目、发现、共享和治理。
Amazon Managed Workflows for Apache Airflow(MWAA)作为一款管道自动化工具,能够通过数据传输与转换来协调数据分析流程,还可触发数据仓库、数据湖或湖仓上的分析工作流。
步骤 1:将来自不同来源的数据集中到一个更大的系统中
将数据从当前来源传输到数据仓库、数据湖和湖仓的方式多种多样。数据在存储前可能需要进行转换和清洗,同时还需考虑其他因素,例如敏感客户数据类型、访问权限,以及部分数据的就地访问需求。
为配置 AWS 数据仓库、数据湖或湖仓而准备数据时,最简单的传输方式是先将数据迁移至 S3。
- AWS Database Migration Service 可将数据库工作负载迁移到 AWS 基础设施。AWS Schema Conversion Tool 可将现有数据库模式转换为 AWS 支持的模式。
- AWS Snowball 提供基于物理设备的“寄送-返还”式传输方案,适用于大量数据迁移场景。
- AWS Transfer Family 和 AWS DataSync 提供其他基于网络的数据传输方式。
对于流数据,可能需要使用新服务,例如:用于实时流数据交付的 Amazon Data Firehose,以及用于流数据摄取与聚合的 Amazon Kinesis Data Streams。
步骤 2:转换与标准化数据
要进行数据分析,部分数据必须经过转换与标准化处理。
AWS Glue 可发现并连接 100 多种不同数据来源,在集中式数据目录中管理数据,还能以可视化方式创建、运行和监控数据管道,从而将数据加载到数据湖、数据仓库和湖仓中。AWS Glue DataBrew 是一款可视化数据准备工具,能帮助数据分析师和数据科学家更便捷地清洗与标准化数据。
Amazon EMR 为 Apache Spark、Trino、Apache Flink 和 Hive 等大数据分析工具提供性能优化的运行时环境,可简化数据湖工作流程并缩短处理时间。
Amazon SageMaker Data Wrangler 是准备机器学习数据最快、最简单的工具。
第 3 步:综合数据分析
当数据完成存储、关联与转换后,数据分析师可借助数据仓库、数据湖或湖仓开展分析工作。根据具体使用案例,可采用多种数据分析技术。
查询
Amazon Redshift 为数据仓库提供内置查询能力。Amazon Athena 支持对存储在 Amazon S3 数据湖中的非结构化、半结构化和结构化数据进行分析与查询。该服务针对实时数据分析与探索进行了优化,允许用户以交互方式查询数据并实现数据可视化。Amazon SageMaker 智能湖仓同样提供内置查询功能。
商业智能
Amazon QuickSight 提供可扩展的统一商业智能(BI)数据分析能力,覆盖数据仓库、数据湖和湖仓。数据可视化是 Amazon QuickSight 的一项核心服务。
机器学习
Amazon Redshift ML 可用于在 Redshift 数据仓库上开展机器学习分析。Amazon SageMaker 支持在数据湖和湖仓上实现机器学习及其他分析功能。
在 Amazon SageMaker 智能湖仓上
在 SageMaker 智能湖仓中,您可通过任何与 Apache Iceberg 兼容的工具对单副本数据执行就地访问与查询。您可以自由选用 SQL、Apache Spark、商业智能(BI)及人工智能/机器学习(AI/ML)工具等分析工具与引擎,并可对跨 Amazon S3 数据湖和 Amazon Redshift 仓库存储的数据进行协同分析。
流数据
Amazon Kinesis 能够以安全且可扩展的方式收集、处理和分析实时视频及数据流。
AWS 如何帮助您满足数据库分析需求?
在现代企业环境中,数据库分析所需的远不止 SQL 查询。通过利用数据仓库、数据湖和湖仓,数据分析师能够释放数据价值,跨不同来源、类型和功能开展数据分析。
合适的数据库分析架构有助于确保解决方案具备可扩展性、即用性,并且能够与当前至关重要的机器学习服务及预测性分析相集成。立即创建免费账户,在 AWS 上开启数据库分析之旅。