メニュー
Amazon DynamoDB
開発者ガイド (API バージョン 2012-08-10)

使用に関する注意事項

エンドポイントを除き、ダウンロード可能なバージョンの DynamoDB で実行するアプリケーションは DynamoDB ウェブサービスでも動作します。ただし、DynamoDB をローカルで使用する場合は、以下に注意する必要があります。

  • -sharedDb オプションを使用すると、DynamoDB は shared-local-instance.db という名前の単一のデータベースファイルを作成します。DynamoDB に接続するプログラムはいずれも、このファイルにアクセスします。このファイルを削除すると、保存したデータはすべて失われます。

  • -sharedDb を省略する場合のデータベースファイルの名前は、myaccesskeyid_region.db で、アプリケーション設定に表示されるとおりの AWS アクセスキー ID とリージョンが使用されます。このファイルを削除すると、保存したデータはすべて失われます。

  • -inMemory オプションを使用した場合、DynamoDB はデータベースファイルの書き込みを行いません。代わりに、すべてのデータがメモリに書き込まれ、DynamoDB を終了するときにデータは保存されません。

  • -optimizeDbBeforeStartup オプションを使用した場合は、-dbPath パラメータも指定し、DynamoDB がそのデータベースファイルを見つけられるようにする必要があります。

  • DynamoDB の AWS SDK では、アプリケーション設定でアクセスキーの値と AWS リージョンの値を指定する必要があります。-sharedDb または -inMemory オプションを使用している場合を除き、DynamoDB はこれらの値を使用してローカルデータベースファイルに名前を付けます。

    これらの値は、ローカルで動作する有効な AWS 値である必要はありません。ただし、使用しているエンドポイントを変更するだけで、クラウドでもコードを実行できるように、有効な値を使用する方が便利な場合があります。

ダウンロード可能な DynamoDB と DynamoDB ウェブサービスの違い

ダウンロード可能バージョンの DynamoDB は、開発とテストの目的専用です。これに対して、DynamoDB ウェブサービスは、拡張性、可用性、耐久性を特長とする本稼働環境用に最適なマネージド型サービスです。

ダウンロード可能なバージョンの DynamoDB とウェブサービスは、次の点で異なります。

  • リージョンと個別の AWS アカウントは、クライアントレベルでサポートされません。

  • プロビジョニングされたスループット設定は、ダウンロード可能な DynamoDB で無視されます。ただし、この設定は CreateTable オペレーションで必要です。CreateTable の場合、プロビジョニングされた読み込みおよび書き込みスループットに対して任意の数値を指定できます。ただし、この数値は使用されません。UpdateTable は 1 日に必要な回数呼び出すことができます。ただし、プロビジョニングされたスループット値に対する変更はいずれも無視されます。

  • Scan 操作が連続的に行われます。並列スキャンはサポートされていません。SegmentTotalSegments パラメータ (Scan オペレーション) は無視されます。

  • 読み込みおよび書き込みオペレーションの速度は、コンピュータの速度によってのみ制限を受けます。CreateTableUpdateTable、および DeleteTable オペレーションはすぐに実行されます。テーブルの状態は常に ACTIVE です。テーブルや グローバルセカンダリインデックス でプロビジョニングされたスループット設定のみを変更する UpdateTable オペレーションは、すぐに実行されます。UpdateTable オペレーションが グローバルセカンダリインデックス を作成または削除する場合、それらのインデックスは、通常の状態 (CREATING や DELETING など) に移行してから ACTIVE 状態になります。この間、テーブルは ACTIVE のままになります。

  • 読み込みオペレーションには結果整合性があります。ただし、コンピュータで実行されている DynamoDB の速度が原因で、ほとんどの読み込みに強い整合性があるように見えます。

  • 消費されたキャパシティーユニットは追跡されません。オペレーションレスポンスでは、キャパシティーユニットの代わりに、null が返されます。

  • 項目コレクションのメトリクスや項目コレクションのサイズは追跡されません。オペレーションレスポンスでは、項目コレクションのメトリクスの代わりに、null が返されます。

  • DynamoDB では、結果セットごとに、返されるデータに 1 MB の制限があります。 DynamoDB ウェブサービスとダウンロード可能バージョンのいずれにもこの制限が適用されます。ただし、インデックスのクエリを実行しているとき、DynamoDB サービスは、射影されたキーと属性のサイズのみを計算します。一方で、ダウンロード可能バージョンの DynamoDB は、項目全体のサイズを計算します。

  • DynamoDB ストリーム を使用している場合、シャードが作成される速度が異なる可能性があります。ウェブサービス DynamoDB では、シャードの作成動作は部分的にテーブルパーティションアクティビティの影響を受けます。ローカルで DynamoDB を実行している場合は、テーブルパーティションがありません。どちらの場合も、シャードはエフェメラルのため、アプリケーションがシャードの動作の影響を受けることはありません。