38
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. NoSQL Database Strategy デイビッド ピアソン (David Pearson) ビジネス デベロップメント マネージャー July 17-18 Tokyo

NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

NoSQL Database Strategy

デイビッド ピアソン (David Pearson) ビジネス デベロップメント マネージャー

July 17-18 Tokyo

Page 2: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

データベースの進化

リレーショナル 分散 クラウド

RDBMS NoSQL テクノロジー

マネージド NoSQLサービス

Page 3: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

Compute Storage

AWS Global Infrastructure

Application Services

Deployment & Administration

Networking

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

スケーラブルで高パフォーマンス AWS上で利用可能な アプリケーションストレージ

AWSのデータベースサービス

Page 4: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

AWSの 価格哲学

更に 多くの お客様

規模の 経済

更に AWSを利用

更に インフラ が必要

価格 低減

インフラ コスト 低減

Page 5: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

AWSの サービス哲学

更なる お客様

更なる ユースケース

新機能と 新サービス

更なる チャレンジ

要件の 順位付け

Page 6: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

普遍的なチャレンジ

データベースに求められる要件で

変わらないもの

信頼性

パフォーマンス 所有コスト(TCO)

管理性

Page 7: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

RDBMS

伝統的なデータベースアーキテクチャ

ログ記録 リッチな検索

高スケールな 問い合わせ

集中する読み込み

分析 複雑なクエリと

トランザクション

ベストなデータベース

=扱いやすさ

Page 8: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

Data Tier

Cache Data

Warehouse Blob Store

RDBMS NoSQL Search

クラウドデータベースアーキテクチャ

ワークロードに応じて専門化

ログ記録

リッチな検索 高スケールな 問い合わせ

集中する読み込み

分析 複雑なクエリと

トランザクション

Page 9: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

Data Tier

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon S3

Amazon CloudSearch

Amazon Redshift

AWSのデータ層サービス

ログ記録 リッチな検索

高スケールな 問い合わせ

集中する読み込み

分析 複雑なクエリと

トランザクション

Page 10: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

選べるデータベースオプション

Cache Data

Warehouse RDBMS NoSQL

Amazon ElastiCache

Amazon DynamoDB

Amazon RDS

Amazon Redshift

Key/Value

Rich Query

Entity-Relationship

Star / Snowflake

Denormalized

Page 11: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

DynamoDB NoSQLデータベースサービス 保証されたパフォーマンスとスケーラビリティ

ElastiCache インメモリキャッシュサービス デプロイ、操作、スケールが簡単

高速で完全マネージド

Page 12: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

アプリケーションの

高速化

データベースの負荷を下げる

読み込みパフォーマンスを最適化

ELB App

External APIs

ElastiCache

Page 13: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

プロトコル準拠

マルチノードクラスタ

オートディスカバリ

非永続化

リードレプリカ

バックアップリストア

永続化オプション

ElastiCache

Redis

memcached

Page 14: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

クラウドのために設計

DynamoDB

クラウドに 最適化

データベースに求められる 要件で変わらないもの

普遍的な チャレンジ

NoSQL技術の 制約を克服

+

Page 15: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

基本コンセプト

DynamoDB

高速性

可用性

管理作業なし

スケーラブル

堅牢性

低コスト

Page 16: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

スケールしても 変わらないパフォーマンス

Page 17: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

single region

DynamoDB スケーラビリティ

処理リクエスト /月間

(単一リージョン)

Page 18: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

立証された 高い

信頼性 可用性

書き込み

常にレプリケーション しながら永続化 (SSD)

読み込み

強い整合性 or 結果整合性 (選択可)

99.999%の

可用性を求められる アプリケーションの

ために設計 (“five nines”) の可用性

Page 19: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

クラウド上のアプリケーション

ファイル& 写真共有

オンライン ゲーム

アドテク 投票

ソーシャル メディア

接続された デバイス

ステート 管理

ビデオ 配信

モバイル メッセージ

バックアップ & リストア

出版 地図

Page 20: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

投票

ソーシャル メディア

ビデオ 配信

モバイル メッセージ

バックアップ & リストア

出版 地図

ファイル& 写真共有

クラウド上のアプリケーション

Compelling use cases

Customer examples

Possible design starters

オンライン ゲーム

アドテク

接続された デバイス

ステート 管理

