AWS DynamoDBについて

最近、個人開発でDynamoDBを使った開発をしていて、勉強になったことが多かったので、 何回に分けて自分なりに説明していこうと思います。

まずはざっくりした特徴を説明していきます。

特徴

ぐぐると色々とDynamoDBの特徴がわかるので、この記事では自分が気になった特徴を 抜粋して説明していきます。

特徴(フルマネージドシステム)

この記事 によると、 「運用に関わる作業」をクラウド業者が行ってくれる形態のサービス(コンピュータ障害監視など) だそうです。

特徴(key-value ストア)

key-valueストアの基礎知識 が非常に参考になりました。

こちらを自分なりに抜粋すると、以下の特徴があるようです。

- keyとvalueの値で書き込み
- 読み込みはkeyを指定
- 高いスケーラビリティと性能

Key-Valueストアの最大の特徴かもしれませんが、読み込みをキーに絞ることで 複数台への分散、高いスループットを実現しています。

DynamoDBのKey Value

AWSのDynamoDBは以下のようなデータ構造となっています。 PrimaryキーはPartition keyとSortKeyでDynamoDBのテーブル内はユニークになるように作成されます。 f:id:jesushill:20200308154943p:plain

AWSの公式の記事から抜粋

特徴(ドキュメントデータベース)

AWSの公式ページ によると、データをJSONのように保存できます。 このような形で保存すると、RDBのようなキーは関係なく、柔軟にデータを保存することができます。