SlideShare a Scribd company logo
【初心者向けWebinar】
AWSでのNoSQLの活用
2015/07/14
アマゾン データ サービス ジャパン株式会社
ソリューションアーキテクト 森 祐孝
初心者向けWebinarのご紹介
• AWSについてこれから学ぶ方向けのソリューション
カットの技術Webinarです。
• 過去のWebinar資料
– AWSクラウドサービス活用資料集ページにて公開
http://aws.amazon.com/jp/aws-jp-introduction/
• イベントの告知
– 国内のイベント・セミナースケジュールページにて告知
http://aws.amazon.com/jp/about-aws/events/
(オンラインセミナー枠)
アジェンダ
• Introduction
• 基本的なサービスのご紹介
• NoSQLとRDB
• AWS環境でのNoSQL
• まとめ
アジェンダ
• Introduction
• 基本的なサービスのご紹介
• NoSQLとRDB
• AWS環境でのNoSQL
• まとめ
Introduction
• Amazon Web Service(AWS)では、様々なデータ
ベースサービスを提供しています。データベースサービ
スの中でNoSQLサービスにフォーカスし、NoSQLに関
する機能やRDBMSとの違いを紹介致します
• 現在NoSQLはRDBMSでは処理し辛い領域を補いながら
活用されており、NoSQLサービスの典型的な使い方や
使いどころについて紹介いたします
アジェンダ
• Introduction
• 基本的なサービスのご紹介
• NoSQLとRDB
• AWS環境でのNoSQL
• まとめ
基本的なAWS上でのWeb+DBサーバの構成
• よくある構成
– DNSサーバ
– Load Balancer (LB)
– WEBサーバ
– DBサーバ
– CDN+Origin
Availability Zone Availability Zone
Clients
• AWSのリージョン内の区分け
• 地域的に近いデータセンタ群
• リージョン内のAZは、同時障害の確
率が低くなる様に設計
• 2箇所が同時に障害になること
はほぼない
• 複数のAZを利用する構成にすること
でサービスの可用性を上げられる
Availability Zone (AZ)
基本的なAWS上でのWeb+DBサーバの構成
Clients
Availability Zone Availability Zone
Clients
Availability Zone
Amazon EC2
Availability Zone
• クラウド上の仮想サーバ
• 用途に応じた様々なタイプ
• CPU重視、メモリ重視、等
• 1時間単位の従量課金
• 不要になったら止めればいい
• 様々なOSを選択可能
• Window Server、Redhat、
CentOS等
• イメージを保存して複製できる
• 簡単バックアップ
• 必要な時にすぐサーバ追加可能
Amazon Elastic Compute Cloud
(EC2)
基本的なAWS上でのWeb+DBサーバの構成
Clients
Availability Zone Availability Zone
• クラウド上のRDBMS
• MySQL, PostgreSQL,
ORACLE, SQLServerから選択可
• 用途に応じた様々なタイプ
• スタンダード、メモリ重視、等
• 1時間単位の従量課金
• タイプ変更も単価が変わるだけ
• AWSのマネージドサービス
• バックアップや障害時自動切替
• 高度な運用スキルは必要ない
Amazon RDS
Amazon Relational Database Services
(RDS)
基本的なAWS上でのWeb+DBサーバの構成
Clients
Availability Zone Availability Zone
• クラウド上の負荷分散機
• 複数のEC2にリクエストを分散
• ヘルスチェックで可用性もUP
• 負荷状況に応じて自動でスケール
• ELB自体が自動で拡大・縮小
• 1時間単位の従量課金
• 不要になったら止めればいい
• API、機能毎にELB分けても安価
• AWSのマネージドサービス
• LB運用はAWSにお任せ
Elastic Load
Balancing
Elastic Load Balancing (ELB)
基本的なAWS上でのWeb+DBサーバの構成
Clients
Availability Zone Availability Zone
• クラウド上のオブジェクトストレージ
• 無限に置けるファイル置き場
• 複数AZに自動で複製する耐久性
• S3単体でHTTPのファイル配信も
• 画像や動画などのアセット配信
• 静的サイトならEC2不要
• 使った分だけの従量課金
• AWSのマネージドサービス
• ファイル置き場にもう悩まない
Amazon S3
Amazon Simple Storage Service (S3)
基本的なAWS上でのWeb+DBサーバの構成
Clients
Availability Zone Availability Zone
• クラウド上のCDN
• 静的ファイルを高速配信する
ネットワーク
• 自動で近くのエッジサーバから
配信
• S3をオリジンに設定することも
• S3との通信は無料
• 使った分だけの従量課金
• AWSのマネージドサービス
Amazon CloudFront
CloudFront
基本的なAWS上でのWeb+DBサーバの構成
Clients
Availability Zone Availability Zone
• クラウド上のDNSサービス
• 独自ドメインのレコードを設定
• API経由でも簡単操作
• 使った分だけの従量課金
• AWSのマネージドサービス
Amazon Route 53
Amazon
Route 53
基本的なAWS上でのWeb+DBサーバの構成
AWS SDKs and CLI
• 各種言語むけのオフィシャルSDKやCLIを利用
Java Python PHP .NET Ruby nodeJS
iOS Android
Javascript
in the Browser AWS CLI
アジェンダ
• Introduction
• 基本的なサービスのご紹介
• NoSQLとRDB
• AWS環境でのNoSQL
• まとめ
NoSQL?
「NoSQL(一般に”Not only SQL”と解釈される)とは、
リレーショナルデータベース管理システム (RDBMS) 以外
のデータベース管理システムを指すおおまかな分類語であ
る。リレーショナルデータベースをやみくもに使用してき
た長い歴史を打破し、それ以外のデータベースの利用・発
展を促進させようとする運動の標語としての意味合いを持
つ。」
NoSQL - ウィキペディア
https://ja.wikipedia.org/wiki/NoSQL
RDBMS?
• データは表形式で保存
• データベース言語SQLを利用してデータを操作
• トランザクション処理
– 関連付けられた複数の処理が「すべて成功」か「すべて失敗」のどちらかであ
ることを保証
• データ一貫性
• スケールアウトが困難
– 高負荷時、アクセスが集中した場合、構造的にスケールアウトが難しいのでレ
イテンシを稼ぐのが難しい
NoSQL
• RDBMSではないデータストアの特徴
– 固定されたスキーマに縛られないこと
– 関係モデルの結合操作を利用しないこと(場合によっては単に
そのような機能が欠落しているだけ)
– 水平スケーラビリティが確保しやすい事が多いこと
– トランザクションを利用できないものが多いこと
NoSQL - ウィキペディア
https://ja.wikipedia.org/wiki/NoSQL
よく見かけるNoSQLデータベース
• Neo4j
• Couchbase
• DynamoDB
• Redis
• MongoDB
• Riak
• HBase
• Cassandra
• BigTable
• HyperTable
NoSQLの4つのデータモデル
• キーバリューストア(Key-Value Store)
– キーに対してバリュー(値)という単純な構造
– 高速なパフォーマンスとデータ分散が行えるため拡張性に優れている
– データの読込がRDBと比較して高速であることが特徴
– 例)Riak、Redis
• カラムストア(Column Store)
– ワイドカラムストア(Wide-column Store)とも呼ばれます
– 列指向とも言われることもありますが、データはRDBのようにレコード(行)で管理
される。アクセスはキーバリューと同じようにキーを使用して列単位
– 非定型の大規模データを格納することを主な目的としており、行ごとに任意の名前の
カラム(列)を無数に(時には1行に数百万カラム)格納でき、RDBより柔軟性とパ
フォーマンス、拡張性で優れていていると言われ、データの書き込みが高速であるこ
とが特徴です
– 例)HBase、BigTable
NoSQLの4つのデータモデル
• ドキュメントデータベース(Document Database)
– キーに対してバリューではなく、 JSONやXMLのスキーマレスでデータ構造が柔軟な
より、複雑なドキュメントとしてデータを格納
– 複雑なデータ構造を扱うアプリケーションにおいては、生産性高く柔軟に開発できる
メリットがありる
– 例)MongoDB、CouchDB
• グラフデータベース(Graph Database)
– グラフ理論に基づき、相互に結びついた要素で構成され、それぞれの間に任意の数の
結びつきのあるデータ同士の関係をグラフとして表すのが適切なデータを対象とする
ように設計
– グラフデータベースは、従来のRDBでは不可能だった形でデータの関係をモデル化し
探索するのに役立つように作られており、データをグラフ型で格納した場合、RDBと
比較して高速に横断検索をすることが可能
– 例)Neo4J、Polyglot
NoSQL vs RDBMS
トランザクション特性
➔BASE
得意/メリット
➔スケーラビリティ
不得意/デメリット
➔複雑なクエリ
➔トランザクション
トランザクション特性
➔ACID
得意/メリット
➔柔軟なクエリ
➔トランザクション
不得意/デメリット
➔スケーラビリティ
NoSQL RDBMS
ACID?
Atomicity、Consistency、Isolation、Durability
• 原子性(atomicity、不可分性)
– トランザクションに含まれるタスクが全て実行されるか、あるいは全く実行されない
ことを保証する性質
• 一貫性(consistency)
– トランザクション開始と終了時にあらかじめ与えられた整合性を満たすことを保証す
る性質
– 整合性条件を満たさない状態を起こすようなトランザクションは実行が中断
• 独立性(isolation)
– トランザクション中に行われる操作の過程が他の操作から隠蔽
• 永続性(durability)
– トランザクション操作の完了通知をユーザが受けた時点で、その操作は永続的となり、
結果が失われないこと
BASE?
Basically Available, Soft-state,
Eventually consistent
• 主に分散システム上でのスケーラビリティを確保するた
めに厳密なトランザクションをあきらめている
– Basically Available:サービス提供中であっても、古いデータが返ることや、
データ更新作業のためにクエリが失敗する可能性がある
– Soft-state:入力がない状態でも、結果整合性をたもつためのデータ更新作業に
より、状態の変化がある可能性がある
– Eventually consistent:データ更新モデルは結果整合性が取られており、入力後
の即時更新は保証されない
• すべてのNoSQLが完全にBASEとは限らない(実装によ
る)
NoSQLの使いドコロ?
RDBMS vs. NoSQL
• 日本ではSQL対応のデータベース(RDBMS)が多用されて
いる。
– RDBMSによる:
トランザクション処理 or 分析処理(データウェアハウス)
– ACID属性 vs. BASE属性
• 一般的にNoSQLの特徴として、下記の点があげられる
– ストレージ容量をスケールさせやすい
– スループットをスケールさせやすい
– 実際にストレージやスループットが増えてきた時に性能劣化しにくい
NoSQLの使いドコロ
• NoSQLの利用価値は?
– 低レイテンシ・高スループット、シンプルなAPI
– Webセッション管理
– Publish・Subscribeモデル、イベント処理
– JSON形式データの格納
– ソーシャル・グラフ、BOM(Bill of material)ツリーの検索
これらの特徴が必要とされるところがNoSQLの使いドコロ。
ただし、これもNoSQLの一般的な特徴として、自前で運用する
のにはかなりの労力が必要とされる。
アジェンダ
• Introduction
• 基本的なサービスのご紹介
• NoSQLとRDB
• AWS環境でのNoSQL
• まとめ
Compute Storage
AWS Global Infrastructure
Application Services
Deployment & Administration
Networking
Database
Amazon
DynamoDB
Amazon
RDS
Amazon
ElastiCache
Amazon
Redshift
スケーラブルで高パフォーマンス AWS上で
利用可能なデータベース・サービス
AWSデータベース・サービス
AWSデータベース・サービスの概要
• フルマネージド・データベースの特性に応じた使い分け
NoSQL
SQL
Amazon ElastiCache
• 低レンテンシ
• インメモリ
Amazon DynamoDB
• 3拠点間での
レプリケーション
• SSDに永続化
Amazon RDS
• トランザクション
処理
• RDBMSの
容易な運用管理
Amazon Redshift
• 集計・分析処理
• データウェアハウス
(大容量データ)
DynamoDB
NoSQLデータベースサービス
保証されたパフォーマンスとスケーラビリティ
ElastiCache
インメモリキャッシュサービス
デプロイ、操作、スケールが簡単
NoSQLデータベース・サービス
Amazon ElastiCache
Amazon ElastiCacheとは
• 構築
– キャッシュクラスタを数クリックで起動
– EC2、RDSと同様、初期費用無し、時間単位の従量課金
• 移行
– 2種類のエンジン(memcached, redis)をサポート
– 既存アプリケーションの変更不要
• 運用
– 可用性を向上させる機能
– モニタリング、自動障害検出、復旧、拡張、パッチ管理
機能を提供
• セキュリティ
– セキュリティグループ、VPC対応、
メモリ内キャッシュをマネージドで提供するサービス
→キャッシュに読み込まれたオブジェクトを保存し、性能負荷を軽減する
アプリケーションの高速化
目的
アプリを高速化する手法の一つ
消えても良いデータを格納してDBアク
セス・負荷を低減
メモリにキャッシュしたデータを再利
用し 低遅延化・負荷低減
ELB App
External APIs
ElastiCache用途
クエリ結果を再利用 (DBサーバの負荷低減、高速化)
揮発性の高いデータを格納 (セッション情報管理)
複雑な計算結果・二次データを再利用 (APPサーバの負荷軽減)
メモリキャッシュとは?
• Web+DBアプリケーションの典型的な構成
App RDBMS
1. クライアントからのリクエスト
2. Appサーバが、DBサーバに問い合わせ
3. DBサーバが結果を戻す
4. Appサーバがレスポンスをクライアントに返す
メモリキャッシュとは?
• トラフィックが増えると
App RDBMS
5. Appサーバ,DBサーバをスケール
6. 効果・効率・コスト的な面、DBをスケールさせる難易度は?
⇒ RDBをスケール“アウト”させるのは難しい。
App RDBMS
メモリキャッシュとは?
• DB負荷を軽減するためにキャッシュにデータを載せる
– アプリケーション側で、DBとキャッシュを使い分ける
App RDBMS
App
キャッシュ
メモリキャッシュとは?
• データ参照時の操作
キャッシュ
App RDBMS
■キーを検索軸に属性データがキャッシュにあるか?
取得して完了
②なければDBへクエリ
クエリ結果を取得
DBにクエリを実行した場合、
クエリ結果をキャッシュ
繰り返し
⇒(Point)キャッシュに最新結果が反映される
①あればキャッシュへ
メモリキャッシュとは?
• 更新時の操作
常にDBにInsert / Update
その結果をオブジェクト書き込み
キャッシュ
RDBMS
⇒(Point)キャッシュには最新結果が反映される
■キーを検索軸に属性データをキャッシュに配置する
App
繰り返し
セッション管理
• 共有キャッシュとして使った構成
 複数のAppサーバで共有するセッション用メモリ空間を実現
 多くの言語やフレームワークが対応済み
 セッションレプリケーションやロードバランサに依存しない構成が可能
