DynamoDB-概要

DynamoDBを使用すると、ユーザーは、任意の量のデータを保存および取得し、任意の量のトラフィックを処理できるデータベースを作成できます。データとトラフィックをサーバーに自動的に分散して、各顧客の要求を動的に管理し、高速なパフォーマンスを維持します。

DynamoDBとRDBMS

DynamoDBはNoSQLモデルを使用します。つまり、非リレーショナルシステムを使用します。次の表は、DynamoDBとRDBMSの違いを示しています-

一般的なタスク RDBMS DynamoDB
Connect to the Source 持続的接続とSQLコマンドを使用します。 HTTPリクエストとAPI操作を使用します
Create a Table その基本構造はテーブルであり、定義する必要があります。 主キーのみを使用し、作成時にスキーマを使用しません。さまざまなデータソースを使用します。
Get Table Info すべてのテーブル情報は引き続きアクセス可能です 主キーのみが表示されます。
Load Table Data 列で構成された行を使用します。 テーブルでは、属性で作られたアイテムを使用します
Read Table Data SELECTステートメントとフィルタリングステートメントを使用します。 GetItem、Query、およびScanを使用します。
Manage Indexes SQLステートメントで作成された標準インデックスを使用します。これに対する変更は、テーブルが変更されると自動的に行われます。 同じ機能を実現するためにセカンダリインデックスを使用します。仕様(パーティションキーとソートキー)が必要です。
Modify Table Data UPDATEステートメントを使用します。 UpdateItem操作を使用します。
Delete Table Data DELETEステートメントを使用します。 DeleteItem操作を使用します。
Delete a Table DROPTABLEステートメントを使用します。 DeleteTable操作を使用します。

利点

DynamoDBの2つの主な利点は、スケーラビリティと柔軟性です。特定のデータソースと構造の使用を強制することはなく、ユーザーは事実上すべてのものを操作できますが、統一された方法で作業できます。

その設計は、より軽いタスクや操作から要求の厳しいエンタープライズ機能まで、幅広い使用をサポートします。また、Ruby、Java、Python、C#、Erlang、PHP、Perlなどの複数の言語を簡単に使用できます。

制限事項

DynamoDBには特定の制限がありますが、これらの制限が必ずしも大きな問題を引き起こしたり、確実な開発を妨げたりするわけではありません。

以下の点から確認できます−

  • Capacity Unit Sizes−読み取り容量の単位は、4KB以下のアイテムの1秒あたりの単一の一貫した読み取りです。書き込み容量の単位は、1KB以下のアイテムの1秒あたり1回の書き込みです。

  • Provisioned Throughput Min/Max−すべてのテーブルとグローバルセカンダリインデックスには、少なくとも1つの読み取りおよび1つの書き込み容量ユニットがあります。最大値は地域によって異なります。米国では、40Kの読み取りと書き込みがテーブルあたりの上限(アカウントあたり80K)のままであり、他の地域ではテーブルあたり10Kの上限があり、アカウントの上限は20Kです。

  • Provisioned Throughput Increase and Decrease −これは必要に応じて何度でも増やすことができますが、減少はテーブルごとに1日4回以下に制限されたままです。

  • Table Size and Quantity Per Account −テーブルサイズに制限はありませんが、より高い上限を要求しない限り、アカウントには256テーブルの制限があります。

  • Secondary Indexes Per Table −ローカル5つとグローバル5つが許可されます。

  • Projected Secondary Index Attributes Per Table −DynamoDBは20個の属性を許可します。

  • Partition Key Length and Values −最小長は1バイト、最大長は2048バイトですが、DynamoDBでは値に制限はありません。

  • Sort Key Length and Values −その最小長は1バイト、最大長は1024バイトであり、テーブルでローカルセカンダリインデックスを使用しない限り、値に制限はありません。

  • Table and Secondary Index Names −名前は、長さが3文字以上、255文字以内である必要があります。AZ、az、0〜9、「_」、「-」、および「。」の文字を使用します。

  • Attribute Names −キーと特定の属性を除いて、1文字が最小で、64KBが最大のままです。

  • Reserved Words − DynamoDBは、名前としての予約語の使用を妨げません。

  • Expression Length−式の文字列には4KBの制限があります。属性式には255バイトの制限があります。式の置換変数には2MBの制限があります。