DynamoDB
DynamoDB Overview
àDynamoDB is a fully managed NoSQL database service provided by Amazon Web Services (AWS).
àIt’s designed for high-performance and scalable applications, offering low-latency access to data.
Key Concepts
àNoSQL Database: DynamoDB is a NoSQL (Not Only SQL) database, meaning it doesn’t rely on traditional relational database structures.
àTables: Data in DynamoDB is organized into tables, similar to a spreadsheet with rows and columns.
Data Model
àFlexible Schema: DynamoDB allows dynamic addition or removal of attributes without affecting the entire table.
àJSON-like Documents: Data within items is stored in JSON-like format, allowing nested structures.
Primary Key
àEvery DynamoDB table must have a primary key, which uniquely identifies each item.
àTwo Types: Primary keys can be either a single attribute (simple primary key) or a combination of two attributes (composite primary key).
Capacity Modes
àProvisioned Throughput: Allows you to specify the read and write capacity units for your table.
àOn-Demand: Automatically scales based on the actual consumption, making it suitable for unpredictable workloads.
Consistency Models
à Strongly Consistent Reads: Ensures that read operations reflect the most recent write.
à Eventually Consistent Reads: Allows for lower read latency but may not reflect the latest write immediately.
DynamoDB Streams
à Captures and streams changes made to DynamoDB tables in real-time.
à Useful for triggering events, updating caches, or maintaining secondary indexes.
Security
à IAM Roles: Uses AWS Identity and Access Management (IAM) roles to control access to DynamoDB resources.
à Fine-Grained Access Control: Allows specifying access permissions at the item or attribute level.
Pricing
à Pay-Per-Request: On-demand pricing for read and write requests.
à Provisioned Throughput: Pay for a pre-allocated amount of read and write capacity.
Leave a Reply
Want to join the discussion?Feel free to contribute!