
Explore the fundamentals of AWS DynamoDB, create and modify tables with the AWS CLI and SDK, and learn design best practices for developers and data professionals.
Explore dynamodb through a balanced mix of theory and hands-on practice, covering core building blocks, fundamentals, and definitions to help you create databases and apply key concepts.
Access the course source code by right-clicking the lecture and selecting the link to the source code, then use the resources area to download PDFs or view the code.
Set up your development environment by installing Python and your preferred code editor, and create an AWS account; follow walkthroughs to install Python and VS code.
Install VS Code (optional) to access the course code and resources, downloading and installing it on Windows, Debian or Ubuntu, Red Hat, Suse, Fedora, or Mac.
Learn to create an AWS free tier account, understand always free, 12 months free, and trials, verify identity with a credit card, email, and phone, and navigate the Management Console.
Create an admin group with administrator access, add Paolo as a user, enable console access and MFA, and sign in as this IAM user to manage IAM and EC2.
Discover how the AWS CLI enables fast direct access to AWS services from the command line. Follow a practical installation guide for Windows, Mac OS, and Linux.
Install and verify the AWS CLI, then configure it with IAM access keys and a region. Use AWS EC2 describe-instances to view instance data in JSON.
Create a DynamoDB table in AWS Management Console using a string product ID as the partition key. Add items with name, price, stores, and explore JSON view, scan, and query.
Embark on a DynamoDB deep dive to define the service and its motivation, highlighting its serverless, fully managed NoSQL design with single-digit millisecond performance, automatic scaling, and built-in security.
Contrast SQL and NoSQL databases, detailing data models, schema flexibility, transactions, and language differences, and illustrate how DynamoDB delivers scalable, flexible NoSQL performance for large-scale apps.
Explore DynamoDB components—tables, items, and attributes—and learn how primary keys, partition keys, and sort keys drive data distribution across partitions with a hashing algorithm for scalable, high-performance workloads.
Explore DynamoDB pricing by examining read, write, and storage costs, plus free tier of 25 GB storage and 25 provisioned read/write capacity units for up to 200 million monthly requests.
Explore DynamoDB fundamentals, create a table with the AWS Management Console, and understand how partitions and partition keys shape the database while comparing SQL and NoSQL databases.
Check in to share feedback, leave a course review, and post questions in the discussion board, fostering a collaborative learning community as the course continues.
Explore tools for interacting with DynamoDB, including the AWS Management Console, DynamoDB API, AWS CLI, and SDK, and understand the rest request flow and JSON responses.
Learn to create a DynamoDB table with the AWS CLI, including defining attributes, a partition key ISBN, and provisioning read and write capacity, using Linux or Windows syntax.
Verify the table with the describe-table command in the aws cli, confirming the status is active. Pass the correct table name to avoid a resource not found error.
Learn to add items to a DynamoDB table using the CLI by running put item with JSON data for ISBN, title, author, and price, then verify two books appear.
Break down the AWS CLI DynamoDB create table command, detailing table name, ISBN string attribute, hash key schema, and provisioned throughput with five read and five write capacity units.
Learn how to retrieve a DynamoDB item using the get-item command, by supplying the books table and the ISBN key to fetch details such as title, author, price, and ISBN.
Use AWS CLI to scan a DynamoDB table, returning a JSON response with all items and their title, price, and author.
Update an item in Amazon DynamoDB by specifying the table name, item key, and an update expression to set a price, using expression attribute values to pass the new price.
Delete the item using the table and key for John Doe, then refresh to confirm it is gone and run a DynamoDB scan to verify the count decreased.
Learn how to delete a dynamodb table using the aws cli, with json confirmation and status updates, and verify deletion by refreshing the table list.
Explore DynamoDB data types—scalar, document, and set types—and learn low level descriptors (s, n, b, bool, M, L, S) to create, update, and delete tables via the AWS CLI.
Explore how the AWS SDK simplifies DynamoDB interaction by building an app, using programmatic interfaces, and translating requests to the DynamoDB API, then handling responses back to your application.
Discover the AWS SDK's programmatic interfaces, from the low level DynamoDB API to the document and high level interfaces, and how JSON documents and data types drive interactions.
Explore how AWS provides language-specific SDKs to interact with DynamoDB, from Python via boto3 to Java and Node.js, plus mobile and IoT SDKs, IDE toolkits, and Cloud9 IDE.
Learn to create a DynamoDB table with Python using boto3, including setting up a virtual environment, installing boto3, and defining the books table with isbn and year keys.
Add a book to DynamoDB table using boto3 in python by creating a book dictionary with isbn, year, title, authors list, price as decimal, category and dimensions, and calling table.put_item.
Learn to load about 100 books from a JSON file into DynamoDB using the SDK and Python, mapping JSON fields to items with lists and nested data.
Learn to delete a DynamoDB book item by ISBN or title using query and scan, retrieving the matched item, and removing it from the table with confirmation.
Learn how to scan the books table in DynamoDB using filter expressions and projection expressions to retrieve specific fields like ISBN, title, and info.subtitle within a year range.
Learn how to query the books table in DynamoDB with key condition expressions on ISBN and year to retrieve specific items efficiently, and compare with scanning for performance and cost.
Learn how to update a book subtitle in a DynamoDB table by locating an item with ISBN, applying an update expression, and validating the change.
Delete an item from the DynamoDB table by querying for a book with a title or ISBN, then delete with a key dictionary and confirm removal.
Learn how to interact with a DynamoDB table using the CLI alongside SDK operations, performing CRUD actions and scanning or getting items regardless of the interface.
Use the AWS SDK to create and read DynamoDB tables and interact with the DynamoDB API. Compare AWS CLI and SDK for development, and choose a language to access DynamoDB.
Explore how DynamoDB indexes speed data retrieval with primary keys, partition keys, composite keys, and global secondary indexes, with use cases like category and price indexes.
Learn how scan and filter differ in DynamoDB, how filter refines the initial scan results, and how on demand and provisioned capacity modes with RCUs and WCUs drive costs.
Explore global secondary indexes and local secondary indexes in DynamoDB. Compare partition keys and sort keys, and learn how GSIs enable cross-partition queries and when LSIs can be created.
Create a secondary index in the DynamoDB console by naming ISBN year index, selecting a sort key, adjusting capacity, and evaluating how read/write settings affect monthly cost.
Consider factors that affect global secondary index creation time, such as table size, qualifying items, attributes projected, provisioned write capacity, and main-table write activity during the build.
Create a new books table with a local secondary index, restructuring fields for simplicity, and validate the price index is active and accessible.
Load restructured books data into the DynamoDB index using the LSI table, then verify 100 titles with price, year, ISBN, and author and category details.
Learn to query a local secondary index (LSI) in DynamoDB to filter books by ISBN and price, returning ISBN, title, price, year, and more.
Explore querying a DynamoDB local secondary index (LSI) with both the AWS SDK and the AWS CLI, including matching the index name and ISBN to retrieve at least one item.
Learn how to add a global secondary index to an existing DynamoDB table using an update table command, creating the author price index while preserving the local secondary index.
Execute hands-on querying with the author price index in DynamoDB, using key condition and projection expressions to fetch books by author and details like title, year, and ISBN.
Explore sparse indexes in DynamoDB and global secondary indexes, which include only items with the index attribute, enabling subset-focused queries, smaller indexes, and improved performance.
Learn how scanning and filtering impact cost and performance. See how secondary indexes boost efficiency and reduce charges to build refined, cost-effective DynamoDB tables.
Optimize DynamoDB indexes by structuring base tables and indexes for efficiency. Analyze access patterns, partition keys, sort keys, and projections to improve performance and cost.
Design partition keys, sort keys, and secondary indexes in DynamoDB by analyzing access patterns, high cardinality, and uniform access to avoid hot spots and improve scalability and performance.
Optimize sort keys in DynamoDB to organize data within partitions and enable efficient querying, using timestamp sort keys for range queries and composite year-month keys for complex patterns.
Analyze use cases for queries, scans, and secondary indexes in DynamoDB, weighing access patterns and costs, and apply design decisions to scenarios like category-based product listings and 1995 movie queries.
Analyze use cases for queries, scans, and indexes to structure base table data and design efficient, cost-effective DynamoDB secondary indexes that optimize your tables.
Delete the DynamoDB table named books using the AWS CLI to clean up and avoid costs. Verify the deletion status and ensure no tables or indexes remain.
Master DynamoDB fundamentals and indexing techniques by creating, querying, and optimizing tables with AWS CLI and SDK; learn partitions, primary and sort keys, composite keys, and global secondary indexes.
Are you ready to become a DynamoDB expert? Dive deep into the world of AWS DynamoDB with our comprehensive course designed for both beginners and advanced users. Whether you're new to NoSQL databases or looking to optimize your existing DynamoDB setup, this course has everything you need to master this powerful AWS service.
What You'll Learn:
Fundamentals of DynamoDB: Gain a solid understanding of what DynamoDB is and how it differs from traditional SQL databases.
Creating and Interacting with DynamoDB Tables: Learn step-by-step how to create, manage, and interact with DynamoDB tables using both AWS CLI and AWS SDK.
Key Concepts and Components: Explore the essential concepts of DynamoDB, including partitions, primary keys, sort keys, and composite keys.
Global Secondary Indexes: Understand how to create and use Global Secondary Indexes (GSI) to enhance query flexibility and performance.
Sparse Index: Discover the benefits of sparse indexing and how to implement it for efficient data retrieval.
Index Optimization: Learn strategies for optimizing your indexes to ensure fast and cost-effective database operations.
Partition Key Design: Master the art of designing effective partition keys to distribute your data evenly and avoid performance bottlenecks.
Optimizing Sort Keys: Delve into techniques for optimizing sort keys to support efficient querying and data organization.
Structuring Secondary Indexes for Efficiency: Understand the best practices for structuring secondary indexes to maximize their efficiency.
Design and Access Considerations: Explore real-world use cases and learn how to design your DynamoDB setup to meet various access patterns and business needs.
Why This Course?
AWS DynamoDB is a highly scalable and fully managed NoSQL database service that is integral to many modern applications. However, to fully leverage its capabilities, a deep understanding of its inner workings and best practices is essential. This course will provide you with the knowledge and skills needed to build high-performance, scalable applications using DynamoDB.
Who Should Enroll:
Developers looking to enhance their skills in AWS DynamoDB.
Database Administrators aiming to manage and optimize DynamoDB instances.
Cloud Architects designing scalable and efficient database solutions.
Anyone interested in mastering NoSQL databases and AWS DynamoDB.
Enroll now and transform your DynamoDB skills from basic to advanced, making you an invaluable asset to any cloud-based development team!