数据存储阶段 - AWS 规范性指导

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

数据存储阶段

由于 PDF 文件内容通常包括表单(键值对)、表格和自由文本,因此 JSON 文件必须包含嵌套的键值对,以表示 PDF 文件结构和存储提取的数据。PDF 文件是非结构化或半结构化数据,这意味着它们没有固定的架构。这意味着在传统 SQL 数据库中存储 PDF 文件内容可能很困难。但是,NoSQL 数据库非常适合存储 PDF 文件内容,因为它不需要预定义的架构。提取 PDF 文件内容并进行后期处理后,您可以将它们作为每个 PDF 文件的一条记录存储在 Amazon DynamoDB 表中。

我们建议您将最终提取的数据作为 JSON 文件存储在 Amazon Simple Storage Service (Amazon S3) 中,然后将它们作为记录存储在 DynamoDB 表中。您的下游处理和分析应用程序可以轻松引用 Amazon S3 中的 JSON 文件。例如,他们可以使用 Amazon S3 作为数据源在亚马逊 SageMaker中构建 ML 模型,直接使用 Amazon Athena 查询 JSON 文件,或者使用 Amazon S3 作为亚马逊的数据源 QuickSight。存储在 DynamoDB 表中的提取的 PDF 文件内容可以轻松访问任何规模的低延迟,这使得这种方法适合用作查询和扫描的后端数据库。

数据存储阶段的最佳实践

使用以下两种最佳做法来确保数据存储阶段取得成功:

  • 确保将 Amazon S3 上的最终 JSON 文件存储在不同的输出文件夹中,并使用基于 PDF 文件类型的名称。

  • DynamoDB 使用主键来唯一标识表中的每个项目。主键可以是单个键(例如,分区键)或复合键(例如,分区键和排序键)。对于此解决方案的主键,我们建议您使用唯一的 PDF 文件标识符(例如,PDF 文件名)作为分区键,或者使用两个标识符(例如日期和仓库名称)的组合作为分区键和排序键。有关这方面的更多信息,请参阅Amazon DynamoDB 文档中的 Amazon DynamoDB 的核心组件