2024年11月21日

ど~も。うさノリブログです。
今回はAWSでのデータベースサービス、
Amazon DynamoDBについてゆるりお話し
していきましょう♪
Amazon DynamoDBってなに?
Amazon DynamoDBは
「アマゾン ダイナモディービー」と読み、
AWSが提供するフルマネージドの
NoSQLデータベースサービスです。
DynamoDBの「Dynamo」は、
amazonが開発した分散データベースシステムで
amazonが発表した技術です。
高速でスケーラブルなパフォーマンスを提供し、
どの規模のアプリケーションでも高い可用性とスループットを実現します。
DynamoDBは、スキーマレスなデータモデルを
採用しているため、柔軟なデータ構造をサポートし、
アプリケーションの要件に応じたスケーリングが
可能です。
※フルマネージド:
インフラの運用管理がAWSが行い、ユーザーが
開発に専念できるサービス。
※NoSQLデータベースサービス:
自由な形で情報を保存できるデータベース、
素早く探したりするのに便利。
※スケーラブル:
システムやサービスが必要に応じて
簡単に拡張できる性質のこと。
※スループット:
システムが一定時間内に処理できる
データや仕事の量。
※スキーマレス:
データベースに固定された構造(スキーマ)を
定義せず、柔軟にデータ形式を保存できる
仕組み。
Amazon DynamoDBの主要な機能

- フルマネージドサービス
- DynamoDBは、インフラストラクチャの
管理を完全にAWSに任せることができます。
サーバーのプロビジョニング、パッチ適用、
スケーリング、バックアップなどの運用
タスクが自動化されています。
- DynamoDBは、インフラストラクチャの
- 高いスケーラビリティ
- DynamoDBは、自動的に容量をスケール
アップまたはスケールダウンし、
アプリケーションのトラフィックに
対応します。
プロビジョンドキャパシティモードと
オンデマンドキャパシティモードを
選択することで、リソースの管理を
最適化できます。
- DynamoDBは、自動的に容量をスケール
- 高可用性と耐障害性
- データは複数のAWSリージョンにわたって
レプリケートされるため、高い可用性と
耐障害性を確保できます。
また、DynamoDBは99.999%の可用性を提供します。
- データは複数のAWSリージョンにわたって
- セキュリティ
- DynamoDBは、AWS Identity and Access
Management(IAM)と統合されており、
きめ細かいアクセス制御が可能です。
データの暗号化もサポートしており、
データの安全性を確保します。
- DynamoDBは、AWS Identity and Access
- グローバルテーブル
- グローバルテーブルを利用することで、
マルチリージョンにまたがるデータの
レプリケーションが自動化され、
低レイテンシでグローバルに
分散されたアプリケーションを
構築できます。
- グローバルテーブルを利用することで、
※プロビジョニング:
サーバー等のリソースを自動・手動で
設定し、使用できる状態にするプロセス。
※パッチ:
セキュリティや機能向上のためにシステムや
ソフトに対して行われる修正・更新作業。
※プロビジョンドキャパシティモード:
DynamoDBで必要な読み書きの容量を
あらかじめ指定し、安定したパフォーマンスを
提供するモード
※オンデマンドキャパシティモード:
DynamoDBでリクエストに応じて自動的
スループットを調整し、事前に容量を
指定する必要がない柔軟なモード
※レプリケート:
データの可用性と耐障害性を高めるために、
複数のリージョンやアベイラビリティゾーンに
データを複製すること
※グローバルテーブル:
上記のレプリケートすることで、グローバルに
分散されたアプリに対して定レイテンシーの
データアクセスを提供するテーブル。
※低レイテンシ:
データの送受信や処理が短時間で行われ、
ユーザーがほぼ遅延を感じない状態。
Amazon DynamoDBの活用事例
- リアルタイムデータ処理
- DynamoDBは、リアルタイムのデータ処理が
求められるアプリケーションに最適です。
例えば、オンラインゲームのスコアボードや
IoTデバイスのデータ収集に利用されます。
- DynamoDBは、リアルタイムのデータ処理が
- モバイルアプリケーション
- モバイルアプリのバックエンドデータベース
として、高速でスケーラブルなデータ
ストレージを提供します。
ユーザーデータ、セッション情報、設定データ
などを効率的に管理できます。
- モバイルアプリのバックエンドデータベース
- eコマースプラットフォーム
- DynamoDBは、高いトラフィックと大規模な
データ処理を必要とするeコマースサイトに
適しています。
商品カタログ、注文管理、在庫管理などの
データを効率的に処理します。
- DynamoDBは、高いトラフィックと大規模な
※バックエンドデータベース:
アプリのデータを保存・管理するために
使用されるクラウド上のデータベース
サービス。
※eコマースサイト:
インフラやサービスを利用して、
高可用性・高パフォーマンスで
オンラインストアを構築・運営すること。
Amazon DynamoDBの料金体系
DynamoDBの料金は、使用量に基づいて計算されます。
主な料金要素は以下の通りです:
- プロビジョンドキャパシティ:
リードおよびライトキャパシティユニット
(RCUおよびWCU)の数に基づいて料金が
発生します。 - オンデマンドキャパシティ:
リクエスト数に基づいて料金が
発生します。 - ストレージ:
データの保存量に対して料金が発生します。 - データ転送:
データの入出力やネットワーク転送に対して
料金がかかります。
※ライトキャパシティユニット:
DynamoDBで1秒間に最大4KBのデータを
1回の強力整合性読み込み、または2回の
結果整合性読み込みを行うための
容量単位です。
データベースのデータを読むためのエネルギー
みたいなものです。
※強力整合性:
データを読み取る際、最新の書き込みが必ず
反映された結果を返す読み込みモデルのこと。
常に最新データを取得できます。
※結果整合性:
読み取ったデータが最新ではない可能性が
あるが、一定時間後には最終的に最新の
データに整合する読み込みモデルです。
※RCU:
上記のライトキャパシティユニットの略。
※WCU:
DynamoDBで1秒間に最大1KBのデータを1回
書き込むための容量単位です。
ライトキャパシティユニットの1KB版という
感じです。
Amazon DynamoDBの始め方
- AWSアカウントの作成
- AWSの公式サイトから
無料アカウントを作成します。
- AWSの公式サイトから
- DynamoDBテーブルの作成
- AWS Management Consoleに
ログインし、DynamoDBダッシュボード
から新しいテーブルを作成します。
テーブル名、プライマリキー、
キャパシティモードを設定します。
- AWS Management Consoleに
- データの挿入とクエリ
- テーブルにデータを挿入し、クエリを
実行してデータを取得します。
SDKやCLIを使用してプログラムから
操作することも可能です。
- テーブルにデータを挿入し、クエリを
※SDK:
ソフトウェア開発キットと訳され、
プログラマーがAWSを簡単に操作・
管理できるようにするための
ツールとライブラリのセットです。
※CLI:
コマンドライン(コンピュータに指示を
出す画面)を使用してAWSのサービスを
管理・操作できるツールで、スクリプトや
コマンドを使ってAWSリソースを制御する
ことができます。
まとめ
Amazon DynamoDBは、高速でスケーラブルな
NoSQLデータベースサービスであり、さまざまな
アプリケーションに対応する柔軟なデータ管理を
提供します。リアルタイムデータ処理、
モバイルアプリケーション、
eコマースプラットフォームなど、
多岐にわたる場面で活用されています。
AWSの強力なインフラと統合することで、
安全かつ効率的にデータを管理することが可能です。
以上!今回はこれまで!
コメント