App
App
キャッシュL
B
■セッションIDのキーを検索軸に属性データを参照
2 つのインメモリキャッシュエンジン
 マルチノードクラスタ
 オートディスカバリ
 非永続化
 リードレプリカ
 バックアップリストア
 永続化オプション
ElastiCache
Redis
memcached
memcachedとは?
• インメモリ key-value ストアキャッシュサーバ
 2003年にDanga Interactiveが開発(BSDライセンス)
 ブログサービス「Live Journal」の負荷対策用に作られたもの
 多くのサイトで採用 (YouTube, Wikipedia, mixi, etc. )
• 特徴
 KVSのデファクトスタンダードプロトコル
• Key-valueのシンプルなデータ構造
• パフォーマンス向上を重視
 主要機能のみのシンプルな機能
• アクセス制御などのセキュリティ機能無し
• マスタノード、シャーディング、レプリケーションなどの機構無し
– データ削除は明示的、期限、LRUの3方式
Amazon ElastiCache for memcached
• 特徴
– 対応バージョン 1.4.5、1.4.14 (2015.7.14現在)
– memcached プロトコル準拠
– Cache Clusterという論理グループに、Cache Nodeを複数台起動
– ノードの自動検出機能のAuto Discovery対応Client Libraryを提供
– バックアップ機能(Snapshot)は持たない
CacheCluster A CacheCluster B
Configration
Endpoint
Configration
Endpoint
Node
Endpoin
t
Node
Endpoin
t
Node
Endpoin
t
Node
Endpoin
t
Redisとは?
• In-memory Key-Value Store
• 高機能なデータ構造、データ操作
– List, Set, Sorted Set, Hash
• 永続化機構
– SAVE/BGSAVE
• Snapshot,フルダンプ
– Append only File
• 書き込みコマンドの記録
• 冗長化機構
– Replication
• Pub/Sub機能
– 非同期メッセージング
• Lua scripting
– 高度な計算をRedisで実行可能
http://redis.io/
ElastiCache for Redis
• 特徴
– 対応バージョン: 2.6.13、2.8.6、2.8.19 (2015.7.14現在)
– 複数のCluster Group から構成されるReplication Group を構成し複数ノードで同期が取
れる
– S3上のスナップショット(RDB)プリロード機能でElastiCache 上へのデータ移行も容易
– Multi-AZ配置での自動フェイルオーバーにも対応
– Snapshotベースでのバックアップリスト機能にも対応
– Redisの機能をほぼサポート
• Lua Scripting
• Pub/Sub
• Append Only File
• 対応しない機能
– CONFIG, SLAVEOFなど一部コマンドのみ無効
– パスワード (アクセス制御はセキュリティグループにて実施)
ElastiCache for Redisの高可用性と永続性
• マルチAZのための非同期レプリケーション機能
• ElastiCache は自動的に障害を検知し、1 つのリー
ドレプリカへフェイルオーバーを行う
• クラスターのスナップショットを作成することで
データの保護に役立つ
• スナップショットは、新しい Redis 用 ElastiCache
クラスターをシードするためにも使用できる
ElastiCacheの料金体系
• オンデマンド キャッシュノード
– 初期費用無し、時間単位の従量課金モ
デル
– MemcachedとRedisでどちらも料金
は変わらず
• リザーブド キャッシュノード
– 予約金を支払うことで時間当たり価格
を割引(最大70%節減)
– アベイラビリティゾーンの指定が不要
時間あたりの料金(東京リージョン)
※2015年7月14日現在
Standard Cache Nodes - Current Generation
cache.t2.micro $0.026
cache.t2.small $0.052
cache.t2.medium $0.104
cache.m3.medium $0.120
cache.m3.large $0.240
cache.m3.xlarge $0.485
cache.m3.2xlarge $0.965
Memory Optimized Cache Nodes - Current
Generation
cache.r3.large $0.273
cache.r3.xlarge $0.546
cache.r3.2xlarge $1.092
cache.r3.4xlarge $2.184
cache.r3.8xlarge $4.368
ElastiCacheの料金体系
• バックアップストレージ
– Redis向け機能
– 各クラスタに対して1つのSnapshotは無料
– 2つ以上のSnapshotから毎月 0.085 USD/GBが課金
• AZ間データ転送量
– 同AZ内でのEC2とElastiCache間の通信は課金対象外
– 同一リージョンの異なる AZにある EC2とElastiCache間のみ、
0.01 USD/GB が課金
http://aws.amazon.com/jp/elasticache/pricing/
http://aws.amazon.com/jp/elasticache/reserved-cache-nodes/
Availability Zone Availability Zone
Amazon ElastiCache
ElastiCache
AWS上でのWeb+DBサーバの構成(キャッシュサーバ)
• クエリ結果を再利用
• DBサーバの負荷低減
• 高速化
• 揮発性の高いデータを格納
• セッション情報管理
• 複雑な計算結果、二次デー
タを再利用
• APPサーバの負荷軽減
Clients
マネックス証券様 Monex Insight
• Webベースのリアルタイム市場データ配信システム
– 投資家による取引の判断基準に使われるため、リアルタイム性が要求
される。
– 指数情報、業種情報、通貨ペア、コモディティ等を表示
• 大規模な顧客基盤を支えるために高いスケーラビリティも求められ
る。
• 株式市場の取引時間に合わせて、リソースの増減を制御
* AWS Summit Tokyo 2014 マネックス証券様のセッションより引用
マネックス証券様 Monex Insight
• 各Tierが数分で自由にスケール可能
ElastiCacheの使いどころ
• キー・ベースでのアクセス
– set(key, value)、value = get(key)
• あくまでキャッシュであり、主はRDBMS等に永続化されることを
前提とする
• 更新頻度が低く、アクセス頻度が高いデータをキャッシュ
-> キャッシュ・ヒット率が高い
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-elasticache
詳しくはAWS Black Belt ElastiCache 資料を参照
Amazon DynamoDB
Amazon DynamoDBの特徴
• 完全マネージド型の NoSQL データベースサービス
– ストレージの容量制限がない
– OSやソフトウェアのパッチ等の運用管理の必要なし
– サーバーの設定、サーバのプロビジョニングも必要なし
• ハイスケーラブル、低レイテンシー
• 高可用性– 3x レプリケーション
• シンプル且つパワフルAPI
クライアント
Flexible
キーバリューデータストア
• テーブル内のそれぞれのアイテ
ムは属性と値のリストで保持さ
れる
• 1つ以上のAttributeを持ち、
アイテム間で不揃いであっても
問題ない
• 属性はあとから追加できる
ドキュメントデータベース
• Jsonデータのサポート
DynamoDBを使い始めるには
1. テーブルのKeyやIndexを決める
2. Read/Writeそれぞれのスループットを決める
That’s it, write your code!
Table
table
items
attributes
Hash
Key
Range
Key
必須
キーバリュー型のアクセスパ
ターン
データ分散に利用される
オプション
1:Nモデルのリレーション
シップ
豊富なQueryをサポート
ハッシュキー検索用
==, <, >, >=, <=
“begins with”
“between”
sorted results
counts
先頭/末尾 N件
ページ単位出力
name/value 型、JSON 型
アイテム間で不揃いであ
っても問題ない
Local Secondary Index (LSI)
• Range key以外に絞り込み検索を行うkeyを持つことができる
• Hash keyが同一で、他のアイテムからの検索のために利用
A1
(hash)
A3
(range)
A2
(table key)
A1
(hash)
A2
(range)
A3 A4 A5
LSIs A1
(hash)
A4
(range)
A2
(table key)
A3
(projected)
Table
KEYS_ONLY
INCLUDE A3
A1
(hash)
A5
(range)
A2
(table key)
A3
(projected)
A4
(projected)
ALL
Global Secondary Index (GSI)
• Hash Key属性の代わりとなる
• Hash Keyをまたいで検索を行うためのインデックス
A1
(hash)
A2 A3 A4 A5
GSIs A5
(hash)
A4
(range)
A1
(table key)
A3
(projected)
Table
INCLUDE A3
A4
(hash)
A5
(range)
A1
(table key)
A2
(projected)
A3
(projected)
ALL
A2
(hash)
A1
(table key)
KEYS_ONLY
Data Types
• String (S)
• Number (N)
• Binary (B)
• String Set (SS)
• Number Set (NS)
• Binary Set (BS)
• Boolean (BOOL)
• Null (NULL)
• List (L)
• Map (M)
JSON用に定義
Documentデータ型 (JSON)
• データタイプ (M, L, BOOL,
NULL) としてJSONをサポート
• Document SDKs
– 単純なプログラミングモデル
– JSONから、JSONへの変換
– Java, JavaScript, Ruby, .NET
Javascript DynamoDB
string S
number N
boolean BOOL
null NULL
array L
object M
プロビジョンドスループット
• テーブルごとにReadとWriteそれぞれに対し、必要な分
だけのスループットキャパシティを割り当てる(=プロ
ビジョンする)ことができる
• 例えば下記のようにプロビジョンする
– Read : 1,000
– Write : 100
• 書き込みワークロードが上がってきたら
– Read : 500
– Write : 1,000
• この値はDB運用中にオンラインで変更可能
• CreateTable
• UpdateTable
• DeleteTable
• DescribeTable
• ListTables
• GetItem
• PutItem
• UpdateItem
• DeleteItem
• Query
• Scan
• BatchGetItem
• BatchWriteItem
• Liststreams
• DescribeStream
• GetShardIterator
• GetRecords
Table API
Streams API
DynamoDB
In preview
DynamoDBの料金体系
• プロビジョンドスループットで決まる時間料金
– Read/Writeそれぞれプロビジョンしたスループットによって時間あたりの料金
がきまる
– 大規模に利用するのであればリザーブドキャパシティによる割引もあり
• ストレージ利用量
– 保存したデータ容量によって決まる月額利用料金
– 計算はGBあたりの単価が適用される
– GBあたり$0.285(2015/07/14現在@東京リージョン)
http://aws.amazon.com/jp/dynamodb/pricing/
DynamoDBの料金体系
• プロビジョンドスループット
– 書き込み
• $0.00742 :10 ユニットの書き込み容量あたり/1 時間
– 読み込み
• $0.00742 : 50 ユニットの読み込み容量あたり/1 時間
• キャパシティユニット
上記で「ユニット」と呼ばれている単位のこと
– 書き込み
• 1ユニット:最大1KBのデータを1秒に1回書き込み可能
– 読み込み
• 1ユニット:最大4KBのデータを1秒に1回読み込み可能(強一貫性を持たな
い読み込みであれば1秒辺り2回)
DynamoDBが使われているユースケース
• KVSとして
– Webアプリケーションの永続的なセッションデータベース
– ユーザー情報の格納するデータベース
• 広告やゲームなどのユーザー行動履歴DBとして
– ユーザーIDごとに複数の行動履歴を管理するためのデータベース
• ソーシャルアプリのバックエンドとして
– モバイルアプリから直接参照できるデータベースとして
• 他にも
– バッチ処理のロック管理
– フラッシュマーケティング
– ストレージのインデックス
Availability Zone Availability Zone
Amazon DynamoDB
AWS上でのWeb+DBサーバの構成(NoSQL)
DynamoDB
• シンプルにKVSで管理が可能なレ
ベルであれば・・
• 3箇所冗長の可用性
• 容量制限なし
• OSやソフトウェアのパッチ等
の運用管理の必要なし
• ダウンタイムゼロで変更可能
なスループット
Clients
Availability Zone Availability Zone
Amazon DynamoDB
AWS上でのWeb+DBサーバの構成
(NoSQL、RDBMSハイブリット)
• NoSQL、RDBMS併用
• トランザクション処理が必須
• NoSQLを高速化のためのキャッシュ
• NoSQLで大量データを扱うために使
用
例)ECショッピングサイト
カート処理、商品情報
NoSQL(DynamoDB)
在庫管理、決済関連
RDBMS(MySQL等)
Clients
DynamoDB
東急ハンズ株式会社様でのAWSご活用事例
参考 DynamoDBの紹介と東急ハンズでの活用についてより。詳細は以下をご参照ください。
https://www.hands-lab.com/tech/entry/99.html
• 毎年8月末にハンズ恒例の大セール
「ハンズメッセ」開催。
• ネットストア(ハンズネット)も同時開催
• セール開始時(00:00)にお客様が殺到
• サーバーが落ちる
• というのを2年くらい経験
コストを抑えつつ、セールの爆発的なトラフィッ
クにも耐えられる仕組みの構築が急務
Amazon DynamoDB導入の背景
東急ハンズ株式会社様でのAWSご活用事例
株式会社マイネット様でのAWSご活用事例
DynamoDBをメインDBにすることで、
可用性向上のための運用はAWSが実施。
トラフィック増減もアーキテクチャを変
えずにパラメータ変更だけで対応。
DynamoDBで管理が難しいデータは
RDB(RDS)で管理するも、全体のボ
リュームは小さくなるため運用が容易に。
参考 AWS事例のページより。詳細は以下をご参照ください。
http://aws.amazon.com/jp/solutions/case-studies/mynet/
AWSの利用:
人気のドット絵ファンタジー
「騎士とドラゴン」のインフラ
をAWSで運用
ビジネス効果:
少数精鋭で開発を行う中で、運用
面の負担を最小化、ゲームの開発
リソースを最大化
株式会社リプレーション様でのAWSご活用事例
参考 AWS事例のページより。詳細は以下をご参照ください。
http://www.awsmicrosite.jp/game/case-studies/ripplation.html
短期間でのユーザー数の急上昇にも
わずかなスケールパラメータの調整で対応
デイリーアクティブユーザーがわずか6日間で
5,000/日から30,000/日に跳ね上がった時に行った作業
AWS EC2のインスタンス数を増やして
Amazon DynamoDBのスループットを上げただけ
DynamoDBの使いどころ
• キーとクエリーでのアクセス
• 3拠点でデータが保全されることによる堅牢なシステム
の構築
• スループットの容易な増減によるピーク負荷への対応
• 事実上の容量無制限なデータベース
-> サイジングが不要
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-dynamodb
詳しくはAWS Black Belt DynamoDB資料を参照
NoSQL on EC2
NoSQL on EC2
• EC2上にNoSQLデータベース・ソフトをインストールし、自ら運用管
理を行う
• AWS上では、スケーラブル、従量課金、高可用性で他のマネージド
サービスとの連携することができ、また、ハードウェアを管理すこと
なく様々なNoSQL製品を使う事ができる
• マネージド・データベースのメリットは享受できないが特殊な要件が
必要とされた場合
– AWSで提供されていないNoSQLを利用したい
– データベースのOSにログインし、ローカル・アクセスでバッチ処理を実行した
い 等々
• 運用管理コストが上がる点も考慮する
– 構築から運用(バックアップや障害時切替など)を行う必要がある
Magazine Luiza
レコメンデーション・システム
• Eコマース・サイト向けのレコメンデーションシステム
• ソーシャル・ネットワーク機能を実装
• 5万以上の製品
• 月間 2億PV
• ユーザの行動をグラフで
表現・分析
• サイトとメールでの
レコメンデーション
* AWS re:Invent 2013 セッションBDT303 より引用
Graph Databaseの活用
Magazine Luiza
レコメンデーション・システム
• Graph DBのエンジンとしてTITANとFAUNUSを採用
Magazine Luiza
レコメンデーション・システム
• 既存システムと比較して、10倍の高速化と60%の
コスト削減に成功
• 6か月でレコメンデーションからの売上が約190%向上
アジェンダ
• Introduction
• 基本的なサービスのご紹介
• NoSQLとRDB
• AWS環境でのNoSQL
• まとめ
まとめ
• ワークロードに適したデータベースを選択する
(複数DBを併用しても良い)
• NoSQLアプリケーションのコストを最小化するため、スケールす
る設計を行う
• マネージドサービスを上手に活用して運用コストを下げる
• AWSのマネージド・サービスでカバーしきれないシナリオの場合、
NoSQL on EC2を活用
• バックアップやパッチ適用作業等も考慮
Q&A
参照リンク
• ElasiCashe ユーザーガイド
– http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/UserGuide/WhatIs.html
• ElasiCashe FAQ
– http://aws.amazon.com/jp/elasticache/faqs/
• DynamoDBユーザーガイド
– http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Introduction.html
• DynamoDB FAQ
– http://aws.amazon.com/jp/dynamodb/faqs/
参照リンク
• ホワイトペーパー:Riak on AWS
– http://media.amazonwebservices.com/AWS_NoSQL_Riak.pdf
• ホワイトペーパー:MongoDB on AWS
– https://d0.awsstatic.com/whitepapers/AWS_NoSQL_MongoDB.pdf
• ホワイトペーパー:Amazon ElastiCache を使用したスケールに応じたパフォーマンス
– http://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf
• AWSクラウド活用資料集
– http://aws.amazon.com/jp/aws-jp-introduction/
• 国内のお客様のAWS活用事例
– http://aws.amazon.com/jp/solutions/case-studies-jp/
詳しくは、http://aws.amazon.com/training をご覧ください
メリット
• AWS について実習や実践練習を通じ
て学習できる
• AWS を熟知したエキスパートから直
接 AWS の機能について学び、疑問の
答えを得られる
• 自信をもって IT ソリューションに関
する決定を下せるようになる
提供方法
e ラーニングや動画
セルフペースラボ
クラスルーム
トレーニング
AWSトレーニングでは様々な学習方法をご提供しています
公式Twitter/Facebook
AWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを
日々更新しています!
もしくは
http://on.fb.me/1vR8yWm
AWS初心者向けWebinar
• AWSをこれからご使用になる技術者向け、ソリュー
ションカット
• 今後の配信予定
– 7/28(火) 【AWS 初心者向け Webinar】RDB の AWS への
移行方法(Oracle を例に)
※18時~19時15分の時間帯です!
• 申し込みサイト
– http://aws.amazon.com/jp/about-aws/events/
AWS Black Belt Tech Webinar 2015
• AWS中上級者向け、サービスカット
• 今後の配信予定
7月は「AWS 運用機能月間」です!
– 7/15(水)12:00〜【緊急特番】Amazon API Gateway
– 7/15(水)18:00〜 AWS CloudTrail & Config
– 7/22(水)12:00〜【緊急開催】AWS Device Farm
– 7/22(水)18:00〜 AWS CLI & AWS Tools for Windows PowerShell
– 7/29(水)18:00〜 AWS CloudHSM & AWS Key Management
Service
• 申し込みサイト
– http://aws.amazon.com/jp/about-aws/events/
•EC2上にNoSQLデータベース・ソフトをインストールし、自ら運用管理を行う
AWS Black Belt Tech Webinar 2015
• 今後の配信予定
8月は「AWS DB月間」です!
– 8/5 (水)18:00〜 Amazon DynamoDB
– 8/12(水)お盆のためお休み
– 8/19(水)18:00〜 Amazon ElastiCache
– 8/26(水)18:00〜 Amazon DynamoDB
• 申し込みサイト
– http://aws.amazon.com/jp/about-aws/events/
AWSの導入、お問い合わせのご相談
• AWSクラウド導入に関するご質問、お見積り、資料請
求をご希望のお客様は、以下のリンクよりお気軽にご相
談ください。
https://aws.amazon.com/jp/contact-us/aws-sales/
ご参加ありがとうございました

