AWSの各種DBの使用感
 Author: 水卜

RDS

マネージドRDB。

mysqlだとreadonlyみたいにできる。

重い処理をmasterに投げるとmasterがとまるのでreadreplicaを作ってそっちに投げる。

あくまでも使えるのはactive-masterとreadreplica-standbyのみ

Aurora

ベースはmysqlかpostgreSQL。

3AZに分散してストレージレイヤを共有しているため障害に強い。

64TBまでシームレスにスケール。かなり多い。

Redshift

postgresqlベースでamazonが改造したもの。

コスト効率が高い。スモールスタートできる。

リーダーノードにクエリを投げると、中でc++が動いており、コンピュートノードにデータを渡し、処理を指示、分散処理する。

設計がむずい。キー設計がいけてないとネットワークをまたいでjoinしなくてはならず遅くなる

同時アクセス25。実運用に耐えるのは25。ほんとはもっといける。

redshiftでバッチ処理してrdsにコピーして公開、tableauとかで分析する使い方があってる。

短いレイテンシには向いてない。

Dynamo DB

amazon.comのショッピングカート用に作られた。

スケーラブルなアクセスが来るときに向いてる。

所詮キーバリューストアなので、RDSみたいにjoinとかできない。できなくはないけど遅い。

Dynamo DB Accelerator(DAX)

読み書きのたびに金がかかるdynamoDBのデータをキャッシュし、DAXから返すことでコスト削減。

過去24hの履歴を保存してくれる。

dynamoはトランザクションができないが、不整合が起きたらロールバックできる。

Elasti Cache

フルマネージドなredis
コストの高いクエリ結果をelasticacheに保存し、スパイクが発生してもすぐレスポンスするようにできる。