SlideShare a Scribd company logo
DynamoDBとはとは
スキルウェンズデー@17F_アトリエエリア
いしばし げんき
自己紹介
名前:石橋 弦樹(@b0941015)
経歴
・趣味でiOSアプリを開発
・3Dプリンタに関する研究
・2015年 7月CyberZに入社
サーバーサイドエンジニアとし
てScalaの修行中
DynamoDBってご存知??
DynamoDBとは何か
• RDBMSのスケールの限界を超えるため開発され
たKVSシステム
http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
日本語版:https://gist.github.com/matope/2657692
• 高可用性
• 高拡張性
• 低い運用負荷
DynamoDBとは何か
• 完全マネージド型のNoSQLデータベースサービス
• 型があるスキーマレスなKVS
• プロビジョンドスループット
• 整合性モデル
DynamoDBとは何か
• 完全マネージド型のNoSQLデータベースサービス
単一障害点が存在しない構成
データは3箇所に保存
ストレージは必要に応じて自動的にパーテショニング
管理不要で信頼性が高い
• 型があるスキーマレスなKVS
DynamoDBとは何か
スキーマレス
事前にプライマリキーのみ決定
データ型
スカラー型…数値、文字列、バイナリ、ブール、null
ドキュメント型…JSON(リスト、マップ)
設定型…文字セット、数値セット、バイナリセット
• プロビジョンドスループット
DynamoDBとは何か
書き込み性能・読み込み性能をテーブル毎に予約
ストレージの容量制限がない
スループットは運用中に変更可能
(ただし、スケールダウンは一日4回まで)
• 整合性モデル
DynamoDBとは何か
書込
読込
少なくとも2つのAZで書込完了時点でAck
デフォルトでは結果整合性のある読込
→最新の書込結果が反映されない場合がある
一貫性のある読込(強力な整合性のある読込)
→Writeが全て反映されたレスポンスを保証
→Capacity Unitを2倍消費する
使い分け~vs RDS~
RDS
一貫性 強力
結果整合なので基本的
には無い
原始性 ある 同じテーブル内のみ
検索条件 SQLで自由自在
事前に指定キー または
インデックス
可用性 メンテナンスあり 基本的に常に利用可
拡張性
スケールアップで 天井
あり
シャーディングによる
スケールアウト
DynamoDB
検索・集計・トランザクション→RDB
キーによるデータ取得・管理がめんどくさい→DynamoDB
使い分け~vs S3~
S3 DynamoDB
保存データ ~5TB ~400KB
保存形式 非構造化Blob
インデックス化された
構造化データ
大きなオブジェクトまたはアクセス頻度の少ないデータ→S3
比較的小さなデータ, S3オブジェクトのポインタなど→DynamoDB
開発環境
開発環境
オペレーションはHTTPベースのAPIで提供
client
SDK
API Database
クライアント サーバーサイド(AWS)
HTTP API仕様: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/MakingHTTPRequests.html
開発環境
SDK対応言語(公式)
SDK対応言語(非公式)
開発環境
ローカルでも開発可能
ブラウザでGUI操作も可能
DynamoDB使ってみた
DynamoDB使ってみた
DynamoDB使ってみた
DynamoDB使ってみた
• GetItem…1件のアイテム取得
• PutItem…1件のアイテム挿入
• Update…更新
• Delete…削除
• Query…条件よりアイテムの検索
• BatchXXX…複数のアイテム操作
• Scan…全件の取得
DynamoDB使ってみた
テーブル操作について
DynamoDB使ってみた
$ aws dynamodb scan --table-name foxla-dev-friends
{
"Count": 0,
"Items": [],
"ScannedCount": 0,
"ConsumedCapacity": null
}
$ aws dynamodb put-item --table-name foxla-dev-friends --item '{"mid": {"S":"123456"},"name": {"S":"Bashio"}}’
$ aws dynamodb scan --table-name foxla-dev-friends
{
"Count": 1,
"Items": [
{
"name": {
"S": "Bashio"
},
"mid": {
"S": "123456"
}
}
],
"ScannedCount": 1,
"ConsumedCapacity": null
次回予告
• ScalaでDynamoDB使ってみた
• DynamoDBの性能ってどうなの??
まとめ
ご清聴ありがとうございました!!

More Related Content

PDF
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
PDF
現場で使えるDynamoDBと冪等デザインパターン
PDF
Tune Up AWS Lambda
PDF
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
PPTX
ビッグデータだけじゃない Amazon DynamoDBの活用事例
PDF
Talk: serverless-express
PPTX
New Cloud Design Pattern using Amazon Aurora
PDF
IoT(Bluetooth mesh) × サーバーレス
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
現場で使えるDynamoDBと冪等デザインパターン
Tune Up AWS Lambda
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Talk: serverless-express
New Cloud Design Pattern using Amazon Aurora
IoT(Bluetooth mesh) × サーバーレス

What's hot (20)

PDF
AWS Search Services
PDF
Serverless Architecture Overview #cdevc
PDF
Growing up serverless
PDF
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
PDF
Androidを中心に紐解くIoT
PDF
Introducing Serverless Computing (20160802)
PDF
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
PDF
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
PPTX
Raspberry Piを利用した顔の表情分析と感情を認識するシステム構築
PDF
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
PDF
20151207 AWS re:invent 2015 ReCap
PPTX
Stream processing on AWS
PDF
Serverless services on_aws_dmm_meetup_20170801
PDF
Morning Session - AWS Serverless Ways
PDF
AWSでアプリ開発するなら 知っておくべこと
PDF
「サーバレスの薄い本」からの1年 #serverlesstokyo
PPTX
Aurora新時代の幕開けとDynamoDBの進化
PPTX
20160312 Jaws Days 2016 API Gateway+Lambda
PDF
Amazon GameLift FlexMatch
PDF
Data Engineering at VOYAGE GROUP #jawsdays
AWS Search Services
Serverless Architecture Overview #cdevc
Growing up serverless
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
Androidを中心に紐解くIoT
Introducing Serverless Computing (20160802)
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
Raspberry Piを利用した顔の表情分析と感情を認識するシステム構築
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
20151207 AWS re:invent 2015 ReCap
Stream processing on AWS
Serverless services on_aws_dmm_meetup_20170801
Morning Session - AWS Serverless Ways
AWSでアプリ開発するなら 知っておくべこと
「サーバレスの薄い本」からの1年 #serverlesstokyo
Aurora新時代の幕開けとDynamoDBの進化
20160312 Jaws Days 2016 API Gateway+Lambda
Amazon GameLift FlexMatch
Data Engineering at VOYAGE GROUP #jawsdays
Ad

Similar to DynamoDBとはとは (20)

PDF
SQLによるDynamoDBの操作
PDF
はじめてのDynamoDBスキーマ設計
PDF
トランザクションもDWHもクラウドで 2015年10月~IBM OnDemandセミナー
PDF
DynamoDBを導入した話
PDF
Amazon Redshift 概要 (20分版)
PDF
20120409 aws meister-reloaded-dynamo-db
PDF
AWS Blackbelt 2015シリーズ RDS
PDF
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
PPTX
Lv1から始めるWebサービスのインフラ構築
PPT
Cassandra(no sql)によるシステム提案と開発
PDF
Amazon Web Services 最新事例集
PPTX
20140628 AWSの2014前半のアップデートまとめ
PPTX
初心者向け負荷軽減のはなし
PDF
About NoSQL
PDF
サーバーレスの今とこれから
PDF
PHP開発者のためのNoSQL入門
PDF
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
PDF
既存システムへの新技術活用法 ~fluntd/MongoDB~
PDF
【JAWS DAYS 2014】ランサーズを支えるRDS
PDF
マルチテナント化で知っておきたいデータベースのこと
SQLによるDynamoDBの操作
はじめてのDynamoDBスキーマ設計
トランザクションもDWHもクラウドで 2015年10月~IBM OnDemandセミナー
DynamoDBを導入した話
Amazon Redshift 概要 (20分版)
20120409 aws meister-reloaded-dynamo-db
AWS Blackbelt 2015シリーズ RDS
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
Lv1から始めるWebサービスのインフラ構築
Cassandra(no sql)によるシステム提案と開発
Amazon Web Services 最新事例集
20140628 AWSの2014前半のアップデートまとめ
初心者向け負荷軽減のはなし
About NoSQL
サーバーレスの今とこれから
PHP開発者のためのNoSQL入門
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
既存システムへの新技術活用法 ~fluntd/MongoDB~
【JAWS DAYS 2014】ランサーズを支えるRDS
マルチテナント化で知っておきたいデータベースのこと
Ad

More from Genki Ishibashi (19)

PDF
音声合成の今昔と深層学習を用いた音声合成
PDF
Twilio flex導入までの背景と苦労した話
PDF
新卒の頃に意識したかった プロダクト開発の7つのポイント
PDF
Fuzz testingとgo
PDF
仕組みから理解する人力音声認識
PDF
Redash・SQL勉強会 ~目指せクエリ女子~
PDF
re:invent2019体験記
PPTX
AmebaDSPの成長フェーズとアーキテクチャの話
PDF
CNNで作る ダメ絶対音感
PDF
DDDを導入した話
PDF
Paper Collection of Real-Time Bidding論文読み会~第一回~
PDF
A/Bテストのための検定
PDF
テックゼミ輪読会(深層学習1~2章)
PDF
スマホ広告効果測定ツール入門
PDF
楽しいビッグデータ分析入門~Presto編~
PDF
ゼロから作るダメ絶対音感
PDF
F.O.Xデータ抽出基盤をクラウド移行した話
PDF
ゼロから始めるAngular2生活
PDF
Dynamo dbとはとは続き
音声合成の今昔と深層学習を用いた音声合成
Twilio flex導入までの背景と苦労した話
新卒の頃に意識したかった プロダクト開発の7つのポイント
Fuzz testingとgo
仕組みから理解する人力音声認識
Redash・SQL勉強会 ~目指せクエリ女子~
re:invent2019体験記
AmebaDSPの成長フェーズとアーキテクチャの話
CNNで作る ダメ絶対音感
DDDを導入した話
Paper Collection of Real-Time Bidding論文読み会~第一回~
A/Bテストのための検定
テックゼミ輪読会(深層学習1~2章)
スマホ広告効果測定ツール入門
楽しいビッグデータ分析入門~Presto編~
ゼロから作るダメ絶対音感
F.O.Xデータ抽出基盤をクラウド移行した話
ゼロから始めるAngular2生活
Dynamo dbとはとは続き

DynamoDBとはとは