Simple Notification Service (SNS)
Kinesis + MQ
Databases & Analytics
DynamoDB Overview
  • Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
  • DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.
  • DynamoDB also offers encryption at rest, which eliminates the operational burden and complexity involved in protecting sensitive data.
  • With DynamoDB, you can create database tables that can store and retrieve any amount of data and serve any level of request traffic.
  • You can scale up or scale down your tables' throughput capacity without downtime or performance degradation.

Tables, Items, and Attributes

  • Tables:
    • DynamoDB stores data in tables.
    • A table is a collection of data.
    • For example, a Cars table could be used to store information about vehicles that people drive.
  • 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.
    • In DynamoDB, there is no limit to the number of items you can store in a table.
    • For a Cars table, each item represents one vehicle.
  • 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.
    • Attributes in DynamoDB are similar in many ways to fields or columns in other database systems.
    • For example, in the Cars table, attributes could be: Number of doors, Colour, Height, Width, etc.

Primary Key

  • When you create a table, in addition to the table name, you must specify the primary key of the table.
    • The primary key uniquely identifies each item in the table, so that no two items can have the same key.