dynamodb (2012-02-18 jaws-ug osaka勉強会 第5回)

35
Japan AWS User Group (JAWSUG) Osaka勉強会 第5回

Upload: -

Post on 14-Jan-2015

3.759 views

Category:

Lifestyle


1 download

DESCRIPTION

JAWS-UG 大阪勉強会 第5回で発表した資料 Amazon DynamoDBについて

TRANSCRIPT

Page 1: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

⼆二⽉月⼗十⼋八⽇日Japan  AWS  User  Group

(JAWS-‑UG)  -‑  Osaka勉強会  第5回

Page 2: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

OpenJam

Developer

Summit

2012

昨⽇日デブサミ⾏行ってきた

2012.2.16〜~2012.2.1710年⽬目のけっこういっぱい⼈人が集まる凄いイベント

Page 3: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

しゃべってきました。

コミュニティの

紹介と

最近の動向とか

OpenJam

セッションとは別に⽤用意されている、参加コミュニティが発表できる場

Page 4: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

勝⼿手にAWSアップデート

瞬間最⼤大

観客動員数:2⼈人

しゃべって来ました。

DynamoDBについて30分間話そうと思ってました。

Page 5: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Amazon  DynamoDB勝⼿手にAWSアップデートVPC内でロードバランサ(Elastic  Load  Balancing)が利⽤用可能に,Amazon  ElastiCacheが東京リージョンで利⽤用可能に,Amazon  S3にマルチオブジェクトデリートを追加,アーキテクチャのダイアグラムのためのAWSシンプルアイコンの発>表,CloudFrontとRoute  53のエッジロケーションを3か所追加,リザーブドインスタンスに新しい2つの料⾦金モデルを追加,Amazon  Simple  Email  Service  (SES)がSMTPをサポート,南⽶米  (サンパウロ)  リージョンの発表,CloudFrontが⼤大フ>ァイルサイズ(20GB)のコンテンツ配信をサポート,VPC内でマルチゾーンにまたがったAuto  Scalingが利⽤用可能に,Amazon  EMRでクラスターコンピュートCC2が使えるように,Virtual  Private  Cloudの中でネットワークインタフェースを>⾃自在にコントロールできるElastic  Network  Interfaceの発表,AWS  Management  Console上で各EC2インスタンス、EBSボリューム  から直接アラームを作成できるように,EC2インスタンスのステータスチェックとレポーティング,Amazon  S3の有効期限機能の発表,Amazon  RDSでも3種類のリザーブドインスタンスが利⽤用可能に,クラウドに専⽤用線接続できるAWS  Direct  Connectが東京リージョンでも利⽤用可,AWS無料使⽤用枠でEC2のMicrosoft  Windowsサーバも利⽤用可能に,

Amazon  DynamoDB  -‑  インターネット時代のアプリケーションのために  設計された⾼高速でスケーラブルなNoSQLデータストレージ,Identity  Federationのコンソール統合,Virtual  Private  Cloudの中でRelational  Database  Serviceが利⽤用  可能に,AWS  Storage  Gateway,Auto  Scaling  Groupのタギング機能,AWS  Premium  SupportのThird-‑Party  Software  SupportとAWS  Trusted  Advisor  (⽇日本では未発表),Amazon  S3に保存されているオブジェクトの数は7620億に,EMRの新機能:新メトリクス、VPC、CC2対応,⼤大阪とミラノにAmazon  CloudFrontとAmazon  Route  53の拠点追加,Amazon  S3の価格さらに値下げ

Page 6: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Amazon  DynamoDB?Amazon

DynamoDB2012.1.18release

Amazon  DynamoDB

クラウドのために作られた⾼高いパフォーマンスを持ったNoSQLデータベース

Page 7: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Amazon.comの売上Amazon  DynamoDB

Page 8: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

2010年

12⽉月期

出典:wikipedia

Amazon⽈曰くAmazon.comの売上

連結:342億400万ドル

Page 9: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Amazon.comに必要なDB

amazon.com

Amazon⽈曰く

0.1秒遅くなると、売り上げが1%減少する

342億400万ドルその1%は3億4240万ドル⽇日本円だと約260億円昨年の私のブログでのアフィリエイト14円

Page 10: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

求められる速度Amazonに必要なDBどんなにレコードが増えてもレスポンスが早いノードが落ちてもシステムは動き続けなくてはいけない在庫のこととかを考えると⼀一貫性も欲しい

って考えたと想像出来ます。

Page 11: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

求められる可⽤用性

速度だけなら

やり⽅方は

いくらでもある

速度だけなら

スケールアウト

スケールアップ

どちらでも

求められる  速度

ただ⾼高速に書きこむだけならそんなに難しくない。

Page 12: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

RDBMSのツラい所

可⽤用性だけなら

やり⽅方は

いくらでもある

可⽤用性だけなら

冗⻑⾧長

にすればいい

求められる  可⽤用性

サーバが停⽌止してもシステムは⽌止まらないデータセンターが爆発しても⽌止まらない

Page 13: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

RDBMSは必要なのか?

(>_̲<)

⼀一貫性と可⽤用性

の両⽴立困難

RDBMSのツラい所

This  excess  functionality  requires  expensive  hardware  and  highly  skilled  personnel  for  its  operation,  making  it  a  very  inefficient  solution.  In  addition,  the  available  replication  technologies  are  limited  and  typically  choose  consistency  over  availability.

Page 14: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

02  Oct  2007

俺達に

RDBMSの

複雑な照会は

いらなかった

殆どの場合

PrimaryKey

だけでいいぜ

RDBMSは必要なのか?

Most  of  these  services  only  store  and  retrieve  data  by  primary  key  and  do  not  require  the  complex  querying  and  management  functionality  offered  by  an  RDBMS.

