ビッグデータ
クラスタリング
複数サーバーで1つのデータベースを構成
クラウドベンダーに任せる
シャーディング
データベースを分ける
複数データベースでのテーブル結合、トランザクション等で問題が生じるので使わない
NoSQL
スケーラビリティ
RDBMS: 低い(基本的にスケールアップ)
NoSQL: 高い(基本的に水平スケールアウト)
DynamoDB
1日あたり10兆以上(ピーク時には、1秒あたり2,000 万以上)のリクエストにスケーリングすることができる
KeySchema: HASHとRANGEのキーを指定する
AttributeDefinitions: キーとインデックスに使用するカラムを指定する
GlobalSecondaryIndexes: 20個まで作成できる(KeySchemaと異なるHASHキーと異なるRANGEキー)
LocalSecondaryIndexes: 5個まで作成できる(KeySchemaと同じHASHキーと異なるRANGEキー)
キーとインデックスに使用しないものはAttributeDefinitionsに定義不要