2022/07/20

AWS Dynamodbとは?3つのメリットと料金システムについて解説!

 
  

AWS Dynamodbとは?


AWS Dynamodbとは、様々な規模に対応が出来る、柔軟で高速な非リレーショナルデータベースサービスです。

AWS Dynamodbを利用することで、分散データベースの運用やAWSへとスケーリングする上での管理負荷を軽減することが出来ます。

ハードウェアのプロビジョニング、スループット容量のプランニング、構成と設定、ソフトウェアのパッチ適用、レプリケーション、クラスターのスケーリングなどの心配をする必要はありません。

AWS Dynamodbの整合性モデル


データをAWS Dynamodbから読み込む際、その読み込みに対して「結果整合性のある読み込み」か「強い整合性のある読み込み」かを指定することが出来ます。それぞれの整合性モデルの特徴について説明していきます。

結果整合性のある読み込み

初期設定の場合は「結果整合性のある読み込み」というオプションが選択されています。「結果整合性のある読み込み」に設定をすると、読み込みスループットが極限まで向上します。

ただし「結果整合性のある読み込み」の場合、新しい書き込みの結果が反映されないことがあります。全てのデータのコピーの整合は、約1秒で始まります。

このように、短い時間ごとに読み込みを繰り返すことで更新データが返されます。

強い整合性のある読み込み

AWS Dynamodbには、ユーザーのアプリケーションもしくはアプリケーションの要素を必要とする場合のために「強い整合性のある読み込み」をリクエスト出来る、制御と柔軟性が備わっています。

「強い整合性のある読み込み」の結果には、読み込み前に適切な応答を受け取った全ての書き込みが反映されます。

ACIDトランザクション

AWS Dynamodbトランザクションは、 AWSアカウントとリージョン内のテーブルに渡り、開発者に不可分性、分離性、整合性、耐久性(ACID)の提供をします。

論理的なビジネスオペレーションとして、幾つものアイテムへの調整した入れ込み、削除、更新が必要となるアプリケーションを作成する時に、トランザクションを使用することが出来ます。

AWS Dynamodbを利用するメリット3点


AWS Dynamodbを利用する上で、知っておきたいメリットが3つあります。スケールに応じたパフォーマンスが可能である点、サーバー管理が不要である点、エンタープライズに対応している点です。

サービスを使いこなすためには、正しい知識を身につけて理解を深めることが大切です。それでは1つ1つ説明していきます。

メリット1:スケールに応じたパフォーマンスが可能

AWS Dynamodbを利用する上でのメリット1つ目は、スケールに応じたパフォーマンスが可能である点です。

AWS Dynamodbは、規模を問わず、コンマ数ミリ秒台での応答時間を一貫して実現させることによって、世界規模のアプリケーションをサポートしています。事実上制限の無いストレージとスループットでアプリケーションの構築が可能です。

AWS Dynamodbグローバルテーブルでは、世界規模に分散するアプリケーションデータに高速かつローカルにアクセス出来るよう、様々なAWSリージョンの間でデータのレプリケートをしています。

レイテンシーがコンマ数ミリ秒の高速アクセスが必要となるユースケースでは、AWS Dynamodb Accelerator(DAX)が、完全マネージド型であるインメモリキャッシュの提供をします。

メリット2:サーバー管理が不要

AWS Dynamodbを利用する上でのメリット2つ目は、サーバー管理が不要である点です。

AWS Dynamodbはサーバーレスのサービスなので、プロビジョニング、管理、パッチ適用をするサーバーは無く、インストール、運用、保守をするソフトウェアもありません。

AWS Dynamodbは、自動的にテーブルをスケールアップおよびダウンして容量を調整し、パフォーマンスの維持をします。可用性とフォールトトレランス機能が搭載されており、このような様々な機能があるため、アプリケーションの構築をする必要はありません。

またAWS Dynamodbでは、プロビジョンドやオンデマンドのキャパシティーモードがどちらも使用出来るため、ワークロードによって容量の指定をするか、使用するリソースの分のみを支払うかという、料金システムの最適化が出来ます。

メリット3:エンタープライズに対応

AWS Dynamodbを利用する上でのメリット3つ目は、エンタープライズに対応している点です。

AWS Dynamodbは、ビジネス的なアプリケーションを大きな規模で構築出来るようにACIDトランザクションのサポートをしています。

AWS Dynamodbは、デフォルトで全てのデータを暗号化していて、全てのテーブルに対して細かいIDとアクセスコントロールを提供します。

多くのデータを完全にバックアップし、テーブルのパフォーマンスへと影響を与えること無く、任意の時点に復元する事が可能です。さらに、ダウンタイムもありません。

AWS DynamodbのテーブルデータをAmazon S3のデータレイクへとエクスポートし、様々な規模での分析を実現することも可能となっています。また、AWS Dynamodbは可用性の保証をするための「サービスレベルアグリーメント」でもサポートがされています。

AWS Dynamodbの料金システム


AWS Dynamodbの料金システムについて説明します。AWS Dynamodbテーブルでのデータの読み取り、書き込み、保存、ユーザーが有効化したオプション機能によって料金が決まります。

AWS Dynamodのキャパシティーモードには「オンデマンド」と「プロビジョニング済み」の2種類です。また、各モードにおけるテーブルの読み書き処理に関して、別個で料金請求オプションがあります。

ここから、キャパシティーモードそれぞれにおける料金請求オプションの特徴について説明していきます。

オンデマンドキャパシティーモード

オンデマンドキャパシティーモードを使用している場合、AWS Dynamodの料金は、テーブルに対してアプリケーションが実行した、データの読み取りおよび書き込みに対して生じる形となります。

AWS Dynamodは、ワークロードの規模の変化へと瞬時に対応出来るため、アプリケーションで実行される読み取りや書き込みのスループット予測値の指定をする必要はありません。

オンデマンドキャパシティーモードは「未知のワークロードで新規テーブルの作成をする」「アプリケーショントラフィックの予測が出来ない」「使った分だけ支払う形の方が良い」というケースに適しています。

プロビジョニング済みキャパシティーモード

プロビジョニング済みキャパシティーモードは、アプリケーションに必要となるであろう1秒あたりの読み込みや書き込み回数の指定をします。

Auto Scalingを使うことで、指定した利用率によって自動的にテーブルのキャパシティーが調整されるので、アプリケーションのパフォーマンスを維持しつつ料金の削減が可能です。

プロビジョニング済みキャパシティーモードは「アプリケーショントラフィックの予測が出来る」「トラフィックが一定もしくは徐々に変動するアプリケーションを実行する」「必要となるキャパシティーを予想して料金のコントロールが出来る」というケースに適しています。

AWS Dynamodbを活用しよう


この記事では、AWS Dynamodbを利用する上でのメリットや料金システムについて説明しました。AWS Dynamodbには、スケールに応じたパフォーマンスが出来る、キャパシティーモードによって料金システムが異なるなどといった特徴があります。

興味を持たれた方は、是非とも実際にAWS Dynamodbを活用してみて下さい。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】