More Related Content

PPTX
マイクロサービスにおける 結果整合性との戦い
PPTX
Redisの特徴と活用方法について
PDF
クラウド時代だからSpring-Retryフレームワーク
PPTX
MongoDBが遅いときの切り分け方法
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
PDF
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
PPTX
backlogsでもCI/CDする夢を見る
PDF
イミュータブルデータモデル(入門編)
マイクロサービスにおける 結果整合性との戦い
Redisの特徴と活用方法について
クラウド時代だからSpring-Retryフレームワーク
MongoDBが遅いときの切り分け方法
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
backlogsでもCI/CDする夢を見る
イミュータブルデータモデル(入門編)

What's hot (20)

PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
マルチテナント化で知っておきたいデータベースのこと
PPTX
WiredTigerを詳しく説明
PPTX
世界一わかりやすいClean Architecture
PPTX
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
PDF
マルチテナントのアプリケーション実装〜実践編〜
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
PDF
DevOps with Database on AWS
PDF
Webアプリを並行開発する際のマイグレーション戦略
PPTX
イベント・ソーシングを知る
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PDF
PostgreSQLの運用・監視にまつわるエトセトラ
PDF
Keycloak拡張入門
PDF
レコメンドアルゴリズムの基本と周辺知識と実装方法
PDF
20190320 AWS Black Belt Online Seminar Amazon EBS
PDF
ドメイン駆動設計の正しい歩き方
PPTX
がっつりMongoDB事例紹介
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
PostgreSQLレプリケーション(pgcon17j_t4)
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
マルチテナント化で知っておきたいデータベースのこと
WiredTigerを詳しく説明
世界一わかりやすいClean Architecture
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
マルチテナントのアプリケーション実装〜実践編〜
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
DevOps with Database on AWS
Webアプリを並行開発する際のマイグレーション戦略
イベント・ソーシングを知る
Python 3.9からの新定番zoneinfoを使いこなそう
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLの運用・監視にまつわるエトセトラ
Keycloak拡張入門
レコメンドアルゴリズムの基本と周辺知識と実装方法
20190320 AWS Black Belt Online Seminar Amazon EBS
ドメイン駆動設計の正しい歩き方
がっつりMongoDB事例紹介
Infrastructure as Code (IaC) 談義 2022
PostgreSQLレプリケーション(pgcon17j_t4)
Ad

