实验概览
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 编程语言,并且能够熟练使用文本编辑器编辑脚本。
图标键
本实验中使用了各种图标,以提醒注意指南的某些方面。下面的列表解释了每个项目的用途:
- 键盘图标表示您必须运行一个命令。
- 剪贴板图标表示您可以通过将命令或编辑过的文件与提供的示例进行比较来验证它的输出。
- 注意图标说明了重要的提示、技巧、指导或建议。
- “i”圆圈图标说明了在哪里查找更多信息。
- 带复选标记的人形图标表示有机会检查您的知识掌握程度并测试您学到的知识。