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

Post on 14-Jan-2015

3.759 Views

Category:

Lifestyle

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

OpenJam

Developer

Summit

2012

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

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

しゃべってきました。

コミュニティの

紹介と

最近の動向とか

OpenJam

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

勝⼿手にAWSアップデート

瞬間最⼤大

観客動員数:2⼈人

しゃべって来ました。

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

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の価格さらに値下げ

Amazon  DynamoDB?Amazon

DynamoDB2012.1.18release

Amazon  DynamoDB

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

Amazon.comの売上Amazon  DynamoDB

2010年

12⽉月期

出典:wikipedia

Amazon⽈曰くAmazon.comの売上

連結:342億400万ドル

Amazon.comに必要なDB

amazon.com

Amazon⽈曰く

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

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

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

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

求められる可⽤用性

速度だけなら

やり⽅方は

いくらでもある

速度だけなら

スケールアウト

スケールアップ

どちらでも

求められる  速度

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

RDBMSのツラい所

可⽤用性だけなら

やり⽅方は

いくらでもある

可⽤用性だけなら

冗⻑⾧長

にすればいい

求められる  可⽤用性

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

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.

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.

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!

そこから更に進化

Amazonʻ‘s

Dynamo

Amazonʼ’s  Dynamo

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

IOPS保証

別物!?

Amazon

DynamoDB

そこから更に進化

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

Atomic  Counter

Read,Write

IOPS  保証

IOPS保証

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

⼀一貫性

結果整合性の

弱点

Atomic  Counter

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

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

集計とかは⾮非効率?

強⼀一貫性と

結果整合性

⼀一貫性も

欲しいのか?

⼀一貫性

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

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

Nextタイトル

BatchGet

RDBMSのAVGとかSUMとか

集計とかは⾮非効率?

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

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

バックアップもEMRで

WithAmazon  Elastic  

MapReduce

Hadoopで

処理

EMRとの連携

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

データ構造信頼性

99.999999999

のS3に

バックアップ

バックアップもEMRで

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

ソフトウェアじゃない

単純な

KeyValue

ではない

データの構造

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

vs  ソフトウェアとか

メンテナンス

フリー

サービス

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

DynamoDBの戦場

欲しいのはスペック?

パフォーマンス?

vs  ソフトウェアとか

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

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

Nextタイトル

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

スケールが必要なら

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

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

⼤大規模はE会場へ

⼩小規模からの

データ処理

機会学習で

実現する

なんか事例も話したい

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

どんなサービス

hotaru

テキスト

マイニング

サービス

事例:MiningBrownie社

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

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

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

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

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

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

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

Nextタイトルそして分類へ

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

何に使える?

SimpleDBじゃ

ダメだったの

か?

RDBMSじゃ

ダメだったの

か?

なぜDynamoDB

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

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

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

Nextタイトル

DynamoDB

戯れる

Dynamoと遊んでみる?

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

top related