62
Were excited!

DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

  • Upload
    -

  • View
    2.202

  • Download
    3

Embed Size (px)

DESCRIPTION

JAWS SUMMIT 2012 上級者向けブートキャンプ 「DynamoDBコトハジメ」の資料

Citation preview

Page 1: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Weʼ’re  excited!

Page 2: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2011/3/4サミット開催東京リージョン1周年?

Page 3: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2011/3/4サミット開催

違います

東京リージョン1周年?

Page 4: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2011/3/4サミット開催

違います

思い出して

東京リージョン1周年?

Page 5: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2011/3/4サミット開催

違います 去年のサミット

思い出して

東京リージョン1周年?

Page 6: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2012/3/2〜~32011/3/4  サミット開催

Page 7: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2012/3/2〜~3

その前⽇日

2011/3/4  サミット開催

Page 8: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2012/3/2〜~3

その前⽇日

2011/3/3

東京リージョン

2011/3/4  サミット開催

Page 9: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

2012/3/2〜~3

その前⽇日 今年

2011/3/3

東京リージョン

2011/3/4  サミット開催

Page 10: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

サミット開催=2012/3/2〜~3

Page 11: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

サミット開催=

2012/3/1に

何が

ありましたか?

2012/3/2〜~3

Page 12: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

サミット開催=

2012/3/1に

何が

ありましたか?

そう

2012/3/2〜~3

Page 13: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

サミット開催=

2012/3/1に

何が

ありましたか?

DynamoDB

東京リージョン

そう

2012/3/2〜~3

Page 14: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

サミットの開催=

Page 15: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

東京に

⼤大きな物が

上陸した翌⽇日

サミットの開催=

Page 16: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

東京に

⼤大きな物が

上陸した翌⽇日

今年の

サミットは

サミットの開催=

Page 17: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

東京に

⼤大きな物が

上陸した翌⽇日

DynamoDB

東京上陸記念

今年の

サミットは

サミットの開催=

Page 18: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

三⽉月三⽇日

2012/3/3JAWS  SUMMIT  2012上級者向け  ブートキャンプ  

DynamoDBコトハジメ

株式会社マイニングブラウニー得上⻯竜⼀一(@tottokug)

Page 19: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

その歴史からAmazon  DynamoDB|インターネット時代のアプリケーションのために設計された⾼高速でスケーラブルなNoSQLデータストレージ

Page 20: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

DynamoDBの名前の由来その歴史から|Dynamo:Amazonʼ’s  Highly  Available  Key-‑value  Store

Traditionally production systems store their state in relational databases. For many of the more common usage patterns of state persistence, however, a relational database is a solution that is far from ideal. 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. 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. Although many advances have been made in the recent years, it is still not easy to scale-out databases or use smart partitioning schemes for load balancing.

Page 21: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

「コトハジメ」Dynamoの名前の由来|気になっている⼈人いるんじゃないかと

Page 22: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

新しい仕事にとりかかる

物事のはじまり

新しい仕事に

とりかかること

「コトハジメ」

by  三省堂  ⼤大辞林

Page 23: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

ここでしか⾒見れない動画新しい仕事にとりかかる

Page 24: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

ここでしか⾒見れない動画

使い

こなしてる?

Amazon  

DynamoDB

使ってる?

新しい仕事にとりかかる

Page 25: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

ここでしか⾒見れない動画|JAWS-‑UGの皆様の協⼒力で字幕の通訳が⾏行われています|⇨宮崎弁バージョン|⇨江⼾戸弁バージョン|⇨北海道バージョン|⇨⿅鹿児島バージョン|⇨オリジナル(公式)バージョン|⇨字幕いらない

Page 26: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

1つの不要と3つの⾼高⿅鹿児島バージョン

Page 27: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

管理不要1つの不要と3つの⾼高

Page 28: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

管理不要

DynamoDBの

4つの特徴

1つの不要と3つの⾼高

Page 29: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

管理不要

DynamoDBの

4つの特徴

管理不要

1つの不要と3つの⾼高

Page 30: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

管理不要

DynamoDBの

4つの特徴

⾼高い拡張性

⾼高速アクセス

⾼高信頼性

管理不要

1つの不要と3つの⾼高

Page 31: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

ソフトウェア

ではなく

サービス

⾼高い拡張性管理不要

Page 32: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

⾼高速アクセス

hoge

⾼高い拡張性

データベース容量は⾃自動的に拡張、  制限なしパフォーマンスを指定できる。  秒間あたりの読込、  書込スループットを指定

Page 33: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

⾼高信頼

クラウドの特性

を活⽤用

⾼高速アクセス⼗十分な数のハードウェアに分散することで、安定した⾼高いパフォーマンスを提供

SSDを利⽤用  データへの⾼高速なアクセス

平均レイテンシ  read  5ms  write  10ms

Page 34: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

同期

レプリケーション

アーキテクチャ

ボキャブラリ⾼高信頼

Page 35: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

データ構造ボキャブラリ

Page 36: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

データ構造ボキャブラリ

Attribute  Name/Type/Value(s)  名前と値のセットItems  テーブル内のデータ  Attributeの集合

Table  Itemsの集合

Types  String,Integer,String  Set,Number  SetPrimary  Key  Hash  Hash+Range

