Dynamodb-basic-concepts

提供:Dev Guides
移動先:案内検索

DynamoDB-基本概念

DynamoDBを使用する前に、その基本的なコンポーネントとエコシステムに精通する必要があります。 DynamoDBエコシステムでは、テーブル、属性、アイテムを操作します。 テーブルにはアイテムのセットが保持され、アイテムには属性のセットが保持されます。 属性は、さらに分解する必要のないデータの基本要素、つまりフィールドです。

主キー

主キーはテーブルアイテムを一意に識別する手段として機能し、セカンダリインデックスはクエリの柔軟性を提供します。 DynamoDBストリームは、テーブルデータを変更することにより、レコードイベントをストリーミングします。

テーブルの作成では、名前を設定するだけでなく、主キーも設定する必要があります。テーブル項目を識別します。 キーを共有するアイテムは2つありません。 DynamoDBは2種類の主キーを使用します-

  • パーティションキー-この単純なプライマリキーは、「パーティションキー」と呼ばれる単一の属性で構成されます。内部的に、DynamoDBはハッシュ値の入力としてキー値を使用してストレージを決定します。
  • パーティションキーとソートキー-このキーは「複合プライマリキー」と呼ばれ、2つの属性で構成されています。
  • パーティションキーと
  • ソートキー。 + DynamoDBは最初の属性をハッシュ関数に適用し、同じパーティションキーを持つアイテムを一緒に保存します。ソートキーによって順序が決定されます。 アイテムはパーティションキーを共有できますが、ソートキーは共有できません。

主キー属性では、スカラー(単一)値のみが許可されます。文字列、数値、またはバイナリのデータ型。 非キー属性にはこれらの制約はありません。

二次インデックス

これらのインデックスにより、代替キーを使用してテーブルデータをクエリできます。 DynamoDBは使用を強制しませんが、クエリを最適化します。

DynamoDBは2種類のセカンダリインデックスを使用します-

  • グローバルセカンダリインデックス-このインデックスにはパーティションキーとソートキーがあり、テーブルキーとは異なる場合があります。
  • ローカルセカンダリインデックス-このインデックスはテーブルと同じパーティションキーを持っていますが、ソートキーは異なります。

API

DynamoDBが提供するAPI操作には、コントロールプレーン、データプレーン(作成、読み取り、更新、削除など)、およびストリームの操作が含まれます。 コントロールプレーンの操作では、次のツールを使用してテーブルを作成および管理します-

  • CreateTable
  • DescribeTable
  • ListTables
  • UpdateTable
  • DeleteTable

データプレーンでは、次のツールを使用してCRUD操作を実行します-

Create Read Update Delete

PutItem

BatchWriteItem

a

GetItem

BatchGetItem

問い合わせ

Scan

UpdateItem

DeleteItem

BatchWriteItem

ストリーム操作はテーブルストリームを制御します。 次のストリームツールを確認できます-

  • ListStreams
  • DescribeStream
  • GetShardIterator
  • GetRecords

プロビジョニングされたスループット

テーブルの作成では、プロビジョニングされたスループットを指定します。これにより、読み取りおよび書き込み用のリソースが予約されます。 容量単位を使用して、スループットを測定および設定します。

アプリケーションが設定されたスループットを超えると、要求は失敗します。 DynamoDB GUIコンソールを使用すると、設定済みおよび使用済みのスループットを監視して、より優れた動的なプロビジョニングを実現できます。

一貫性の読み取り

DynamoDBは、動的アプリケーションのニーズをサポートするために、 _ eventually consistent_ および strongly consistent 読み取りを使用します。 最終的に一貫した読み取りでは、常に現在のデータが配信されるとは限りません。

強い整合性のある読み取りは、常に最新のデータを提供します(機器の障害またはネットワークの問題を除く)。 最終的に整合性のある読み取りがデフォルト設定として機能し、 ConsistentRead パラメーターをtrueに設定して変更する必要があります。

パーティション

DynamoDBは、データストレージにパーティションを使用します。 これらのテーブルのストレージ割り当てには、SSDバッキングがあり、ゾーン間で自動的に複製されます。 DynamoDBはすべてのパーティションタスクを管理するため、ユーザーの関与は必要ありません。

テーブルの作成では、テーブルはCREATING状態になり、パーティションが割り当てられます。 ACTIVE状態に達すると、操作を実行できます。 システムは、容量が最大に達するか、スループットを変更するとパーティションを変更します。