实验概览
AnyCompany 正在开发一个新的电影数据库应用。该应用程序将允许用户按影片名、发行年份、出演电影的演员、评分等搜索电影。AnyCompany 选择 Amazon DynamoDB 作为数据库服务,来存储应用程序要引用的所有电影的信息。
Amazon DynamoDB 是一种无服务器 NoSQL,也称为非关系型数据库,支持键值和文档数据模型。借助 DynamoDB,您可以从小规模开始,并随着应用程序和用户群的增长在全球范围内快速扩展,同时能够支持 PB 级数据和每秒数千万次的读写请求。AWS 负责管理 DynamoDB 服务,因此您不需要更新或维护服务器。有关更多信息,请参阅其他资源部分中的 _Amazon DynamoDB 功能_和 Amazon DynamoDB 的核心组件。
作为一名新聘用的初级数据库工程师,您的任务是创建适当的本地二级索引 (LSI) 和/或全局二级索引 (GSI),以改进应用程序的搜索功能。 在本实验中,您将使用一个名为 movies 的示例数据库。 请记住,DynamoDB 表非常灵活,不像关系数据库那样有传统的“模式”。 movies 表有一个分区(哈希)键“year”(数字),和一个排序(范围)键“title”(字符串)。 本实验数据库中的全部属性分别匹配以下特征:
- year – 数字(分区键或哈希键)
- title – 字符串(排序键或范围键)
- actors – 字符串
- directors – 字符串
- genre – 字符串
- image_url – 字符串
- plot – 字符串
- rank – 数字
- rating – 数字
- release date – 字符串
- running_time_secs – 数字
请注意,在实际情况中,actors 和 directors 属性数据已经过格式化,以便读作 python dict 类型,因此代表了不止一名实际演员。 例如,给定项目的 actors 属性是一个字符串,例如 [{“S”: “John Doe”}, {“S”: “Jane Doe”}]。
目标
完成本实验后,您应能够:
- 使用软件开发工具包创建本地二级索引 (LSI) 和全局二级索引 (GSI)。
- 使用软件开发工具包扫描数据并返回筛选后的结果。
- 使用软件开发工具包执行高级查询以获取数据,同时对比不同方法之间的性能差异。
技术性知识先决条件
要成功完成本实验,您应熟悉 AWS 管理控制台的基本导航操作、NoSQL 数据库概念、Python 编程语言以及如何使用文本编辑器编辑脚本。
图标键
本实验中使用了各种不同的图标,以提醒您注意指南的特定方面。下面的列表解释了每个图标的用途:
- 提醒:提示特别相关或重要的信息(不查看该信息并不会损坏设备或数据,但可能导致需要重复某些步骤)。
- 命令:您必须运行的命令。
- 预期输出:您可以用来验证命令或已编辑文件输出的示例输出。
- 注意:一项提示、技巧或重要指导。
- 了解详情:可以找到更多信息的位置。
- 知识考核:可以检查您的知识掌握情况和测试您学到的知识。
- 任务完成:本实验的总结或结论要点。
- 警告:提醒这是一项不可逆转且可能造成命令或进程失败的操作(包括提醒配置在完成后将无法更改)。