遅咲きさんのゆるり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をコピーしました