
To effectively migrate to DynamoDB, it is crucial to understand its key concepts and features.
NoSQL Data Model: DynamoDB follows a NoSQL (non-relational) data model, which provides flexibility in handling diverse and evolving data. It allows you to store, retrieve, and manipulate structured, semi-structured, and unstructured data without adhering to a rigid schema. This flexibility enables faster development cycles and accommodates evolving application requirements.
Tables, Items, and Attributes: In DynamoDB, data is organized into tables. Each table consists of multiple items (or records), and each item contains one or more attributes (or fields). Attributes can be of different data types, such as strings, numbers, binary data, lists, or maps. DynamoDB's schema-less nature allows you to add or modify attributes on a per-item basis, making it agile for application development.
Primary Key: Every DynamoDB table must have a primary key that uniquely identifies each item in the table. The primary key can be of two types:
Secondary Indexes: DynamoDB supports the creation of secondary indexes to improve query flexibility and performance. Secondary indexes allow you to query the table using attributes other than the primary key. Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI) provide different indexing capabilities to support diverse access patterns.
Read and Write Capacity Units: DynamoDB measures and provisions throughput capacity in terms of Read Capacity Units (RCUs) and Write Capacity Units (WCUs). RCUs represent the number of strongly consistent read operations per second, while WCUs represent the number of write operations per second. You can adjust these capacity units to accommodate varying workloads and performance requirements.