2017-03-02 17 views
0

私は最近、AWSを使用しているため、DynamoDBを使用して新しいアプリケーションを構築することを任されたMSSQL開発者であり、高度にスケーラブルなデータベースサービスが必要でした。AWS DynamoDBテーブルにスキーマ制約を適用する方法はありますか?

私の最大の関心事はデータの完全性です。たとえば、すべての行にユーザー名、電子メール、および名前フィールド、すべての文字列、および検証済みのフィールドがintである必要があるすべてのユーザー用のテーブルがあります。とにかく、そのテーブル内のすべてのエントリにこれらのフィールドを持ち、その特定のタイプになるように要求していますか?

アプリケーションはPHPのため、私はORMとしてKettleを使用していますが、データの整合性が損なわれないようにすべきですが、別の開発者が別のアプリケーションを追加した場合や、コンソール。 https://github.com/inouet/kettle

答えて

1

現時点では、基本表のキーではない属性の存在に関するアイテムの整合性を維持する責任はお客様にあります。しかし、LSIとGSIを使用して、属性のデータ型を強制することができます(これは推奨パターンではありませんが、値の範囲が小さい属性の場合は特にパーティションの発熱を引き起こす可能性があります)。たとえば、検証には0または1だけの値が必要なようです。したがって、PK = verifiedでGSIを作成した場合、verifyがNumberの場合、検証済みGSIによってベーステーブルへの書き込みが抑制される可能性があります。

関連する問題