web-dev-qa-db-ja.com

テーブルの作成後にグローバルセカンダリインデックスをdynamodbに追加できますか?

既存のdynamodbテーブルで、テーブルを変更してグローバルセカンダリインデックスを追加することは可能ですか? dynamodbコントロールパネルから、テーブルを削除して、グローバルインデックスで新しいテーブルを作成する必要があるようです。

22
user602525

編集(2015年1月)

はい、作成後にDynamoDBテーブルにグローバルセカンダリインデックスを追加できます。 「その場でのグローバルセカンダリインデックス」の here を参照してください。


古い回答(厳密には正しくなくなりました):

いいえ、テーブルの作成後に、テーブルのハッシュキー、範囲キー、およびインデックスを変更することはできません。ただし、テーブルの作成後に、ハッシュキー、範囲キー、インデックス付き要素ではない要素を簡単に追加できます。

UpdateTable AP​​Iドキュメントから:

UpdateTableを使用してインデックスを追加、変更、または削除することはできません。インデックスはテーブルの作成時にのみ定義できます。

可能な限り、現在および将来のクエリ要件を予測して、それに応じてテーブルとインデックスを設計するようにしてください。

必要に応じて、いつでもデータを新しいテーブルに移行できます。

22
rpmartz

アマゾンからメールが届きました:

Amazon DynamoDBをご利用のお客様

グローバルセカンダリインデックス(GSI)を使用すると、より効率的なクエリを実行できます。これで、テーブルの作成中だけでなく、いつでもテーブルにGSIを追加または削除できます。 GSIは、DynamoDBコンソールまたは単純なAPI呼び出しを介して追加できます。 GSIが追加または削除されている間も、DynamoDBテーブルはライブトラフィックを処理し、プロビジョニングされたスループットレベルで継続的なサービスを提供できます。オンラインインデックス作成の詳細については、 ブログを読む をご覧いただくか、技術的および運用上の詳細について ドキュメント ページにアクセスしてください。

オンラインインデックス作成について質問やフィードバックがある場合は、メールでお問い合わせください。

よろしくお願いいたします。AmazonDynamoDBチーム

20
John Boker

AWSの最新情報によると、既存のテーブルのGSIサポートはまもなく追加されます

AWSフォーラムの公式声明

3
Anatoliy