Submit Search
Upload
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
•
79 likes
•
27,066 views
Masahiro Akita
Follow
アンサーにおけるDynamoDBの運用経験から、非経験者に向けてハマりポイントなどを解説しました。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 84
Download now
Download to read offline
Recommended
DynamoDBを設計するに当たって利用する3つの手法(GSIの多重定義、複合ソートキー、スパースインデックス)についてお話しします。
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
Kinesis Firehoseを使ってみたお話です
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
dcubeio
Presto Meetup 201706 の発表資料です. https://techplay.jp/event/621143
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
Amazon Web Services Japan
AWS Dev Day 資料: GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
Amazon Web Services Japan
AWS CLIでAssumeRole
AWS CLIでAssumeRole
AWS CLIでAssumeRole
Tetsunori Nishizawa
2015-02-07(土)JAWS-UG KANSAI特別編 「AWSを使い倒せ。AWSのフルマネージドサービス活用によるネイティブクラウドシステムへの誘い」で発表した資料になります。
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ / Hadoop / Spark Conference Japan 2019 講演者: 関山 宜孝 (Amazon Web Services Japan) 昨今 Hadoop/Spark エコシステムで広く使われているクラウドストレージ。本講演では Amazon S3 を例に、Hadoop/Spark から見た S3 の動作や HDFS と S3 の使い分けをご説明します。また、AWS サポートに寄せられた多くのお問い合わせから得られた知見をもとに、Hadoop/Spark で S3 を最大限活用するベストプラクティス、パフォーマンスチューニング、よくあるハマりどころ、トラブルシューティング方法などをご紹介します。併せて、Hadoop/Spark に関係する S3 のサービスアップデート、S3 関連の Hadoop/Spark コミュニティの直近の開発状況についても解説します。 http://hadoop.apache.jp/hcj2019-program/
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
Cloud Spanner の実案件で学んだことを全て紹介します!
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
Recommended
DynamoDBを設計するに当たって利用する3つの手法(GSIの多重定義、複合ソートキー、スパースインデックス)についてお話しします。
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
Kinesis Firehoseを使ってみたお話です
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
dcubeio
Presto Meetup 201706 の発表資料です. https://techplay.jp/event/621143
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
Amazon Web Services Japan
AWS Dev Day 資料: GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
Amazon Web Services Japan
AWS CLIでAssumeRole
AWS CLIでAssumeRole
AWS CLIでAssumeRole
Tetsunori Nishizawa
2015-02-07(土)JAWS-UG KANSAI特別編 「AWSを使い倒せ。AWSのフルマネージドサービス活用によるネイティブクラウドシステムへの誘い」で発表した資料になります。
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ / Hadoop / Spark Conference Japan 2019 講演者: 関山 宜孝 (Amazon Web Services Japan) 昨今 Hadoop/Spark エコシステムで広く使われているクラウドストレージ。本講演では Amazon S3 を例に、Hadoop/Spark から見た S3 の動作や HDFS と S3 の使い分けをご説明します。また、AWS サポートに寄せられた多くのお問い合わせから得られた知見をもとに、Hadoop/Spark で S3 を最大限活用するベストプラクティス、パフォーマンスチューニング、よくあるハマりどころ、トラブルシューティング方法などをご紹介します。併せて、Hadoop/Spark に関係する S3 のサービスアップデート、S3 関連の Hadoop/Spark コミュニティの直近の開発状況についても解説します。 http://hadoop.apache.jp/hcj2019-program/
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
Cloud Spanner の実案件で学んだことを全て紹介します!
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
AWS公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
AWS Dev Day 資料: Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
This session, led by James Hamilton, VP and Distinguished Engineer, gives an insider view of some the innovations that help make the AWS cloud unique. He will show examples of AWS networking innovations from the interregional network backbone, through custom routers and networking protocol stack, all the way down to individual servers. He will show examples from AWS server hardware, storage, and power distribution and then, up the stack, in high scale streaming data processing. James will also dive into fundamental database work AWS is delivering to open up scaling and performance limits, reduce costs, and eliminate much of the administrative burden of managing databases. Join this session and walk away with a deeper understanding of the underlying innovations powering the cloud.
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
Amazon Web Services
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
Amazon Web Services Japan
AWS公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
AWS 公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
AWS Black Belt Tech Webinar 2014 (旧マイスターシリーズ) Amazon Kinesis
AWS Black Belt Techシリーズ Amazon Kinesis
AWS Black Belt Techシリーズ Amazon Kinesis
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Zabbix 3.0 で新たに実装された予測機能で使われる関数について 数学的、物理学的側面からの解説資料です。
Zabbix 3.0 の予測機能のための数学的理解
Zabbix 3.0 の予測機能のための数学的理解
真乙 九龍
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) NTTデータ 技術革新統括本部 システム技術本部生産技術部 インテグレーション技術センタ データ活用チーム 佐々木 徹
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
4/28 Cassandra勉強会資料
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
2018/10/5 に開催された Analytics Architecture Night - Tokyo の発表資料です https://analyticsarchitecturenighttoky.splashthat.com/
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Web Services Japan
OSC2021 Online/Fallで発表した資料です。 Zabbix 6.0はまだリリースされていませんので、この資料に記載した機能がそのまますべて実装されるとは限らないことにご注意ください。 Zabbix 4.0から5.4の変更点の振り返りにもご活用いただければと思います。
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
DynamoDBのテーブル設計手法の解説です。RDBに比べ、コスト面を最適化したDynamoDBテーブルの設計を行うのは難しいです。インターン先でDynamoDBのテーブル設計をする機会があり、その際に調査・整理した内容をスライドにまとめました。
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptx
Tetsuya Wada
AWS公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
Cassandra における SSD の活用および Scalar DB NVM Casual Talks #1
Cassandra における SSD の活用
Cassandra における SSD の活用
Yuji Ito
Internet Week 2018「Internet Week 流 Security Bootcamp」での講演資料です。 https://www.nic.ad.jp/iw2018/2018/d1/
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
Tomohiro Nakashima
Elasticsearch の検索精度のチューニング
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Tetsunori Nishizawa
FGOなど大規模ゲームの課題から学ぶゲームサーバ・インフラ勉強会でLTした資料です。 https://connpass.com/event/91736/
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
Yuto Komai
イマサラナガラDynamoDBの概要・簡単な紹介
DynamoDBとはとは
DynamoDBとはとは
Genki Ishibashi
数ある NoSQL のなかでも人気のある Amazon DynamoDB。 ビズリーチでは、日々大きくなる MySQL のデータベースを縮小する一つの手段として、いくつかのテーブルを DynamoDB に移行しました。 今回はその経験をもとに、DynamoDB の仕様や特徴から具体的な移行方法までをお話いたします。
DynamoDBを導入した話
DynamoDBを導入した話
dcubeio
More Related Content
What's hot
AWS公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
AWS Dev Day 資料: Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
This session, led by James Hamilton, VP and Distinguished Engineer, gives an insider view of some the innovations that help make the AWS cloud unique. He will show examples of AWS networking innovations from the interregional network backbone, through custom routers and networking protocol stack, all the way down to individual servers. He will show examples from AWS server hardware, storage, and power distribution and then, up the stack, in high scale streaming data processing. James will also dive into fundamental database work AWS is delivering to open up scaling and performance limits, reduce costs, and eliminate much of the administrative burden of managing databases. Join this session and walk away with a deeper understanding of the underlying innovations powering the cloud.
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
Amazon Web Services
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
Amazon Web Services Japan
AWS公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
AWS 公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
AWS Black Belt Tech Webinar 2014 (旧マイスターシリーズ) Amazon Kinesis
AWS Black Belt Techシリーズ Amazon Kinesis
AWS Black Belt Techシリーズ Amazon Kinesis
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Zabbix 3.0 で新たに実装された予測機能で使われる関数について 数学的、物理学的側面からの解説資料です。
Zabbix 3.0 の予測機能のための数学的理解
Zabbix 3.0 の予測機能のための数学的理解
真乙 九龍
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) NTTデータ 技術革新統括本部 システム技術本部生産技術部 インテグレーション技術センタ データ活用チーム 佐々木 徹
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
4/28 Cassandra勉強会資料
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
2018/10/5 に開催された Analytics Architecture Night - Tokyo の発表資料です https://analyticsarchitecturenighttoky.splashthat.com/
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Web Services Japan
OSC2021 Online/Fallで発表した資料です。 Zabbix 6.0はまだリリースされていませんので、この資料に記載した機能がそのまますべて実装されるとは限らないことにご注意ください。 Zabbix 4.0から5.4の変更点の振り返りにもご活用いただければと思います。
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
DynamoDBのテーブル設計手法の解説です。RDBに比べ、コスト面を最適化したDynamoDBテーブルの設計を行うのは難しいです。インターン先でDynamoDBのテーブル設計をする機会があり、その際に調査・整理した内容をスライドにまとめました。
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptx
Tetsuya Wada
AWS公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
Cassandra における SSD の活用および Scalar DB NVM Casual Talks #1
Cassandra における SSD の活用
Cassandra における SSD の活用
Yuji Ito
Internet Week 2018「Internet Week 流 Security Bootcamp」での講演資料です。 https://www.nic.ad.jp/iw2018/2018/d1/
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
Tomohiro Nakashima
Elasticsearch の検索精度のチューニング
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Tetsunori Nishizawa
FGOなど大規模ゲームの課題から学ぶゲームサーバ・インフラ勉強会でLTした資料です。 https://connpass.com/event/91736/
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
Yuto Komai
What's hot
(20)
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
AWS Black Belt Techシリーズ Amazon Kinesis
AWS Black Belt Techシリーズ Amazon Kinesis
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Zabbix 3.0 の予測機能のための数学的理解
Zabbix 3.0 の予測機能のための数学的理解
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptx
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Cassandra における SSD の活用
Cassandra における SSD の活用
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
Viewers also liked
イマサラナガラDynamoDBの概要・簡単な紹介
DynamoDBとはとは
DynamoDBとはとは
Genki Ishibashi
数ある NoSQL のなかでも人気のある Amazon DynamoDB。 ビズリーチでは、日々大きくなる MySQL のデータベースを縮小する一つの手段として、いくつかのテーブルを DynamoDB に移行しました。 今回はその経験をもとに、DynamoDB の仕様や特徴から具体的な移行方法までをお話いたします。
DynamoDBを導入した話
DynamoDBを導入した話
dcubeio
JAWS DAYS 2013 [DEV-02] http://jaws-ug.jp/jawsdays2013/
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
伊藤 祐策
概要:弊社が運用するWebAPIサービスをオンプレミス環境からAWSクラウド環境へ移行させた取り組みについてご紹介します。 弊社が持つデータベースはレコード数が巨大であるものの、いわゆる「ビッグデータ」的ではないデータ構造や負荷パターンを持っています。これをAmazon DynamoDB上に展開してシステムを構築しましたが、結果としてデータの特性とAmazon DynamoDBの仕様とがうまくフィットして機能していると思います。 移行にあたって感じたAWSそのものやAmazon DynamoDBの特徴のほか、コスト面・運用面での変化についてもご紹介します。典型的なユースケースについては他のスペシャリストの方にお任せするとして、「こんな使い方もできるのか」というヒントをお伝えできればと思っています。
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Ken Nakanishi
論文紹介です。
顕著性マップの推定手法
顕著性マップの推定手法
Takao Yamanaka
PRML 5.3-5.4
PRML 5.3-5.4
正志 坪坂
Swaggerを使ってAPI Gateway
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
PRMLの5章前半
PRML Chapter 5
PRML Chapter 5
Masahito Ohue
文献紹介です。
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
Takao Yamanaka
現在は機械学習ライブラリが充実しており、また、教師データの獲得も容易になっています。 そのため、機械学習のビジネス利用への敷居が下がっています。 予測や分類といった問題を解く際には、設定した課題に対してどのモデルが最も適しているかを評価するための指標(評価関数)が必要になります。 Kaggle(([有名なデータサイエンスのコンペティション](https://www.kaggle.com)))などでは評価指標が定まっていますが、実ビジネスで機械学習を応用する際には自ら評価指標を設定する必要があります。 しかし、適切な評価関数を選ぶのは初学者には難しく、またビジネスの問題設定、目的意識によっても異なります。 さらに、オフラインでの予測はユーザの実際の行動予測とはギャップがある 場合もあります。 [1] Data-Driven Metric Development for Online Controlled Experiments: Seven Lessons Learned Xiaolin Shi*, Yahoo Labs; Alex Deng, Microsoft; KDD '16 [2] 情報検索の基礎 Christopher D.Manning (著), Prabhakar Raghavan (著), Hinrich Schutze (著) 岩野 和生ら (翻訳), 共立出版 2012 [3] kaggle: https://www.kaggle.com/ そこで、多くある評価関数のうち代表的なものを幾つかをまとめました。
いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標
圭輔 大曽根
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
Takanori Ogata
Viewers also liked
(11)
DynamoDBとはとは
DynamoDBとはとは
DynamoDBを導入した話
DynamoDBを導入した話
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
顕著性マップの推定手法
顕著性マップの推定手法
PRML 5.3-5.4
PRML 5.3-5.4
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
PRML Chapter 5
PRML Chapter 5
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
Similar to 日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
とある勉強会向け資料です。
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャ
Keisuke Nishitani
HTML5J AWS でできるIoT
HTML5J AWS でできるIoT
HTML5J AWS でできるIoT
Toshiaki Enami
20151030
現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン
cmaraiyusuke
2015年4月にSan FranciscoのAWS Pop-up Loftで勤務した中でベイエリアのStartup企業のCTO/エンジニアの方たちからの質問やフィードバックをいただいた内容をまとめました。
Bay Area Startup Report - IVS CTO Night & Day in Miyazaki
Bay Area Startup Report - IVS CTO Night & Day in Miyazaki
Eiji Shinohara
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNE
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
2015/12/10 AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用
Amazon Web Services Japan
11/27に開催された「最新AWS活用事例LT大会!(ビール付き)」での発表資料です。 http://lmn.connpass.com/event/23001/
面白いは正義
面白いは正義
Yasuhiro Horiuchi
AWS Summit 2017で喋りました資料となります。
AWSのNoSQL入門
AWSのNoSQL入門
Akihiro Kuwano
Atc301 dame 1 million bids in 100ms - using aws to power your real time bidder final_cmt_翻訳
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
Amazon Web Services Japan
AWSをフル活用することで、地方の小さな会社が、 わずか1年で世界を目指すビジネスモデルの基礎を構築できたよもやま話
AMIMOTO on AWS Market Place
AMIMOTO on AWS Market Place
Hiromichi Koga
成長していくサービスとAWS
成長していくサービスとAWS
成長していくサービスとAWS
Mitsuharu Hamba
AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCap
Kiyonori Kitasako
【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile Updates
Amazon Web Services Japan
2017/06/13開催: AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
Amazon Web Services Japan
[オンライン開催]初心者歓迎!!AWSなんでもLT会 #2 https://ncdc-dev.connpass.com/event/221523/ こちらのイベントに登壇した時の資料です。
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポ
かの たん
AKIBA.aws 第3回 特別編 re:Invent報告&2017年AWSサービスアップデート総括において、re:Invent2017におけるAuroraとDynamoDBのアップデート内容について振り返ります。
Aurora新時代の幕開けとDynamoDBの進化
Aurora新時代の幕開けとDynamoDBの進化
Classmethod,Inc.
IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄
Toshiaki Enami
SmalltalkとAWSでクラウドサービスを作ってみた。 DynamoDB for Smalltalkを作った話。 AWS Cloud Roadshow 2014 名古屋 LT大会で発表 http://roadshow.awseventsjapan.com/nagoya/index.html
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
Sho Yoshida
Amazon CloudSearch, Amazon Elasticsearch Serviceのご紹介
AWS Search Services
AWS Search Services
Eiji Shinohara
So net
So net
awsadvantageseminar
Similar to 日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
(20)
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャ
HTML5J AWS でできるIoT
HTML5J AWS でできるIoT
現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン
Bay Area Startup Report - IVS CTO Night & Day in Miyazaki
Bay Area Startup Report - IVS CTO Night & Day in Miyazaki
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用
面白いは正義
面白いは正義
AWSのNoSQL入門
AWSのNoSQL入門
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
AMIMOTO on AWS Market Place
AMIMOTO on AWS Market Place
成長していくサービスとAWS
成長していくサービスとAWS
20151207 AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCap
【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile Updates
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポ
Aurora新時代の幕開けとDynamoDBの進化
Aurora新時代の幕開けとDynamoDBの進化
IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
AWS Search Services
AWS Search Services
So net
So net
Recently uploaded
https://iotlt.connpass.com/event/318403/
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
Ayachika Kitazaki
2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
第23回 Customer系エンジニア座談会 の LT 公開用スライドです。 https://customer-x-engineer.connpass.com/event/314639/ クラウド電話システム CallConnect に興味を持った方はこちら。 https://www.callconnect.jp/?slideshare お気軽にフォロー/DM お待ちしています。 https://x.com/24guchia https://www.facebook.com/eiichi.nishiguchi
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
瑛一 西口
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料) 2024年4月24日(水) 株式会社NTTデータグループ 技術開発本部 笠原 辰仁
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
Security-JAWS【第33回】 勉強会 https://s-jaws.doorkeeper.jp/events/173294
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
keikoitakurag
サイバーエージェントAI事業部の新卒研修で利用したスライドを公開します。
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
2024/05/25 serverless Meetup osaka
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
This presentation introduces a paper about offline reinforcement learning.
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
YouTube nnabla channelの次の動画で利用したスライドです。 【AI論文解説】Consistency ModelとRectified Flow https://youtu.be/3IKCrAPe55k Consistency ModelとRectified Flowに関連する以下の論文を紹介しています。 Consistency models(解説編Part1で紹介) - “Consistency Models,” ICML 2023. - “Improved Techniques for Training Consistency Models,” ICLR 2024. - “Consistency Trajectory Models: Learning Probability Flow ODE Trajectory of Diffusion,” ICLR 2024. Rectified flow(解説編Part2で紹介) - “Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow,” ICLR 2023. - “InstaFlow: One Step is Enough for High-Quality Diffusion-Based Text-to-Image Generation,” ICLR 2024.
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
This presentation introduces a paper about offline reinforcement learning.
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
Recently uploaded
(11)
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
1.
日本最大の即レスサービス 「アンサー」を支える Amazon DynamoDB 2015/6/3 at AWS
Summit Tokyo 2015 デベロッパーカンファレンス nanapi Inc. Masahiro Akita
2.
自己紹介 •2011年4月nanapi入社 (5年目) •主にサーバーサイドをやってます •akiyan.com という個人ブログを書いてます 秋田
真宏 / あきやん 株式会社 nanapi エンジニア (社員) 2
3.
アンサーとは •即レスコミュニケーションサービス •iOS / Android
ネイティブアプリ展開 •リリースから約1年半 •2014年12月時点で累計1億コメント 3
4.
こんな感じ 4
5.
DynamoDBとは •フルマネージドで管理不要なデータストア •マルチAZに分散保存で高可用性 •設定値だけで自動スケール •合計容量の限界なし •スループット課金 •スキーマレス •インデックスが作れる 5
6.
デベロッパーにとってのDynamoDBとは なんかすごい夢のデータストアサービス? 6
7.
DynamoDBを運用する前のイメージ •お金をかければかけたぶんだけスケール するらしくてすごい •KVS(NoSQL)だけどインデックスも張れ るからRDBの代わりにもなりそう •インデックスを張らなくても強引にRDB 的なこともできそう 7
8.
DynamoDBを運用した後のイメージ •DynamoDBはKVSである •RDBの代わりとして使うべきではない •前提を理解していればスケールする •前提を理解していなければスケールしな い 8
9.
今回の発表の立ち位置 アンサーにおけるDynamoDBの 運用後に得られた経験から 運用前の自分に向けて伝えたいこと 9
10.
話す内容 •DynamoDBの基礎と導入の経緯 •スループットにまつわるあれこれ •スケーラビリティの確保 •インデックスとは何か •インポートのベストプラクティス •バックアップは難しい •おすすめの学習方法 10
11.
DynamoDBの基礎知識 11
12.
DynamoDBの基礎の基礎 •テーブルの種類 •スループット •主なAPI 12
13.
テーブルの種類 •テーブルは2種類ある •HASHテーブル •HASH + RANGEテーブル 13
14.
HASHテーブル •一意なキーでItemが決定する、いわゆる KVS的なテーブル •できることがKVS以上でも以下でもない ので、安心して使える 14
15.
HASH + RANGE
テーブル •HASHキーとRANGEキーの2種類の値の組み 合わせでItemが決定する •HASHとRANGEの組み合わせはユニークで ある必要がある •HASHキーのみでも取り出すことができる •HASHキーに追加でRANGEキーを対象に範 囲など条件指定して取得が可能 •取得時にRANGEキーで昇順降順のソートが 可能 15
16.
スループットとは •DynamoDBが内部のパーティション(ス トレージ)からItemを読み書きした容量 •ネットワークの転送量ではない •必要なスループットは予め設定し、設定 値によって1時間単位で課金される •設定値は「キャパシティーユニット (CU)」 と呼ぶ •設定値の変更はオンラインで実行可能 16
17.
主なAPI •getItem (1件取得) •query (1HASHに対してRANGEキーで 検索複数取得) •putItem
(1件更新) •updateItem (特定のカラムを更新、アト ミックインクリメント等) 17
18.
DynamoDBの導入経緯 18
19.
RDBの限界 •RDS上のMySQLでマスタースレーブ構成 •1000万レコード級のALTERは辛い •ALTERすると派手にスレーブ遅延する •ALTERするときは一時的にマスターDBをス ケールアップしてアクセスを集中させていた •マスターDBのスケールアップの限界が見え てきた 19
20.
少ない手間でスケールする点に注目 •DynamoDBは設定だけでスケールして限 界が無いのが素敵すぎるしフルマネージ ドで管理不要 •レスポンスは十分速そう •容量課金は安そう •スループット課金はどれくらいになるか わからないが、他のメリットが大きいの で許容されるリスクとした 20
21.
実際の用途 •投稿内容のレプリカ •スポット参加状態のレプリカ •ユーザーログインセッション •シーケンス生成器 21
22.
スループットのコスト 22
23.
コストはキャパシティーユニットの設定値で決まる •キャパシティーユニットは読み書き別々に 設定する •書き込みユニットは1WCUあたり1KBの 性能で、10ユニットで $0.00742 (Tokyo) /
時間 •読み込みユニットは1RCUあたり4KBの性 能で、50ユニットで $0.00742(Tokyo) / 時間 •性能は「秒間あたり」の性能となる 23
24.
スループット課金額例 •毎秒 100KB の読み込みスループットを 確保するには
100KB / 4KB = 25 RCU が必要 •$ 0.00742 * 25(RCU) * 24(hour) * 30(days) = $ 133 / Month 24 Itemサイズ平均 1KB 1リクエストあたり 10Item読み込み 秒間アクセス 10アクセス
25.
スループット消費量の確認方法 •現在消費しているスループットはマネジ メントコンソールから5分単位で確認でき る •リクエストごとに消費したスループット は、APIの返り値で確認できる(ただしお およそで、多めに盛られ気味) 25
26.
スループット消費グラフ 26
27.
消費スループットのAPIの返り値 # aws dynamodb
query … ̶return- consumed-capacity TOTAL ¦ jq .ConsumedCapacity { "CapacityUnits": 1.5, "TableName": expample_table } 27
28.
DynamoDBの主なコストはスループット •DynamoDBのコストボトルネックはスルー プット量になる •容量課金は安い (そもそも大きなデータを 格納できないし、しないし、データが大 きいとスループットのほうが先に高額に なる) •転送量課金も安い(同一リージョン内な ら無料) 28
29.
スループット増大に注意 29
30.
RDBのように使うとスループットが増えがち •RDBのように多めのレコードを富豪的に 読み込もうとすると、スループット破産 する •どうしてもRDB的に使うなら、テーブル をカラムごとの利用頻度によって分割し たり、アイテムごとにキャッシュしてス ループット消費を抑えよう 30
31.
スループット破産例 •例えば256KBのItemを50件読み込む要 件があると、少なくとも一度に「1,600 RCU」を消費する •1600 RCU をプロビジョニングすると月 額
$170 (Tokyo) が必要 •この要件で毎秒あたり10ユーザーが同時 アクセスして遅延なく応答するには 16,000 RCU が必要になり月額 $1,900 の課金になる。 31
32.
KVSのように使おう •RDBのように使わずKVSのように使って いれば現実的なスループットに収まるは ず •スループット消費を抑えようとすると、 結果的にKVS的な利用に限定される •スループット課金額からして、DynamoDB はそもそもKVS的な利用を想定している と思う 32
33.
KVS的な使い方とは •KVSでは毎回大量のItemを読み書きした りはしない •KVSでは1Itemをやたら大きくしたりは しない •256KBはDynamoDBとしては大きすぎ る部類。最大でも400KB 33
34.
節約できそうでできない スループット 34
35.
DynamoDBは一度に複数Itemの取得が可能 •「query」で、RANGEテーブルやインデッ クスから一度に複数Itemを読み込むこと ができる •HASH のみか、HASH と
RANGE の条 件指定での読み込みが基本 35
36.
LIMITをつけてもスループットは節約できない •「LIMIT」はquery APIのパラメータ •パーティションから複数のItemを読み込ん だ後に、結果セットの数を制限してくれる •LIMITの指定でスループットは減ることは ない •HASH +
RANGE テーブルで、RANGEの 指定無しでもLIMITをつければいかにもス ループットが減りそうだが、減らない 36
37.
HASH + RANGE
テーブルでスループット消費を抑えるには •先頭n件を取得する場合、スループットを 節約しようとするなら、適当なRANGEキー を範囲指定しなければならない •適当なRANGEキーの決定は通常は無理が ある場合がほとんど •スループット消費低減のためにインデック スを用意すると、追加の書き込みスループッ トが必要になるので悩ましい •あちらを立てればこちらが立たず状態 37
38.
そもそもn件取得はKVS的でない •「先頭/末尾のn件を取得」という要件が、 そもそもKVS的でない (DynamoDBに向 いていない) •時系列データをスループット消費の観点で 効率的に読み込むには前提と工夫が必要 •例えば「Itemは24時間以内に必ずexpire する」などの前提があれば、RANGE値を 24時間のexpireに限定してクエリに指定 できる 38
39.
フィルタを指定してもスループットは節約できない •「フィルタ」はquery APIのパラメータ •パーティションからItemを読み込んだ後 に、結果セットのデータを絞り込んでく れる機能 •絞り込み条件にはあらゆるキーを指定出 来る •読み込んだあとの絞り込みなので、スルー プットは絞り込み前の結果で消費される 39
40.
フィルタの使いどころ •query は結果セットの容量に1MBの制限 がある •結果セットが1MBを超えるようなリクエ ストで、取得後に絞り込みが必要な場合 の、リクエスト回数の削減用 •転送量の削減にもなる •アプリケーションサーバー側のCPU節約 としてもよい 40
41.
LIMITとフィルタを組み合わせると、LIMITが先に適用される •LIMITとフィルタを組み合わせると、 「LIMITで制限してからフィルタで絞り込 む」という挙動になり、LIMITの数より少 ない結果セットになる •RDB脳からすると直感的でない挙動 41
42.
スループットの主な節約手段 •キャッシュの活用 •「結果整合性」での読み込み 42
43.
「結果整合性」とは •DynamoDBからの読み込みには「強い整 合性」と「結果整合性」の2種類があり、 場合によって選択可能 •「結果整合性」は「強い整合性」の読み 込みに比べて、 半分のスループットで読 み込める 43
44.
整合性をRDBに例えるなら •「強い整合性」はマスターDBからの読み 込み相当。完了済みの書き込みAPIリクエ ストの結果が確実に取得できる •「結果整合性」はスレーブDBからの読み 込み相当。書き込み同期遅延(レプリカラ グ)の発生が前提 •遅延が許される箇所であれば積極的に「結 果整合性」での読み込みを行う 44
45.
スループットが足りない時は 45
46.
いつスループットが足りなくなるのか •一度のリクエストで消費できるスループッ トは限られている •プロビジョニングされたスループットと、 現在消費されているスループットの差で、 1度に消費できるスループット量が決まる 46
47.
スループットが足りないときの挙動 •getItem(1件の取得)であれば、回復まで 待たされるかタイムアウトする •query(複数件の取得)の場合、残量ぶんの Itemを読み込んだらその次点で結果セッ トを返す •ゆえに、複数取得では1リクエストで全て のItemを取得できないことがある 47
48.
複数取得では再帰実行が必須 •複数件を確実に取得するには、再帰的な 処理を仕込む必要がある •APIの返り値に追加読み込み用の項目があ るので、それを元に再帰実行するかを判 断できる •結果セットの容量に1MBの制限があり、 こちらも同様の考慮が必要になる 48
49.
スループットのオートスケーリングは無い •DynamoDBの機能としてのオートスケー リングは無く、サードパーティ製のスケー ラがあり、公式から推奨されている •KVS的な利用に限定していれば、そこそこ の規模まで十分安く運用できるのでオート スケールは最初は気にしなくていい •スケールアップ回数は無限だが、スケール ダウンは1日4回まで 49
50.
隠れスループットの存在 •設定値とは別に隠れたスループットが用意 されており、ユーザーも使用可能 •ただしこれはAWS側がメンテナンスのた めに用意したスループットなので、いつで も使えることを期待してはいけない •とはいえ開発環境用の小さなスループット 設定のテーブルに対してバッチ実行をする ときなどに、スループットがバーストして いるように振る舞うのでそこそこ便利 50
51.
スケーラビリティの確保 51
52.
スケールに必要な前提とは •ハッシュアクセスを分散させる •パーティションの分割を想定する 52
53.
ハッシュアクセスを分散させる •同一HASHへの連続した書き込みは、分 散したHASH書き込みに比べて性能が低 い •PVや投票のような激しい書き込み用途に 使う際は、HASHを分割して保存するな ど工夫が必要 •RANGEが異なってもHASHが同じ場合は、 同一HASHとみなされる 53
54.
パーティションの分割を想定する •容量もしくはプロビジョニング量によってデータ が複数のパーティションに分割され、プロビジョ ニングされたスループットはパーティションごとに 均一に振り分けられる •パーティション分割は容量が10GB単位、スループッ トは RCUを3000で割った数とWCUを1000で割っ た数の合算値で決まる •パーティションが複数で、アクセスされるハッシュ が偏ると、スループットを使い切れない場合がある 54
55.
容量増加で性能低下する場合がある •10GBと3,000 RCUはそうそう到達しないが、 それでも想定する必要はある。特に容量 •アンサーではコメントデータをDynamoDB に同期しているが、20GBを超えており3パー ティション化されている •アンサーのコメントはHASHがスポットID、 RANGEがコメントIDになっている •スポットIDへのアクセスは十分に分散してい るので、スループットを使いきれている 55
56.
インデックスの特性 56
57.
インデックスの実態は「自動で作られる別のテーブル」 •ローカルセカンダリインデックス(LSI)も、 グローバルセカンダリインデックス(GSI) も、実態としては「別のテーブル」 •インデックスに対して読み込みにおいて できることは HASH+RANGE テーブル にできること以下になる •多少の例外はあるが、やはり基本はテー ブルと同じ 57
58.
LSIの特性 •LSIの実態は「テーブルと同じHASHで別 のRANGEを持った複製テーブル」 •例えばテーブルの定義ではRANGEを「作 成日」にして、LSIでは「更新日」にする など •複製したぶんだけ容量が増え、書き込み スループットも追加で要する •スループットはテーブルと共有する 58
59.
LSIの制限 •LSIはテーブル作成時にしか定義できない のでよーく考えてつけるべき •作成出来るLSIはテーブルあたり5つまで •LSIは「強い整合性」での読み込みが出来 る(ラグなしで読み込める) •アンサーではまともに使っている箇所は ない 59
60.
GSIの特性 •GSIの実態は「選択したカラムをHASHと して複製したテーブル」 •RANGEありなし、どちらもOK •例外として、GSIではHASH or HASH+RANGEはユニークでなくても別々 のItemとして保存され、参照可能 •スループットは独自に設定する 60
61.
GSIの制限 •テーブルとLSIでは1HASHあたり10GB の容量制限があるが、GSIには無い •テーブル作成後でも作れるし削除できる •作成出来るGSIはテーブルあたり5つまで •「強い整合性」での読み込みが出来ない (ラグの発生を前提にしなければならな い) 61
62.
インデックスにも十分なスループットが必要 •書き込みリクエストにおいて、インデッ クス側のみスループットが足りないとき でも、テーブルへの書き込み性能が低下 する。 •インデックスの作り方によってはHASH が集中するので、HASH集中による性能 低下が起きないか注意が必要 62
63.
インデックスの運用は結構難しい •追加の書き込みスループットが必要 •とりあえず作っておけばいいものではな い •RDBとの併用を考えるべき 63
64.
インポートのベストプラクティス 64
65.
マネジメントコンソールからインポートできる •マネジメントコンソールから簡単にイン ポート操作が行える 65
66.
インポートの動作 •DataPipelineとして動作する •インポートするファイルはS3を経由する •インポート速度(スループット消費量) は指定できる 66
67.
データフォーマットはマニュアルに載ってる •PHP SDKにエクスポート用のデータ列に フォーマットして返す機能は見つけられ なかった •フォーマットはシンプルなので、マニュ アル通りに自分でフォーマットすればよ い •「AWS Data
Pipeline」の項目に記載さ れている 67
68.
データフォーマット •STX/ETX/LF で区切られたそこそこシン プルな行指向データ 「データエクスポートファイルの確認」 で検索するとヒットするはず 68
69.
HASH分散しないと速度がでない •素朴に時系列でデータを並べてインポート したらスループットを使い切れなかった •サポートに問い合わせると、同一HASHへ の連続した書き込みが起きていて使い切っ てないようだ、というアドバイスを得た •HASHを分散して並べたデータをインポー トさせたらちゃんとスループットが出た •HASH分散超大事 69
70.
HASH集中してるデータをインポートするには •そうはいってもどうしてもHASHが集中し ているデータをインポートする場合がある •その場合はゆっくりじっくり時間をかけて インポートするしかない…と思う •アンサーで行ったのは最大で10日間 •インポート時にはタイムアウト時間を設定 する必要があり、UIからは9999時間まで 設定できそう 70
71.
バックアップは難しい 71
72.
マスターデータのバックアップをどうするか •DynamoDB はレプリカやユーザーセッ ションとして使い始めた •どちらもDynamoDB自体のバックアップ は不要 •慣れてきたのでDynamoDBをマスターデー タとして使い始めてみた •そういえばバックアップはどうしよう? 72
73.
DynamoDBのバックアップに銀の弾丸なし •結論として、大容量のテーブルに大して は、現状で簡単なソリューションは無い •全てのデータを読み込むことはできるが、 現実的な時間で完了させるにはスルー プット消費がとんでもないことになる •「データ全体にアクセスする」「大量の Itemを一気に読み込む」といった要件に ついて、DynamoDBは無頓着っぽい 73
74.
データが消えることは無いはず •3つのAZに複製されるのでItemが消える ことはないはず •大量のItemを一度に消す方法はテーブル 削除以外にはないので、誤操作のリスク は限定的 •誤操作はIAMの権限で防止しよう 74
75.
データの向き不向き 75
76.
DynamoDBに向いているデータ •例えば、スレッド型掲示板のコメント、 ユーザーの行動ログ •遅延が許されない要件 •何らかの順序で小さく分割可能 •アクセスが分散すること •際限なく増えるデータ 76
77.
DynamoDBに向いていないデータ •インデックスの必要性が高い •データ全体の走査が必要 77
78.
おすすめの学習方法 78
79.
SlideShareのDynamoDB関係資料を通読 •AWS マイスターシリーズ •AWS Black
Belt Techシリーズ •Deep Dive •公式以外も有用なものが多い 79
80.
「よくある質問」の通読 •マジでよく書かれてる •サポートに質問していた内容がほとんど すべて載っていた 80
81.
手を動かす •悩んだらテーブルを作ってクエリを打つ •マネジメントコンソールからデータを編 集できる •単発のクエリは aws cli
が便利 81
82.
DynamoDBを今後も使うか 82
83.
DynamoDBは今後も使いたい •使ってみてよかった。簡単にスケールす るインフラは素敵だ •KVS的な要件があれば今後も積極的に使 いたい •前提さえ守れば運用はスループットを監 視するだけなので手間が少ない •将来的に AWS Lamda
との併用も魅力 83
Download now