Amazon DynamoDB

公開日時:2020年12月03日 / 最終更新日時:2021年11月14日

■DynamoDB の特徴

DynamoDB の特徴

 

NoSQL とは

リレーショナルデータベース以外のデータベースを NoSQL というようです。

KVS(Key-Value Store)は NoSQL の中の1つです。

 

 

DynamoDBとRDB(リレーショナルデータベース)の違いについて

そもそも DynamoDB と RDB(リレーショナルデータベース)との違いについてですが、DynamoDBは「非リレーショナル」「スキーマレス」であることが言えます。

 

スキーマの意味が「DBの構造を定義したもの」という意味なら、スキーマレスとは「DBの構造を定義していないもの」ということになります。

 

 

リレーショナルデータベース(MySQL、PostgreSQL、Oracle、SQL Server等)の場合

リレーショナルデータベースは、各テーブルを正規化して分割し、共通のキーを元に結合します。

そして欲しいテーブル(表)を作成します。

データは柔軟にクエリできるが、クエリは比較的コストが高くなります。

 

DynamoDB の場合

外部キーを使って各テーブルを結合して目的のテーブルを作るというような考え方はなく、非正規化によりテーブルを少なく構成し、パフォーマンス向上などを目的にアクセス頻度を減らすように設計します。

データは限られた数の方法で効率的にクエリできるが、その範囲外でのクエリになると高コストで低速になります。

 

つまり、ここで目的が異なっているということなんですね。

 

Amazon DynamoDB / NoSQL 設計

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/bp-general-nosql-design.html#bp-general-nosql-design-vs-relational

 

設計の仕方について

 

 

 

 

DynamoDB が保存できるデータ型

 

 

DynamoDB の使いどころ

■DynamoDB の使いどころ

Amazon DynamoDB

 

 

■DynamoDB のクロスリージョンレプリケーションについて

 

 

 

■Dynamo DB が苦手とする処理

 

 

 

 

■DynamoDB の整合性モデル

 

■結果的に整合性のある読み込みの特徴

 

■強い整合性の特徴

 

 

グローバルテーブルについて

グローバルテーブルを設定すると、リージョンにまたがり(マルチリージョンで)DynamoDB テーブル間のデータを自動的にレプリケートできるようになります。

 

グローバルテーブルの設定方法

以下の設定で DynamoDB テーブル間のデータ変更を自動的にレプリケートするようになります。

  1. DynamoDB Streamsを有効化します。
  2. 設定したいリージョンにも同じテーブルを作成します。
  3. 設定したい全てのリージョンに作成された DynamoDB テーブルに対してグローバルテーブルを設定します。テーブルの利用を許可する AWS リージョンを指定します。)

 

 

グローバルテーブルを作成する前に DynamoDB Streams を有効化する必要があります。

 

 

 

 

DynamoDB TTL(Time to Live、有効期限)

Amazon DynamoDB 有効期限(TTL)では、項目ごとのタイムスタンプを定義して、項目が不要になる時期を特定できます。指定されたタイムスタンプの日付と時刻の直後に、DynamoDB は書き込みスループットを消費することなく、テーブルから項目を削除します。TTL は、ワークロードのニーズに合わせて最新の状態に保たれている項目のみを保持することで、保存されたデータボリュームを削減する手段として、追加料金なしで提供されます。

 

 

 

Amazon DynamoDB Accelerator (DAX)

■Amazon DynamoDB Accelerator (DAX) の特徴

 

DynamoDB Streams(DynamoDB ストリーム)

 

ストリームレコードを書き込むタイミング

アプリケーションがテーブル内のアイテムを作成、更新、または削除するたびに、DynamoDB ストリームは変更されたアイテムの主キー属性を使⽤してストリームレコードを書き込みます。

ストリームレコードには、DynamoDB テーブル内の単⼀のアイテムに対するデータ変更に関する情報が含まれています。

変更されたアイテムの「変更前」「変更後」のイメージなど、ストリームレコードが追加情報をキャプチャするようにストリームを構成できます。

 

 

DynamoDB Streams の設定

以下の設定の確認です。

デフォルトでは「ストリーム有効」「いいえ」になっています。

 

 

 

ストリームの管理より以下の表示タイプを設定できます。

 

 

 

グルーバルテーブルを作成する前に、DynamoDB Streams を「有効化」する必要があります。

 

 

 

DynamoDB Auto Scaling

 

 

 

 

AWS 認定試験の勉強方法

最近はコロナ禍という状況が影響しているのかどうか分かりませんが、勉強や学習意欲が非常に高くなっています。

インフラエンジニアとして AWS をメインに業務を行っていることもあり、毎日 AWS 認定試験の試験勉強をしています。

資格について IT エンジニアの場合は実績が重要なので資格は必要ないという意見もありますが、個人的には資格取得の勉強をすることにより

というメリットを感じています。

 

 

AWS 認定試験についは、Udemy を利用して飽きずに楽しく勉強しています。

世界最大級のオンライン学習サイトUdemy

 

■Udemy のメリット

大量に問題があるので、飽きずに楽しく勉強ができます。

私の場合はテキストを読んで勉強することが非常に苦手ですぐに飽きてしまします。

しかし Udemy の大量の模擬試験問題集を解き、解答を確認して、不明な点は AWS の公式サイトを確認して学習しているので、集中して学習を続けることができます。

とにかく大量の問題を解くことが私にとって学習を続けられる唯一の方法のような気がします。

 

ちなみに Udemy ではたまにプレゼント企画もやっています。

先日は1つの講座を申し込んだ際に「How to Learn: Effective Approaches for Self-Guided Learning」の講座を無料で受講することが出来ました。

 

 

 

 

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Secured By miniOrange