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 Management(IAM)
- グローバルテーブル
- グローバルテーブルを利用することで、
マルチリージョンにまたがるデータの
レプリケーションが自動化され、低レイテンシで
グローバルに分散されたアプリケーションを
構築できます。
- グローバルテーブルを利用することで、
※プロビジョニング:サーバー等のリソースを自動・手動で設定し、
使用できる状態にするプロセス。
※パッチ:セキュリティや機能向上のためにシステムやソフトに
対して行われる修正・更新作業。
※プロビジョンドキャパシティモード: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の強力なインフラと
統合することで、安全かつ効率的にデータを管理することが可能です。
以上!今回はこれまで!
コメント