見出し画像

【AWS】勉強したことまとめ Part34

こんにちは!
Kaetecの中の人です!

久しぶりにAWSについてアウトプットです。
本日はDynamoDBについてまとめておこうと思います。

過去の記事もマガジンにまとめていますので是非見てみてください!

DynamoDBとは

DynamoDBはフルマネージドのサーバーレスNoSQLデータベースです。
一般的なリレーショナルデータベースと違い、半構造データを扱うこともできます。
DynamoDBはキーバリュー型のデータベースです。値やファイルを取得するためのキーをセットで格納しています。
一般的なユースケースとしてモバイル、ウェブ、ゲーム、広告技術、IoTのようなサービスのバックエンドとしてよく利用されているようです。

個人的には試験ではよくLamdaやAPI Gatewayとの連携が出題されている気がします。
試験対策としてはこのサービスとよく連携されていることは念頭に置いておいた方がよさそうです。

コスト

DynamoDBのコストは下記で決まります。

・キャパシティーユニット
・ストレージ容量
・データ転送量

https://dev.classmethod.jp/articles/optimize-costs-of-dynamodb/

可用性

99.999%の可用性をもっています。
DynamoDBは自動的に3か所のAZに保存されます。
3か所に自動的に保存されますが、3か所への書き込み完了には時間差ができてしまいます。
これにより「陳腐化したデータ」が読み取られてしまい問題となることがあるようです。
これを改善する機能として「読み取り一貫性(Consistent Read)」というオプションが提供されています。
これを利用することで最新データを読み取ることが可能になります。

DynamoDB関連オプション

DynamoDBグローバルテーブルは複数リージョンに同一テーブルを作成したい場合に選択するオプションです。
リードレプリカと違いすべてはマスターテーブルのため、どのリージョンのテーブルを変更しても同期が行われます。
グローバルに分散したユーザーがいる、大規模アプリケーションを使用する場合に利用されるようです。

DynamoDBストリームはDynamoDBテーブルに行われた変更の履歴をイベントとして検出し、24時間保持する機能です。
データの変更発生時に管理者に迅速に通知をしたいときに利用されるようです。

DynamoDB Accelerator (DAX) はフルマネージド型高可用性インメモリキャッシュです。
リクエスト数が数百万件になる場合でも高いパフォーマンスを実現できます。

DynamoDB Auto Scalingは動的に書き込みキャパシティ及び読み込みキャパシティを調節してくれます。
負荷予測が困難な場合に重宝し、データベースのパフォーマンスを落とすことなく効率よくコストを削減できます。

おわりに

DynamoDBは試験に頻出なのでよく出る単語等をしっかり目にまとめてみました。
何かしらとの連携を問われることが多いイメージなのでつながりを意識しながら勉強していきましょう~!




この記事が参加している募集

#最近の学び

181,387件