- NoSQLは素晴らしい…が、運用が大変
→ Managed サービス - DBMSへの要求は変わらない
- パフォーマンス
- 信頼性
- 所有コスト
- 管理コスト
##クラウドデータベースアーキテクチャ
- 書き込み ElastiCache
- 分析 redshift
- ログ s3
- 検索 CloudSearch
- 複雑なクエリ RDS
- Key/value
- Rich QUery
- クラウドのために設計
- 普遍的なチャレンジ+クラウドに最適化
- データベースに求められる変わらない要件
- NoSQL技術の制約を克服
- 高速性しかも安定した
- 可用性
- スケーラブル
- 堅牢性
- 管理作業なし
- 低コスト
- TP90 99.99% 1msec
- 書き込み
- 常にレプリケーションしながら永続化(SSD)
- 読み込み
- 強い整合性 or 結果整合性が選択可能
- 99.999%の可用性
- 少数精鋭、運用負担軽減
- DAU向上
- Elastic Beanstalkのインスタンス数↑
- DyanamoDBスループット↑
- だけ
- Dynamo
- データ
- Cache
- ランキング
- キャッシュ
- 1200億超のキー検索/日
- 1.5TB/Region
- 300億超/Region
- 平均3msec、10msec内99.95%
- DynamoDB料金よりエンジニアのお菓子大のほうが高いくらいw
- パーソナライズのためのアーキテクチャ
- リアルタイム情報を定期的にRedshiftへ→分析して書き戻し
- S3にファイル
- メタデータをDynamoDB
- Kinesis
- Dyanamo リアルタイム
- Redshift 分析
- s3 アーカイブ
- すべてのティアにほぼリアルタイムで流せる
- セッション管理
- バックプレーンを動かす
- ENtity-Rerationship
- Star/Snowflake
- Denormalize
- アプリケーションの高速化
- RDBMSの読み込みパフォーマンス最適化
- Memcached
- マルチノードクラスタ
- オートディスカバリ→運用負荷軽減
- 非永続化
- Redis
- リードレプリカ
- バックアップ・リストア
- 永続化オプション ※耐性は高くない
- 専門化 ワークロードに合わせて選択
- マネージドサービスを使えば複数のDBシステムを併用しても管理コストを気にしなくて良い
- 最適化 スケールする設計
- 自動化 マネージドサービス
- 余計な作業をなくさないと専門化難しい