

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 数据架构
<a name="data-arch"></a>

**设计和发展适合用途的数据和分析架构。**

[精心设计](https://docs.aws.amazon.com/wellarchitected/latest/analytics-lens/welcome.html)的数据和分析[架构](https://aws.amazon.com/architecture/analytics-big-data/)对于获得可操作的洞察至关重要。通过设计和发展适合用途的数据和分析架构，组织可以降低复杂性、成本和技术债务，同时从不断增长的数据量中获得宝贵的洞察。通过与 AWS CAF 原则保持一致，企业可以创建与其现有平台无缝集成的数据架构。此调整使组织能够利用现代数据处理和分析技术提供的优势。

数据和分析架构是组织从数据中获取价值的能力的蓝图。它可帮助组织获得新的业务洞察，也是业务增长的催化剂。为了支持业务需求，现代数据架构应与短期和长期业务目标保持一致，且应符合组织的文化和情境需求。在当今世界，成功实施和采用数据和分析架构是基于在正确的时间为正确的消费者提供正确的数据的原则。

这是通过规划和组织如何对组织的数据资产进行物理或逻辑建模、如何保护数据以及这些数据模型如何相互交互来解决业务问题、推导出未知模式并生成洞察来实现的。

## 启动
<a name="data-arch-start"></a>

### 定义总体功能
<a name="data-arch-capability"></a>

在当前业务环境中，对于现代数据分析平台而言，从数据中获取价值以支持组织内的各个领域至关重要。[现代数据架构](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/)不应采用单一数据架构方法，而应包括针对特定使用案例专门构建和优化的工具集和模式。该架构应该能够不断发展，并包括基本构建块，例如可扩展的数据湖、专用分析服务、统一的数据访问和统一治理。

### 整理数据区域
<a name="data-arch-zones"></a>

如何整理和存储数据以便快速便捷地访问是数据架构的一个关键方面。这可以通过在数据湖中设置自定义数据区域来实现。数据区域分为以下几类：
+ 从异构来源收集的原始数据
+ 经过整理和转换的数据，用于支持各领域的分析需求。
+ 满足报告需求的使用案例或基于产品的数据集市
+ 具有安全性和合规性控制的外部公开数据

### 规划数据的敏捷性和民主化
<a name="data-arch-agility"></a>

分析平台的有效性取决于数据预调配的速度以及使可供消费的预调配数据民主化。数据预调配敏捷性是通过数据架构能够根据使用案例以多种方式获取和处理数据来实现的，例如实时、近乎实时、批处理、微批处理或混合。数据民主化是通过定义由数据管家监控的数据共享和访问控制工作流程来实现的。实施数据市场是实现数据民主化的推动因素之一。

### 定义安全数据交付
<a name="data-arch-delivery"></a>

现代数据架构对外部世界来说是一个安全堡垒，但允许员工或数据用户根据其工作职能轻松访问，并遵守合规限制，例如[健康保险流通与责任法案（HIPAA）](https://aws.amazon.com/compliance/hipaa-compliance/)、个人身份信息（PII）、[通用数据保护条例（GDPR）](https://aws.amazon.com/compliance/gdpr-center/)等。这是通过基于角色的访问控制（RBAC）和基于标签的访问控制（TBAC）方法来实现的。在 AWS 上，标签用于控制对数据的访问，从而简化访问控制管理。请按照 [AWS CAF 安全视角](https://docs.aws.amazon.com/whitepapers/latest/overview-aws-cloud-adoption-framework/security-perspective.html)中概述的原则执行此操作。

### 制定成本效益计划
<a name="data-arch-cost"></a>

**

传统数据仓库将计算和存储紧密耦合，资源利用成本很高。现代架构将计算和存储解耦，并根据数据生命周期实现分层存储。例如，在 AWS 上，您可以使用 [Amazon Simple Storage Service（Amazon S3）](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)，来控制成本并将数据存储与计算解耦。[Amazon S3 存储类别](https://aws.amazon.com/s3/storage-classes/)是专门为不同的访问模式提供成本极低的存储而设计的。此外，AWS 计算工具（例如 [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)、[AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)、[Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/welcome.html) 和 [Amazon SageMaker Runtime](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)）是无服务器的，因此您无需管理基础设施，只需按使用量付费。 

## 推进
<a name="data-arch-advance"></a>

可以进一步增强现代数据架构，以增加数据使用的广度（从支持业务和运营职能的标准分析到支持预测和洞察的更复杂的功能），并有助于支持更快的决策。为实现此目的，该架构支持以下各部分描述的功能。

### 了解特征工程
<a name="data-arch-feature"></a>

[特征工程](https://docs.aws.amazon.com/wellarchitected/latest/machine-learning-lens/feature-engineering.html)使用机器学习，涉及设置特征存放区或特征集市。数据科学团队为监督和无监督学习模型创建新特征（派生属性），并将其存储在特征集市中，以简化转换并提高数据准确性。企业可以在多个分析模型中重复使用这些功能，从而加快上市速度。

### 计划对数据集进行非规范化
<a name="data-arch-denormalize"></a>

构造非规范化数据集或数据集市可以使所需的数据在单一位置随时可用，并提高分析速度，从而显著简化业务用户的数据集。如果精心设计，一条记录可以支持多种使用模式，并缩短整个开发生命周期。有效治理非规范化数据集也很重要，原因有二。实施非规范化数据可能会产生大量冗余数据集，这在规模化管理上可能会成为一个挑战。此外，如果这些数据集未正确建模，那么重新利用它们可能会变得越来越难。 

### 设计可移植性和可扩展性
<a name="data-arch-scalability"></a>

大型组织很少将所有应用程序和用户都放在单个数据平台上。其应用程序和数据存储通常分布在传统的本地和云平台上，这使得分析团队难以混合和合并数据。我们建议您根据域、地理位置、业务使用案例等特征对数据进行容器化。这种容器化提高了各种平台和应用程序之间的可移植性，并支持更有效的使用。将数据分割到容器中并通过 API 将其公开，可帮助您更轻松地扩展数据架构。它支持混合的端到端数据流，并帮助本地和基于云的应用程序无缝协作。

## Excel
<a name="data-arch-excel"></a>

随着组织内部现代分析架构的发展，通过引入可重用的概念来管理这种变化非常重要。这些概念在提高持久性和采用率的同时，还能控制成本。以下各部分将讨论一些要考虑的概念。

### 设计可配置的框架
<a name="data-arch-framework"></a>

各组织通常会创建多个复杂的模型来满足其独特的业务需求。这些模型需要创建多个数据管线和工程特征。随着时间的推移，这会造成大量冗余并增加运营成本。创建包含一组参数驱动的可配置基础模型的框架可缩短开发时间并降低运营成本。分析引擎可以实现这些可配置的模型，来提供所需的输出。

### 计划构建统一的分析引擎
<a name="data-arch-engine"></a>

业务问题是独一无二的，通常需要自定义技术来满足需求，从而导致一个组织中有多个分析引擎。设计和开发可支持多种编程范例的基于人工智能的统一分析引擎接口，可简化使用并降低成本。

### 定义 DataOps
<a name="data-arch-dataops"></a>

大多数数据专业人员花费大量时间执行数据操作，例如查找正确的数据、转换、建模等。拥有敏捷的数据操作（DataOps）可以打破数据工程师、数据科学家、数据所有者和分析师的孤岛，从而极大地增强数据架构。DataOps 可以改善团队之间的沟通，缩短周期时间，并确保高数据质量。随着时间的推移，由于业务需求的变化和技术进步，数据和分析架构经历了多次变革。组织必须努力开发、实施和维护一个能够随着时间的推移而演变并支持其业务的数据和分析架构。