Page 15: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Amazonʼ’s  Dynamo

Amazon.comCTO

Werner  Vogels

俺が作ったAmazonʼ’s  Dynamoの論⽂文だ

02  Oct  2007

Amazonʼ’s  Highly  Available  Key-‑value  Storehttp://www.allthingsdistributed.com/2007/10/amazons_̲dynamo.html

absolutely,  honored  to!

Page 16: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

そこから更に進化

Amazonʻ‘s

Dynamo

Amazonʼ’s  Dynamo

無駄なHOPはなし、⼀一発でデータにアクセス出来る分散ハッシュテーブルノードが何個か死んでも⼤大丈夫それがAmazon  Dynamo

Page 17: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

IOPS保証

別物!?

Amazon

DynamoDB

そこから更に進化

論⽂文のDynamoから進化してサービス化

Page 18: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Atomic  Counter

Read,Write

IOPS  保証

IOPS保証

IOPS=  Input  Output  Per  Second1秒間辺りにどれくらいのreadとwriteが出来るかが保証される。そのIOPSによって時間課⾦金Write:10Unit  Read:50Unit  で1時間$0.01メンテナンスは、どれくらいのIOPSが必要かをAPIで指⽰示するだけ

Page 19: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

⼀一貫性

結果整合性の

弱点

Atomic  Counter

値を取ってくる→アプリ側で加算-‑>上書きこんな加算では整合性はすこぶる怪しい。

DynamoDBなら⼤大丈夫。CAS操作が可能

Page 20: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

集計とかは⾮非効率?

強⼀一貫性と

結果整合性

⼀一貫性も

欲しいのか?

⼀一貫性

必要のないところでは結果整合性を

コストは倍かかるが必要なところだけ強い⼀一貫性も可能WriteじゃなくてReadのリクエスト毎にこのオプションをつけられる。

Page 21: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Nextタイトル

BatchGet

RDBMSのAVGとかSUMとか

集計とかは⾮非効率?

集計は集計結果を保存するテーブルに⼊入れておけば良い。CAS操作の出来るDynamoDBなら可能。

複数テーブルから同時にデータが取れるBatchGetもある。

Page 22: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

バックアップもEMRで

WithAmazon  Elastic  

MapReduce

Hadoopで

処理

EMRとの連携

⼤大規模な集計であればAmazon  ElasticMapReduce(Hadoop)を使って処理が可能。

Page 23: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

データ構造信頼性

99.999999999

のS3に

バックアップ

バックアップもEMRで

Amazon  Elastic  MapReduceを使ってS3にバックアップも可能バックアップしたデータとのJOINも可能

Page 24: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

ソフトウェアじゃない

単純な

KeyValue

ではない

データの構造

Keyは2種類  HashKeyとRangeKey  RangeKeyは使わなくてもOKValueには4種類の型  STRING,NUMBER,  STRING_̲SET,NUMBER_̲SET

Page 25: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

vs  ソフトウェアとか

メンテナンス

フリー

サービス

サービスとして提供されるから                    ハードウェアの⼼心配も必要ない。ネットワークや、パフォーマンス確保の為                    のインフラエンジニアも必要ない。必要なのは、欲しいパフォーマンスを                      知らせる為にAPIを叩く事だけ。

Page 26: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

DynamoDBの戦場

欲しいのはスペック?

パフォーマンス?

vs  ソフトウェアとか

ハードウェアスペックから、パフォーマンスがある程度⾃自動で決まる=>ハードウェアスペックを調整可能

パフォーマンスからハードウェアの調整を⾃自動でやってくれる。=>  パフォーマンスを調整可能  

Page 27: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Nextタイトル

スケールする必要があるならとりあえずDynamoDB

スケールが必要なら

データベースのスケールが必要なアプリケーションでアレばDynamoDBは選択肢になる。

急成⻑⾧長を望むならスケールに⼿手間がかかるけど、強⼒力な照会機能があるDBと、メンテフリーなNoSQLどっちを選ぶのか

Page 28: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

⼤大規模はE会場へ

⼩小規模からの

データ処理

機会学習で

実現する

なんか事例も話したい

オンライン機械学習で実現する⼩小規模からのデータ処理数Mバイトから、数T,数Pバイトオーダまでを扱うテキストマイニングサービスがもうすぐ出てくるらしい。

Page 29: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

どんなサービス

hotaru

テキスト

マイニング

サービス

事例:MiningBrownie社

テキストマイニングをAPIから使えて、従量課⾦金だから、簡単に始められる簡単にやめられるクラウドっぽいサービス

Page 30: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

テキストを単語に分割テキストをAPIでpush

APIを使ってテキストを登録していきます。

Page 31: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

ベイズ分類起⽤用の計算テキストを単語に分割

送られ                    てきたテキストは内部で単語に分割される。

Page 32: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

そして分類へベイズ分類器⽤用の計算

ベイズ分類器の為に⾊色々計算して、分類の準備完了。

Page 33: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Nextタイトルそして分類へ

この⽂文章を判定してくれやとAPIに尋ねればこいつはこれだと返します。

Page 34: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

何に使える?

SimpleDBじゃ

ダメだったの

か?

RDBMSじゃ

ダメだったの

か?

なぜDynamoDB

スモールスタートを提供するためには重量課⾦金のデータベースが必要だった

想定レコード数:10billionのオーダー天井が⾒見えちゃいけない

スケールを⾃自動化(パフォーマンス&容量)

Page 35: DynamoDB (2012-02-18 JAWS-UG Osaka勉強会 第5回)

Nextタイトル

DynamoDB

戯れる

Dynamoと遊んでみる?

パソコンお持ちの⽅方http://bit.ly/DynamoOsakaここにアクセス。