Page 37: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

APIデータ構造

Page 38: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Table  ManagementAPI|Table  Management|Basic  Item  Operations|Advanced  Item  Operations|Large-‑scale  Retrieval

Page 39: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Basic  Item  OperationsTable  Management|Create  Table|Update  Table  |Delete  Table  |Describe  Table

Page 40: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Advanced  ItemBasic  Item  Operations|PutItem|UpdateItem|GetItem|BatchGetItem

Page 41: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Large-‑scale  RetrievalAdvanced  Item  |Conditional  PutItem|Conditional  UpdateItem

Page 42: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

制限Large-‑scale  Retrieval|Query  |Scan

Page 43: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Nextタイトル

その前に

Unitという単位

価格

1kbyteのデータを1秒間に1回読み込むまたは書込む  これが1unit2kbyteなら2unit2.3kbyteなら3unit

Page 44: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

「コトハジメ」

なんぼ?

価格

1kbyte  のデータを10書込/秒を保証  (10unit)-‑>$0.01(⽶米国)  $0.012(⽇日本)1kbyte  のデータを50読込/秒を保証  (50unit)-‑>$0.01(⽶米国)  $0.012(⽇日本)100万書込=>$0.278    100万読込=>$0.056

Page 45: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

つまりパラダイムシフト

物事のはじまり

新しい仕事に

とりかかること

「コトハジメ」

by  ⼤大辞林

Page 46: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

つまりパラダイムシフト

物事のはじまり

「コトハジメ」

by  ⼤大辞林

Page 47: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

⾊色々⽐比較つまりパラダイムシフト

Page 48: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

⾊色々⽐比較つまりパラダイムシフト|今までとは違う

Page 49: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

どこが違うの

DynamoDB

MySQL⾊色々⽐比較

Page 50: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

ElastiCache

DynamoDBと

⽐比べて

かわいいイルカ

RDBMS

MySQL

優れている点  関係データの保持  ACID⾜足りない点  ⼀一貫性と可⽤用性の両⽴立  スケールが苦⼿手(RDBMS全般)

Page 51: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Cassandra

DynamoDBと

⽐比べて

AWS謹製

memcached

サービス

ElastiCache

優れている点  既存memcachedプロトコル  ⾜足りない点  データの永続性はない  容量の不⾜足

ElastiCache

Page 52: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

MongoDB

DynamoDBと

⽐比べて

Dynamo

直系の⼦子孫

Cassandra

優れている点  SuperColumn  (構造が若⼲干柔軟)  ⾜足りない点  メンテナンスは⾃自前  チューニングには⾼高い技術を要する

Cassandra

Page 53: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

CouchDB

DynamoDBと

⽐比べて

ドキュメント

指向の

データベース

MongoDB

優れている点  MapReduce内蔵  BSON形式の複雑な構造データ⾜足りない点  ReplicaSet、Shardingの組み合わせは  [インフラ|エンジニア]コスト⼤大

Page 54: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

SimpleDB

DynamoDBと

⽐比べて

開発者にRelax

くつろぎ系DB

CouchDB

優れている点  全てがREST  開発者がデータベースを意識する事は殆どない⾜足りない点  冗⻑⾧長性の確保困難、  伸張性も困難

Page 55: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

まとめると

DynamoDBと

⽐比べて

ノーメンテ、

ノーコストから

始められる

NoSQL

SimpleDB

優れている点  コストが安い  SQLライクな問い合わせ  前データインデックス化⾜足りない点  10Gbyteの容量制限  1billionのアイテム数制限

SimpleDB

Page 56: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

事例も紹介まとめるとDynamoDB SimpleDB MySQL ElastiCache Cassandra MongoDB CouchDB

関係データ × × ○ × × × ×

JSON的な △ △ △ × △(SuperColumn) ○ ○

SQL × △ ○ × △(CQL) × ×

堅牢性 ◎ ◎ △ × ○ ○ ×

一貫性 ○ △ ◎ × ×(結果整合) × ×

速度 ◎ △ ○ ◎ △ ○ ×

可用性 ◎ ○ △ × ○ ○ ×

MapReduce ○ × × × △ ○(内蔵) ○(内蔵)

メンテコスト ◎ ◎ × ◎ × × ×

CAS操作 ○ × ◎ × ○ × ×

大きなデータ × × ○ × △ ○ ○

Page 57: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

クローラのデータストアとして事例も紹介

Page 58: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

例えばこんなデータ

mitsubachi

クローラの

PaaS

クローラが

集めたデータの

保存先に

クローラのデータストア

Page 59: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

テキストマイニング⽇日本最⼤大級の

ソーシャル

ネットワーク

サービス

例えばこんなデータ

Page 60: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

みんな体感して

hotaru

テキスト

マイニングの

SaaS

テキストマイニ

ングの過程で

発⽣生する⼤大量の

データの処理に

テキストマイニング

Page 61: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Nextタイトルみんな体感して

Page 62: DynamoDB コトハジメ (2012-03-03 JAWS SUMMIT2012 )

Nextタイトルみんな体感して|http://dynamo.tottokug.com/#summit2012|  |WiFi  |SSID:  BUFFALO-‑0FB4AF|KEY  :  tgsik5utp3yfu