AWSで適切なデータベースを使おう
おはようございます.
皆さんは要件によってDBの使い分け出来ていますか?
MySQLやpostgresのみしか使えないとなると,
最新の技術についていけません.
例えば,
「ユーザー検索の出来るアプリを作って欲しい」
と言われて無理やりSQLで書いていませんか?
構造の奥深い値を取るために,冗長なコードになってしまう可能性が非常に高いです.
その分,検索も遅くなります.
それなら,「NoSQLで用意されたメソッドで一発で取り出し」
なんかの方が遥かに効率的で,高性能です.
ということで,
今回はデータベースのお話です.
正直,私も全ては理解をしていなかったので,アウトプットにもなるので
わかりやすくまとめようと思います.
AWSにおけるデータベース
DBごとに詳細を別リンクに書いています.
一言で表すならこんな感じ.
RDS ... MySQL,postgresと互換性がある
DynamoDB ... 非SQL.莫大なデータ量の格納が可能
ElasticCache ... メモリをストレージとする超高速なアクセスが可能
Redshift ... 複雑なSQLを並列に処理することが可能.分析専門のDB
使用例
RDS ... アクセスが多いもの
DynamoDB ... 大量の検索や集計に適する
ElasticCache ... 高速で小さなデータを一時的に保存する
Redshift ... 大容量データを蓄積.データ分析によく使われる
最も適したDBを使いこなせるようにしましょう