實驗室概觀
AnyCompany 正在開發一個新的電影資料庫應用程式。該應用程式可讓使用者依照標題、發行年份、電影中的演員、評分等項目搜尋電影。AnyCompany 選擇 Amazon DynamoDB 作為資料庫服務,以儲存應用程式將要參考的所有電影相關資訊。
Amazon DynamoDB 是一種無伺服器的 NoSQL,也稱為支援索引鍵值和文件資料模型的非關聯式資料庫。使用 DynamoDB,您可以從小處著手,並隨著應用程式和使用者群的成長而快速地全球擴展,而且能夠支援大量資料,以及每秒數千萬個讀取和寫入請求。AWS 會管理 DynamoDB 服務,因此不需要更新或維護伺服器。如需詳細資訊,請參閱其他資源一節中的 Amazon DynamoDB 功能和 Amazon DynamoDB 的核心元件。
身為新進的初級資料庫工程師,您需負責建立適當的本機次要索引 (LSI) 和/或全域次要索引 (GSI),以改善應用程式的搜尋功能。在此實驗室中,您將使用名為 movies 的範例資料庫。請記住,DynamoDB 資料表非常具有彈性,而且沒有關聯式資料庫之類的傳統「結構描述」。此 movies 資料表的分區 (HASH) 索引鍵為 “year” (數字),而排序 (RANGE) 索引鍵為 “title” (字串)。填入此實驗室資料庫的完整屬性清單符合下列特性:
- year – 數字 (分區或 HASH 索引鍵)
- title – 字串 (排序或 RANGE 索引鍵)
- actors – 字串
- directors – 字串
- genre – 字串
- image_url – 字串
- plot – 字串
- rank – 數字
- rating – 數字
- release date – 字串
- running_time_secs – 數字
請注意,actors 和 directors 屬性的資料實際上已格式化,以便可讀取為 python dict 類型,因此代表多個實際表演者。例如,指定項目的 actors 屬性是字串,例如 [{“S”:“John Doe”}, {“S”:“Jane Doe”}].
涵蓋的主題
本實驗室結束後,您將能夠:
- 使用 SDK 建立本機次要索引 (LSI) 和全域次要索引 (GSI)
- 使用 SDK 來掃描資料和傳回篩選的結果
- 使用 SDK 來執行進階查詢以擷取資料,請注意方法之間的效能差異
技術知識先決條件
若要成功完成此實驗室,您應該熟悉 AWS 管理主控台的基本操作、NoSQL 資料庫概念、Python 程式設計語言,以及使用文字編輯器輕鬆編輯指令碼。
圖示圖例
此實驗室使用各種不同的圖示提醒您注意指南的特定層面。以下清單說明各圖示的用途:
- 鍵盤圖示指定您必須執行命令。
- 剪貼簿圖示指示您可透過將指令或已編輯的檔案與所提供的範例進行比較,以驗證該指令或已編輯檔案的輸出。
- 備註圖示指定重要的提示、秘訣、指導或建議。
- “i” 圓形圖示指定在哪裡尋找更多資訊。
- 帶有核取記號圖示的人員表示有機會檢測您的知識並測試您所學到的內容。