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 程式設計語言,以及使用文字編輯器輕鬆編輯指令碼。
圖示圖例
此實驗室使用各種不同的圖示,提醒您注意指南的特定層面。下列清單說明每個圖示的用途:
- 提醒: 有特殊影響或重要性的資訊 (如果您錯過此資訊,不會對設備或資料造成太大的問題,但可能會導致需要重複特定步驟)。
- 命令: 您必須執行的命令。
- 預期輸出: 您可使用的範例輸出,以驗證命令的輸出內容或經過編輯的檔案。
- 注意: 提示、秘訣或重要指引。
- 了解詳情: 具體指明可取得更多資訊的位置。
- 知識檢測: 您將有機會檢測您的知識並測試您學到的內容。
- 任務完成: 實驗室中的結論或摘要重點。
- 警告: 不可逆且可能造成命令或程序失敗的動作 (包含設定後無法變更的警告)。