Welcome to CloudAffaire and this is Debjeet
In the last blog post, we have created a transit gateway to interconnect several VPC.
We have already covered server (EC2), Storage (EBS, S3) and network (VPC) and from this blog post we are going to start with database which is the fourth essential component of any infrastructure\application. There are several options available in AWS in terms of database and we will start with DynamoDB service which is NoSQL offering from AWS.
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
Features of DynamoDB:
- Fully scalable: DynamoDB can be scaled up or down as per workload requirement
- On demand and point in time backup: You can take on demand full backup for longer retention period or point in time backup with 35 days of retention.
- Auto archival: DynamoDB allows you to delete expired items from tables automatically to help you reduce storage usage and the cost of storing data that is no longer relevant.
- Highly available & durable: Data kept in DynamoDB gets automatically replicated across multiple Availability Zones in an AWS region, providing built-in high availability and data durability
- Blazing fast performance: All of your data is stored on solid state disks (SSDs) which provides high throughput
- Global tables: You can use global tables to keep DynamoDB tables in sync across AWS Regions.
- Encryption at rest: DynamoDB support data encryption at rest for protection of your sensitive data
- Monitoring: AWS Management Console provides resource utilization and performance metrics.
Components of DynamoDB:
- Tables: Similar to other database systems, DynamoDB stores data in tables. A table is a collection of data.
- Items: Each table contains zero or more items. An item is a group of attributes that is uniquely identifiable among all of the other items.
- Attributes: Each item is composed of one or more attributes. An attribute is a fundamental data element, something that does not need to be broken down any further.
- Primary Key: The primary key uniquely identifies each item in the table, so that no two items can have the same key.
- Partition key – A simple primary key, composed of one attribute known as the partition key.
- Partition key and sort key – Referred to as a composite primary key, this type of key is composed of two attributes. The first attribute is the partition key, and the second attribute is the sort key.
- Secondary Indexes: You can create one or more secondary indexes on a table. A secondary index lets you query the data in the table using an alternate key, in addition to queries against the primary key.
- Global secondary index – An index with a partition key and sort key that can be different from those on the table.
- Local secondary index – An index that has the same partition key as the table, but a different sort key.
- DynamoDB Streams: DynamoDB Streams is an optional feature that captures data modification events in DynamoDB tables. The data about these events appear in the stream in near real time, and in the order that the events occurred.
Hope you have enjoyed this article. We are going to cover each and every components with example in future posts. In the next blog post we are going to install DynamoDB in local system.
To get more details on DynamoDB, please refer below AWS documentation