DynamoDB is a fully managed, server­less NoSQL database developed by Amazon. Its seamless scaling, mil­li­second response times, minimal op­er­a­tion­al effort, and easy AWS in­teg­ra­tion are key ad­vant­ages. Use cases range from software de­vel­op­ment to scaling gaming platforms and real-time video streaming.

What is DynamoDB?

Amazon DynamoDB is a server­less NoSQL database service for modern ap­plic­a­tions of any scale and has been provided by AWS (Amazon Web Services) since 2012. Unlike many com­pet­it­ors, DynamoDB is a fully managed solution. As a result, there is no need to handle tasks like upgrades, updates, or scaling. The database man­age­ment system also offers a wide range of security features and com­pli­ance standards. Fur­ther­more, DynamoDB seam­lessly in­teg­rates with other AWS services like Lambda or the Amazon OpenSearch Service.

Managed Databases
Time-saving database services
  • En­ter­prise-grade ar­chi­tec­ture managed by experts
  • Flexible solutions tailored to your re­quire­ments
  • Hosted in the UK under strict data pro­tec­tion le­gis­la­tion

Structure of DynamoDB

The database structure features a clear hierarchy with tables as the top entities, without strict re­la­tion­ships between them, unlike re­la­tion­al databases. Amazon DynamoDB stores data in par­ti­tions, which are auto­mat­ic­ally rep­lic­ated. Each partition consists of three nodes, each holding a copy of the data, enabling easy scaling and providing re­dund­ancy in case of a node failure. De­velopers store records as at­trib­utes and assign a unique primary key to them. The database supports both key-value data models and document-oriented models.

Table classes in AWS DynamoDB

By using table classes, the per­form­ance and cost structure of DynamoDB tables can be optimised. Users can choose between two classes and switch between them twice within 30 days without downtime to adjust costs to usage patterns.

  • DynamoDB Standard is designed as the default table class for high-per­form­ance workloads and tables with un­pre­dict­able workloads. In com­par­is­on, standard tables are char­ac­ter­ised by lower costs for read and write op­er­a­tions.
  • DynamoDB Standard In­fre­quent Access is optimised for tables where storage is the major cost factor. IA standard tables offer lower storage costs. The class is also ideal for tables with data that is rarely accessed.

What features does DynamoDB offer?

DynamoDB offers a variety of powerful features that enable scalable, highly available, and re­spons­ive ap­plic­a­tions. The following overview sum­mar­ises the key features:

  • Key-Value and Document Data Models: The database features a flexible schema that allows assigning many different at­trib­utes to in­di­vidu­al items.
  • ACID Trans­ac­tions: The NoSQL database provides trans­ac­tions with Atomicity, Con­sist­ency, Isolation, and Dur­ab­il­ity—known as ACID—for a wide range of ap­plic­a­tions. This makes it possible to extend the scalab­il­ity and per­form­ance of DynamoDB to a broader range of business-critical processes.
  • Global tables with active-active rep­lic­a­tion: DynamoDB global tables are multi-active, allowing users to write to and read from any replica. The capacity is auto­mat­ic­ally adjusted to regional workloads.
  • DynamoDB Streams: This feature captures change data. When an item is created, updated, or deleted in a table, DynamoDB Streams records the event and stores it for 24 hours.
  • Secondary indexes: DynamoDB allows both local and global secondary indexes to enable queries using al­tern­at­ive keys. Op­tion­ally, they can be im­ple­men­ted as sparse indexes to spe­cific­ally index only subsets of the data.
  • Automatic par­ti­tion­ing: Data is auto­mat­ic­ally dis­trib­uted across multiple par­ti­tions and scaled as needed.
  • Security features: The database offers extensive features to ensure the security of your data. These include granular access controls, en­cryp­tion at rest, point-in-time recovery, on-demand backups, and private network con­nectiv­ity.
  • Capacity models: Users have the option to choose between an on-demand capacity mode and a pro­vi­sioned capacity mode.
  • DynamoDB Ac­cel­er­at­or (DAX): This is an optional service for improved caching that boosts per­form­ance up to ten times.

Ad­vant­ages and dis­ad­vant­ages of Amazon DynamoDB

Amazon’s NoSQL service DynamoDB impresses mainly with the following:

  • Automatic scaling: AWS DynamoDB dy­nam­ic­ally adjusts capacity and par­ti­tion­ing to match through­put, enabling limitless ho­ri­zont­al growth.
  • Server­less ar­chi­tec­ture: The database man­age­ment system is fully managed. This allows users to focus entirely on ap­plic­a­tion de­vel­op­ment rather than having to con­cen­trate on the un­der­ly­ing in­fra­struc­ture.
  • High avail­ab­il­ity: Multi-region databases and automatic rep­lic­a­tion ensure avail­ab­il­ity of up to 99.999 %.
  • Low latency: The NoSQL database provides read and write access with single-digit mil­li­second latency by default. With the DynamoDB Ac­cel­er­at­or, response times can even be reduced to the mi­cro­second range if needed.
  • Simple AWS in­teg­ra­tion: The seamless in­teg­ra­tion of AWS services like Cloud­Watch or Kinesis expands the func­tion­al­ity of DynamoDB and enables ad­di­tion­al data analyses.

Although the ad­vant­ages clearly outweigh and DynamoDB is def­in­itely among the best SQL al­tern­at­ives, the platform also has some weak­nesses. On one hand, the database offers only limited query options, which are less com­pre­hens­ive than many competing offerings. On the other hand, the tight in­teg­ra­tion with AWS services makes migration to other platforms more difficult. With on-demand models, there is also the risk that spikes in demand can lead to un­pre­dict­ably high fees.

What ap­plic­a­tion areas is DynamoDB suitable for?

DynamoDB was spe­cific­ally designed for workloads where enormous amounts of data need to be processed, scaled, and provided with very low latency and high avail­ab­il­ity. Typical use cases include:

  • Server­less web ap­plic­a­tions and mobile backends, where account data, sessions, and con­fig­ur­a­tions are retrieved with minimal latency
  • Gaming platforms, where hundreds of thousands or millions of users access game servers sim­ul­tan­eously
  • Content streaming for a global audience with uneven or burst traffic
  • Banks and financial services companies, which need to process many trans­ac­tions sim­ul­tan­eously and in real-time, while also facing the challenge of ensuring the timeli­ness and security of financial trans­ac­tions
  • IoT Ap­plic­a­tions (IoT = Internet of Things), that process and store sensor data on a large scale

The most important al­tern­at­ives to DynamoDB

In addition to DynamoDB, there are other database systems that might serve as al­tern­at­ives depending on re­quire­ments, data model, scaling, and in­fra­struc­ture. These primarily include:

  • MongoDB: High flex­ib­il­ity and limitless scalab­il­ity

  • MySQL: Re­la­tion­al system with top-notch avail­ab­il­ity

  • MariaDB: Open-source al­tern­at­ive to DynamoDB

  • Post­gr­eSQL: Re­la­tion­al database solution with support for non-re­la­tion­al data types

  • Firebase by Google: An excellent al­tern­at­ive, es­pe­cially for mobile and web ap­plic­a­tions

  • Apache Cassandra: Par­tic­u­larly ideal for large volumes of data

What ad­vant­ages the in­di­vidu­al DynamoDB al­tern­at­ives offer in detail is discussed in the linked guide.

Go to Main Menu