AWS DynamoDBについて
最近、個人開発でDynamoDBを使った開発をしていて、勉強になったことが多かったので、 何回に分けて自分なりに説明していこうと思います。
まずはざっくりした特徴を説明していきます。
特徴
ぐぐると色々とDynamoDBの特徴がわかるので、この記事では自分が気になった特徴を 抜粋して説明していきます。
- フルマネージドサービス
- key-value ストア
- ドキュメントデータベース
特徴(フルマネージドシステム)
この記事 によると、 「運用に関わる作業」をクラウド業者が行ってくれる形態のサービス(コンピュータ障害監視など) だそうです。
特徴(key-value ストア)
key-valueストアの基礎知識 が非常に参考になりました。
こちらを自分なりに抜粋すると、以下の特徴があるようです。
- keyとvalueの値で書き込み - 読み込みはkeyを指定 - 高いスケーラビリティと性能
Key-Valueストアの最大の特徴かもしれませんが、読み込みをキーに絞ることで 複数台への分散、高いスループットを実現しています。
DynamoDBのKey Value例
AWSのDynamoDBは以下のようなデータ構造となっています。 PrimaryキーはPartition keyとSortKeyでDynamoDBのテーブル内はユニークになるように作成されます。
※ AWSの公式の記事から抜粋
特徴(ドキュメントデータベース)
AWSの公式ページ によると、データをJSONのように保存できます。 このような形で保存すると、RDBのようなキーは関係なく、柔軟にデータを保存することができます。