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.

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *