Skip to main content

Get full access to 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

15.2 Amazon DynamoDB

Amazon DynamoDBやMongoDBといったNoSQLデータベースは、リレーショナルデータベースと並んでアプリケーションのデータストアとして採用される機会が増えています。単なるインメモリキャッシュの代替としてだけではなく、可用性や拡張性、高性能なデータベースが求められるアプリケーションで採用されています。またサーバーレスアプリケーションはリレーショナルデータベースとの相性があまり良くないため、NoSQLデータベースが採用されるケースもあります。

DynamoDBとはAWSが提供しているNoSQLデータベースのサービスです。DynamoDBへのアクセスはAWSが提供しているAPI経由で行います。以下のような特徴があります。

  • フルマネージド

  • 高可用性

  • 低レイテンシー

DynamoDBはフルマネージドなサービスです。開発者はサーバーを管理する必要がありません。データはAWS側で3つのアベイラビリティゾーンに保存されるため、高い可用性が求められる場合でも利用できます。同時に数十ミリ秒程度の低レイテンシーでレスポンスを返せますし、AWS側で自動的に拡張されるためディスクサイズを気にすることもないという、夢のようなデータベースです。あくまでNoSQLデータベース、もう少し具体的に言うとKey-Valueストアであるため、RDBのような汎用性はありませんが、Key-Valueストアのユースケースに当てはまる場合はとても強力なサービスです。

DynamoDBのテーブルは、キーとして以下の2つをサポートしています。

  • パーティションキー

  • パーティションキー+ソートキー

DynamoDBはKey-Valueストアの一種なので、データを取得する際には上記のような「パーティションキー」か「パーティションキー+ソートキー」を指定してデータを取得する必要があります。RDBで言えばいわゆるプライマリーキーに相当するものです。 ...

Get 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now