遅咲きさんのゆるりAWS認定試験、Amazon DynamoDBとは?

データベース

2024年11月21日

ど~も。うさノリブログです。
今回はAWSでのデータベースサービス、
Amazon DynamoDBについてゆるりお話し
していきましょう♪

Amazon DynamoDBってなに?

Amazon DynamoDBは
「アマゾン ダイナモディービー」
と読み、

AWSが提供するフルマネージドの

NoSQLデータベースサービスです。

DynamoDBの「Dynamo」は、
amazonが開発した分散データベースシステムで

amazonが発表した技術です。
高速でスケーラブルなパフォーマンスを提供し、
どの規模のアプリケーションでも高い可用性とスループットを実現します。

DynamoDBは、スキーマレスなデータモデルを
採用しているため、
柔軟なデータ構造をサポートし、
アプリケーションの要件に応じた
スケーリングが
可能です。

※フルマネージド:
 インフラの運用管理がAWSが行い、ユーザーが
 開発に
専念できるサービス。

※NoSQLデータベースサービス:
 自由な形で情報を保存できるデータベース、

 素早く探したりするのに便利。

※スケーラブル:
 システムやサービスが必要に応じて
 簡単に拡張できる性質のこと。


※スループット:
 システムが一定時間内に処理できる
 データや仕事の量。


※スキーマレス:
 データベースに固定された構造(スキーマ)を
 定義せず、柔軟にデータ形式を保存できる
 仕組み。

Amazon DynamoDBの主要な機能

 

 

  1. フルマネージドサービス
    • DynamoDBは、インフラストラクチャの
      管理を完全にAWSに任せることができます。

      サーバーのプロビジョニング、パッチ適用、
      スケーリング、バックアップなどの運用
      タスクが
      自動化されています。
  2. 高いスケーラビリティ
    • DynamoDBは、自動的に容量をスケール
      アップ
      またはスケールダウンし、
      アプリケーションの
      トラフィックに
      対応します。


      プロビジョンドキャパシティモードと
      オンデマンドキャパシティモードを

      選択することで、リソースの管理を
      最適化できます。
  3. 高可用性と耐障害性
    • データは複数のAWSリージョンにわたって
      レプリケートされるため、高い可用性と

      耐障害性を確保できます。
      また、DynamoDBは99.999%の可用性を提供します。
  4. セキュリティ
    • DynamoDBは、AWS Identity and Access
      Management(IAM)
      と統合されており、
      きめ細かいアクセス制御が可能です。


      データの暗号化もサポートしており、
      データの安全性を確保します。
  5. グローバルテーブル
    • グローバルテーブルを利用することで、
      マルチリージョンにまたがるデータの

      レプリケーションが自動化され、
      低レイテンシで
      グローバルに

      分散されたアプリケーションを

      構築できます。

※プロビジョニング:
 サーバー等のリソースを自動・手動で
 設定し、
使用できる状態にするプロセス。

※パッチ:
 セキュリティや機能向上のためにシステムや
 ソフトに
対して行われる修正・更新作業。

※プロビジョンドキャパシティモード:
 DynamoDBで必要な読み書きの容量を

 あらかじめ指定し、安定したパフォーマンスを
 提供するモード

※オンデマンドキャパシティモード:
 DynamoDBでリクエストに応じて自動的

 スループットを調整し、事前に容量を
 指定する必要がない柔軟なモード

※レプリケート:
 データの可用性と耐障害性を高めるために、

 複数のリージョンやアベイラビリティゾーンに
 データを複製すること

※グローバルテーブル:
 上記のレプリケートすることで、グローバルに

 分散されたアプリに対して定レイテンシーの
 データアクセスを提供するテーブル。

※低レイテンシ:
 データの送受信や処理が短時間で行われ、

 ユーザーがほぼ遅延を感じない状態。

Amazon DynamoDBの活用事例

  1. リアルタイムデータ処理
    • DynamoDBは、リアルタイムのデータ処理が
      求められるアプリケーションに最適です。

      例えば、オンラインゲームのスコアボードや
      IoTデバイスのデータ収集に利用されます。
  2. モバイルアプリケーション
    • モバイルアプリのバックエンドデータベース
      として、
      高速でスケーラブルなデータ
      ストレージを提供します。


      ユーザーデータ、セッション情報、設定データ
      などを
      効率的に管理できます。
  3. eコマースプラットフォーム
    • DynamoDBは、高いトラフィックと大規模な
      データ処理を必要とするeコマースサイトに
      適しています。


      商品カタログ、注文管理、在庫管理などの
      データを効率的に
      処理します。

※バックエンドデータベース:
 アプリのデータを保存・管理するために
 使用される
クラウド上のデータベース
 サービス。


※eコマースサイト:
 インフラやサービスを利用して、
 高可用性・高パフォーマンスで

 オンラインストアを構築・運営すること。

Amazon DynamoDBの料金体系

DynamoDBの料金は、使用量に基づいて計算されます。
主な料金要素は以下の通りです:

  • プロビジョンドキャパシティ
    リードおよびライトキャパシティユニット
    (RCUおよびWCU)の数に
    基づいて料金が
    発生します。
  • オンデマンドキャパシティ
    リクエスト数に基づいて料金が
    発生します。
  • ストレージ
    データの保存量に対して料金が発生します。
  • データ転送
    データの入出力やネットワーク転送に対して
    料金がかかります。

※ライトキャパシティユニット:
 DynamoDBで1秒間に最大4KBのデータを
 1回の強力整合性読み込み、または2回の
 
 結果整合性読み込みを行うための
 容量単位です。

 
 データベースのデータを読むためのエネルギー

 みたいなものです。

※強力整合性:
 データを読み取る際、最新の書き込みが必ず
 反映された
結果を返す読み込みモデルのこと。
 常に最新データを取得できます。

※結果整合性:
 読み取ったデータが最新ではない可能性が
 あるが、
一定時間後には最終的に最新の

 データに整合する読み込みモデルです。


※RCU:
 上記のライトキャパシティユニットの略。

※WCU:
 DynamoDBで1秒間に最大1KBのデータを1回
 書き込むための容量単位です。

 ライトキャパシティユニットの1KB版という
 感じです。

Amazon DynamoDBの始め方

  1. AWSアカウントの作成
    • AWSの公式サイトから
      無料アカウントを作成します。
  2. DynamoDBテーブルの作成
    • AWS Management Console
      ログインし、
      DynamoDBダッシュボード
      から新しいテーブルを
      作成します。

      テーブル名、プライマリキー、
      キャパシティモードを
      設定します。
  3. データの挿入とクエリ
    • テーブルにデータを挿入し、クエリを
      実行してデータを
      取得します。

      SDKやCLIを使用してプログラムから
      操作することも
      可能です。

※SDK:
 ソフトウェア開発キットと訳され、
 プログラマーがAWSを簡単に
操作・
 管理できるようにするための
 ツールとライブラリのセットです。

※CLI:
 コマンドライン(コンピュータに指示を
 出す画面)を使用して
AWSのサービスを

 管理・操作できるツールで、スクリプトや
 コマンドを
使ってAWSリソースを制御する
 ことができます。

まとめ

Amazon DynamoDBは、高速でスケーラブルな
NoSQLデータベースサービスであり、さまざまな

アプリケーションに
対応する柔軟なデータ管理を
提供します。リアルタイムデータ処理、

モバイルアプリケーション、
eコマースプラットフォームなど、

多岐にわたる場面で活用されています。
AWSの強力なインフラと
統合することで、
安全かつ効率的にデータを管理することが可能です。

以上!今回はこれまで!

 

コメント

Translate »
タイトルとURLをコピーしました