勉強前イメージ
データベース....しかわからない....
RDSとかと何が違うんだろうね。
調査
DynamoDBとは
フルマネージド型のNoSQLデータベースクラウドサービスです。
NoSQLデータベース
とは非リレーショナルデータベースとも呼ばれ、
RDSで使用されている、スキーマ定義が必要なリレーショナルデータベースとは違い、
非定型な構造を持つデータを柔軟に管理することができます。
NoSQLデータベースとは
Not Only SQL の略です。
リレーショナルデータベースとは違い、ビッグデータに対応すべく生み出された技術でSQLを使用しないということが特徴です。
DynamoDBだけでなく、GoogleのBigTableもNoSQLデータベースに当たります。
DynamoDBの特徴
- ストレージは必要に応じて自動的にパーティショニングされる
分散型アーキテクチャーが採用されており、テーブルのデータをパーティションに小分けして割り当てられています。
パーティションは、設定した値以上になったり容量がいっぱいになったりしたら自動で追加され、ほぼ無限で容量を増やすことができ、また一貫したパフォーマンスを維持することができます。
- データの格納と取得に特化し、結合などは不得意
- 値とキーだけを格納するというシンプルな機能
NoSQLの特徴でもあり、その中のキーバリューストア型の機能になります。
単純なデータ構造だからこそ応答速度が速い。
- 1桁ミリ秒単位のレイテンシーを要求するアプリケーションにも対応
またNoSQLの特徴でもありますが、RDSよりデータ構造が単純なため
数ミリ秒単位での応答速度も可能になり、モバイル・ウェブ・ゲームなどで使われています。
- データは3箇所のAZに保存される
SPOFが存在しないので、可用性・堅牢性ともに高くなります
勉強後イメージ
そもそものデータの管理の仕方から違った。
RDSは結構色々組み合わせてSQLで出すのが得意。
DynamoDBはキーとバリューだけを早く出すのが得意。
速さが必要だったり、容量がほぼ無限なのがメリット。