Viewers also liked (20)

PDF
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
PDF
AWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
PDF
AWS初心者向けWebinar AWSにおけるセキュリティとコンプライアンス
PDF
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
PDF
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
PDF
MongoDB〜その性質と利用場面〜
PDF
AWS Black Belt Online Seminar Antipattern
PDF
AWS初心者向けWebinar AWSとのネットワーク接続入門
PDF
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
PDF
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
PDF
AWS Black Belt Online Seminar 2017 Docker on AWS
PDF
AWS Black Belt Online Seminar Amazon Aurora
PPTX
DynamoDB活用事例 株式会社マイネット
PDF
20140418 info talkセミナー資料
PDF
qpstudy 2013.07 NoSQL
PPTX
Mongo dbを知ろう
PDF
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
PDF
SAP on AWS 実際の導入例と導入効果
PDF
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
PDF
AWS 初心者向けWebinar アマゾンウェブサービスをご検討時によくいただく質問集
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
AWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
AWS初心者向けWebinar AWSにおけるセキュリティとコンプライアンス
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
MongoDB〜その性質と利用場面〜
AWS Black Belt Online Seminar Antipattern
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
AWS Black Belt Online Seminar 2017 Docker on AWS
AWS Black Belt Online Seminar Amazon Aurora
DynamoDB活用事例 株式会社マイネット
20140418 info talkセミナー資料
qpstudy 2013.07 NoSQL
Mongo dbを知ろう
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
SAP on AWS 実際の導入例と導入効果
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS 初心者向けWebinar アマゾンウェブサービスをご検討時によくいただく質問集
Ad