Page 21: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

オンラインゲーム

Page 22: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

AWSの利用: 人気のドット絵ファンタジー 「騎士とドラゴン」のインフラをAWSで運用

ビジネス効果: 少数精鋭で開発を行う中で、運用面の負担を最小化、ゲームの開発リソースを最大化

株式会社リプレーション様 短期間でのユーザー数の急上昇にも わずかなスケールパラメータの調整で対応

Page 23: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

アクティブユーザーがわずか6日間で 5,000/日から30,000/日に跳ね上がった時に行った作業 AWS Elastic Beanstalkのインスタンス数 ↑ Amazon DynamoDBのスループット ↑ だけ

Page 24: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

リーダーボード

データベース記録

よく使うカウンター

HTMLページ

ページ要素

ElastiCache

NoSQLを使った一般的なゲーム実装

ゲームデータ (書込中心)

プレイヤーデータ

成果

友だち

セッション

アプリ内購入

ゲーム状態保存

DynamoDB

Page 25: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

デジタル広告&マーケティング

共通のパターン

広告配信 再ターゲティング ID検索 ユーザー属性 重複排除 セッション追跡 リアルタイムビッド

Page 26: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

• 4リージョンを活用してトラフィックを処理

• 1200億超のキー検索/日(リアルタイムビディング)

• 1.5TB/リージョンのデータを格納

• 300億超/リージョンのレコードを格納

• 平均3ミリ秒以下の安定したクエリ応答速度 10ミリ秒以下の応答が99.95%

A global leader in retargeting More than 10,000 active

advertisers in >100 countries

DynamoDB

Page 27: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

スケールする設計=コストに最適化

Page 28: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

CloudFront

advertisement

impression logs

Static Repository Files

Amazon S3

Profiles Database

EC2 (MAZ)

ad request

ad url

Ad Servers

DynamoDB Elastic Load Balancing

visitor

new bids

updated profiles

Redshift

ETL

Amazon EMR

unstructured log files

Click-through Servers

click through log files

click through requests

Elastic Load Balancing

EC2 (MAZ)

new requests

広告配信 リファレンス

アーキテクチャ

Page 29: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

CloudFront

advertisement

impression logs

Static Repository Files

Amazon S3

Profiles Database

EC2 (MAZ)

ad request

ad url

Ad Servers

DynamoDB Elastic Load Balancing

visitor

new bids

updated profiles

Redshift

ETL

Amazon EMR

unstructured log files

Click-through Servers

click through log files

click through requests

Elastic Load Balancing

EC2 (MAZ)

広告配信 リファレンス

アーキテクチャ new requests

Page 30: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

セッション

userID

dateTime

属性

userID

adURL

sessions

ad url

ユーザー履歴

userID

dateTime

Redshift DynamoDB

Page 31: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

小売業

顧客の閲覧・購買パターンから カタログ内の商品をリコメンド表示

広告配信=パーソナライゼーション

Page 32: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

2009 2010 2011 2012 2013

Move to AWS

cameras

Switch to DynamoDB

シンプルなビデオ監視&セキュリティ

急激な成長 – “突然ペタバイト級に”

接続されたデバイス (Internet of Things)

Page 33: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

DynamoDBに切り替え、 従来5-10秒を要した ビデオイベントの配信が わずか50ミリ秒に

Page 34: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

急激な成長はよくあること

ログ記録 = 指数関数的ユースケース

GB/時が急激にGB/秒になることも

お客様 デバイス データアイテム アイテムサイズ 頻度

Page 35: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

スケールするログ記録

Kinesis

DynamoDB Redshift

S3

リアルタイム 分析

アーカイブ

Page 36: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

セッション管理

高速で堅牢なアプリケーションのバックプレーン

DynamoDB

Page 37: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

最後に… 専門化 – ワークロードに適したデータベースを

選択する (複数DBを併用しても良い)

最適化 – NoSQLアプリケーションのコストを

最小化するため、スケールする設計を行う

自動化 – マネージドサービスを上手に活用して

運用コストを下げる

Page 38: NoSQL Database Strategy · CloudFront advertisement impression logs Static Repository Files Amazon S3 Profiles Database EC2 (MAZ) ad request ad url Ad Servers DynamoDB

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Thank you

David Pearson [email protected]

July 17-18 Tokyo