Similar to AWS初心者向けWebinar AWSでのNoSQLの活用 (20)

PDF
AWSのNoSQL入門
PDF
StepInNosql
PPT
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
PPT
Cassandra(no sql)によるシステム提案と開発
PDF
Best Practices for Running PostgreSQL on AWS
PDF
20120409 aws meister-reloaded-dynamo-db
PDF
AWSクラウドサービスツアー
PDF
About NoSQL
PDF
Nosqlの基礎知識(2013年7月講義資料)
PDF
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
PDF
NoSQLとビッグデータ入門編
PDF
20120508 aws meister-rds-public
PDF
NoSQLデータベースと位置情報
PDF
はじめてのAmazon Redshift
PDF
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
PDF
JAWSUG-santo-2014-Track5-Database
PDF
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
PDF
Lunch & Learn, AWS NoSQL Services
PDF
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
PDF
Cassandraとh baseの比較して入門するno sql
AWSのNoSQL入門
StepInNosql
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Cassandra(no sql)によるシステム提案と開発
Best Practices for Running PostgreSQL on AWS
20120409 aws meister-reloaded-dynamo-db
AWSクラウドサービスツアー
About NoSQL
Nosqlの基礎知識(2013年7月講義資料)
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
NoSQLとビッグデータ入門編
20120508 aws meister-rds-public
NoSQLデータベースと位置情報
はじめてのAmazon Redshift
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
JAWSUG-santo-2014-Track5-Database
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
Lunch & Learn, AWS NoSQL Services
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
Cassandraとh baseの比較して入門するno sql

More from Amazon Web Services Japan (20)

PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
PDF
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
PDF
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
20220409 AWS BLEA 開発にあたって検討したこと
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon QuickSight の組み込み方法をちょっぴりDD
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ

AWS初心者向けWebinar AWSでのNoSQLの活用