SlideShare a Scribd company logo
1 of 18
Download to read offline
四
                           ⽉月
                           ⼗十
                           三
                           ⽇日
CloudDesignPattern night
Counter  Table   ⽬目的
⽬目的                           実装
                 データ件数に関わらず変わらぬ
                        パフォーマンスで
                 合計、countなどの集計が欲しい



        KVSを利⽤用しているとGROUP化が出来ないため、
        条件に合うデータの数や、数値の合計、数値の平均
        等を求めるためには、アプリケーション側で実装す
        る必要があった。
        データの件数が増えても、変わらぬパフォーマンス
 KVSの弱点
        でこれら集計結果の値を取得したい。
実装                                 構造

                    集計専⽤用のテーブルを作る


                ItemのUpdate,Put,Deleteの際に
                                  集計専⽤用
     集計専⽤用のテーブルを作成する。
     ItemのUpdate,Put,Deleteを⾏行う際
     同時に集計専⽤用テーブルの値もUPDATEする
     (CAS操作)
     アイテム数に制限のないDynamoDBなら可能
     データ本体はSimpleDBでも良い
構造           利点


      sum
     count




     data
利点                      注意点




     データ量が増えたとしても集計の処理がなくなり、
     時間は1回のReadの時間になるので、集計のパ
     フォーマンスが保証される
注意点                            利⽤用事




      予めGROUP化するAttributeを決める必要がある。
      必要なWriteUnitが単純に2倍以上になる。
      但し、集計するためにReadを6回以上しそうなデー
      タ量であればコストは安くなる。
利⽤用事例                           寄贈し


          データ
        マイニング
    データマイニングでは、⼤大量のデータを扱う
    ⼤大量のデータ使うなら、なにも考えずに
    DynamoDB使いたい。
    だけどDynamoDBだとSUM,AVG,COUNTとか⾟辛
    い。そんな時
寄贈したアーキテクト
     好きなAWS
     DyamoDB
     SimpleDB            JAWS-‑UG  Osaka
     CloudSearch                @tottokug
  ⼀一⾔言 わざわざTableを作らなくても、同じテーブルの
       Itemでやったらいいんじゃないか?という説もある
       けれど、

    CounterTableと⾔言いたかっただけです。
もうひとつ
Temporary  Table   ⽬目的
⽬目的                        実装
               データベースのコストを下げる




      集計処理がしたいようなデータを扱っています。
      時間課⾦金のデータベースを利⽤用していると、もしア
      クセスが無くても費⽤用が掛かってしまう。
      スペックの⾼高いものを使うようだと、もう⼤大変
実装                                 構造
                    CPU使⽤用時間や、データ量に
                    よって課⾦金されるサービスに
                              ⼀一時的に書込



     RDBMSに⼊入れるはずのデータを
     ⼀一旦仮でQueueや単価の低いストレージに⼊入れ、
     その後、定期的にバッチ処理などでデータベースに
     格納する。
     バッチ処理⽤用のサーバはScheduled  Autoscalingパ
     ターンを利⽤用
構造   利点
利点                           注意点




     RDBMSは読込が必要な時とtemporaryからデータ
     を移す時だけたちあげておけば良い。
     書込がぐんと減るので、RDBMSのスペックを⼀一つ
     下げられるかもしれない。

     コストダウン出来る。
注意点                       利⽤用事




      リアルタイムでの集計は出来ない。
      タイムラグがあっても問題ないデータの集計をする
      のに向いている。
利⽤用事例                         寄贈し


    Webサービスの
           課⾦金
    APIコールがある毎に課⾦金情報をRDBMSに⼊入れて
    いたら⼤大変。
    ⼀一時テーブルに⼊入れておいて、⽉月次の〆の処理をす
    るのも⼤大変
    そんな時にTemporary  Table  Pattern
    1⽇日⼀一回とかRDBMSに移す。
寄贈したアーキテクト
     好きなAWS
     DyamoDB
     SimpleDB          JAWS-‑UG  Miyazaki
     CloudSearch               @tottokug
  ⼀一⾔言 c1.mediumより上のインスタンス使ったら負けかな
       と思ってます。
     microしか使わないのが理想

More Related Content

What's hot

AWSクラウドサービスツアー
AWSクラウドサービスツアーAWSクラウドサービスツアー
AWSクラウドサービスツアーa-hisame
 
CfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するCfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するDaisuke Nagao
 
Table storage&sql azure jazug
Table storage&sql azure jazugTable storage&sql azure jazug
Table storage&sql azure jazugSurf174
 
Microsoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data WarehouseMicrosoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data WarehouseMicrosoft
 
Try aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigataTry aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigataMasayuki Sakamoto
 
GCPUG-FUKUOKA データ加工&可視化ハンズオン
GCPUG-FUKUOKA データ加工&可視化ハンズオンGCPUG-FUKUOKA データ加工&可視化ハンズオン
GCPUG-FUKUOKA データ加工&可視化ハンズオンWasaburo Miyata
 
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験Takahiro Moteki
 
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at  づや会Vol.3AWS Lambda を使ってみた話 at  づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3ko ty
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩Fumito Ito
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編GoAzure
 
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイスTakahiro Moteki
 
JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料Daisuke Nagao
 
Quincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読む
Quincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読むQuincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読む
Quincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読むperyaudo
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introductionMisa Kondo
 
ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介Yasuhiro Araki, Ph.D
 
AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?株式会社クライム
 
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送Google Cloud Platform - Japan
 

What's hot (20)

Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
 
AWSクラウドサービスツアー
AWSクラウドサービスツアーAWSクラウドサービスツアー
AWSクラウドサービスツアー
 
BigQuery + Fluentd
BigQuery + FluentdBigQuery + Fluentd
BigQuery + Fluentd
 
速習 AWS Lambda
速習 AWS Lambda速習 AWS Lambda
速習 AWS Lambda
 
CfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するCfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築する
 
Table storage&sql azure jazug
Table storage&sql azure jazugTable storage&sql azure jazug
Table storage&sql azure jazug
 
Microsoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data WarehouseMicrosoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data Warehouse
 
Try aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigataTry aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigata
 
GCPUG-FUKUOKA データ加工&可視化ハンズオン
GCPUG-FUKUOKA データ加工&可視化ハンズオンGCPUG-FUKUOKA データ加工&可視化ハンズオン
GCPUG-FUKUOKA データ加工&可視化ハンズオン
 
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
 
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at  づや会Vol.3AWS Lambda を使ってみた話 at  づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
 
JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料
 
Quincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読む
Quincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読むQuincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読む
Quincy: Fair Scheduling for Distributed Computing Clusters (SOSP’09) を読む
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
 
ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介
 
AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?
 
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
 

Similar to Counter Table Pattern & Temporary Table Pattern (2012-04-13 CDP Night)

Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallShinpei Ohtani
 
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueNoritaka Sekiyama
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集SORACOM, INC
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysKenta Suzuki
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysVOYAGE GROUP
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deploymentssmdkk
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンAmazon Web Services Japan
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopTakashi Kambayashi
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-Amazon Web Services Japan
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたSunao Tomita
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送Google Cloud Platform - Japan
 
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用Amazon Web Services Japan
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築伊藤 祐策
 
[Cloud OnAir] ケーススタディから学ぶ GCP で行うデータ エンジニアリング 2019年6月6日 放送
[Cloud OnAir] ケーススタディから学ぶ  GCP で行うデータ エンジニアリング 2019年6月6日 放送[Cloud OnAir] ケーススタディから学ぶ  GCP で行うデータ エンジニアリング 2019年6月6日 放送
[Cloud OnAir] ケーススタディから学ぶ GCP で行うデータ エンジニアリング 2019年6月6日 放送Google Cloud Platform - Japan
 
AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術gree_tech
 

Similar to Counter Table Pattern & Temporary Table Pattern (2012-04-13 CDP Night) (20)

Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
 
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
 
FukuokaCloud_Azure
FukuokaCloud_AzureFukuokaCloud_Azure
FukuokaCloud_Azure
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public
 
Serverless analytics on aws
Serverless analytics on awsServerless analytics on aws
Serverless analytics on aws
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for Hadoop
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
 
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
[Cloud OnAir] ケーススタディから学ぶ GCP で行うデータ エンジニアリング 2019年6月6日 放送
[Cloud OnAir] ケーススタディから学ぶ  GCP で行うデータ エンジニアリング 2019年6月6日 放送[Cloud OnAir] ケーススタディから学ぶ  GCP で行うデータ エンジニアリング 2019年6月6日 放送
[Cloud OnAir] ケーススタディから学ぶ GCP で行うデータ エンジニアリング 2019年6月6日 放送
 
AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術
 

More from Ryuichi Tokugami

Attention is all you need!!! を入門する前に
Attention is all you need!!! を入門する前にAttention is all you need!!! を入門する前に
Attention is all you need!!! を入門する前にRyuichi Tokugami
 
Azure Databricksで始めるSpark 構築から活用までの第一歩
Azure Databricksで始めるSpark 構築から活用までの第一歩Azure Databricksで始めるSpark 構築から活用までの第一歩
Azure Databricksで始めるSpark 構築から活用までの第一歩Ryuichi Tokugami
 
de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?
de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?
de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?Ryuichi Tokugami
 
改めまして、Cognitive ToolKit です。
 改めまして、Cognitive ToolKit です。 改めまして、Cognitive ToolKit です。
改めまして、Cognitive ToolKit です。Ryuichi Tokugami
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、DatabricksでもやってみましょうかRyuichi Tokugami
 
Azure MLで機械学習をやってみよう
Azure MLで機械学習をやってみようAzure MLで機械学習をやってみよう
Azure MLで機械学習をやってみようRyuichi Tokugami
 
UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)
UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)
UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)Ryuichi Tokugami
 
初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )
初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )
初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )Ryuichi Tokugami
 
Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)
Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)
Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)Ryuichi Tokugami
 
JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )
JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )
JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )Ryuichi Tokugami
 
"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)
"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)
"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)Ryuichi Tokugami
 
AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)
AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)
AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)Ryuichi Tokugami
 
AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)
AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)
AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)Ryuichi Tokugami
 
Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)
Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)
Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)Ryuichi Tokugami
 
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)Ryuichi Tokugami
 
Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)Ryuichi Tokugami
 
サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)
サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)
サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)Ryuichi Tokugami
 
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会Ryuichi Tokugami
 

More from Ryuichi Tokugami (20)

Attention is all you need!!! を入門する前に
Attention is all you need!!! を入門する前にAttention is all you need!!! を入門する前に
Attention is all you need!!! を入門する前に
 
Azure Databricksで始めるSpark 構築から活用までの第一歩
Azure Databricksで始めるSpark 構築から活用までの第一歩Azure Databricksで始めるSpark 構築から活用までの第一歩
Azure Databricksで始めるSpark 構築から活用までの第一歩
 
de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?
de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?
de:code 2019 AI04 あなたがコルタナさんに「ラーメン」と尋ねたとき、それはコルタナさんに何を求めていますか?
 
改めまして、Cognitive ToolKit です。
 改めまして、Cognitive ToolKit です。 改めまして、Cognitive ToolKit です。
改めまして、Cognitive ToolKit です。
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか
 
Silk
SilkSilk
Silk
 
Azure MLで機械学習をやってみよう
Azure MLで機械学習をやってみようAzure MLで機械学習をやってみよう
Azure MLで機械学習をやってみよう
 
UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)
UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)
UserDataでEC2をより便利に (2013-07-25 Jawsug中央線 第0回)
 
初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )
初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )
初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )
 
Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)
Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)
Elastic beanstalk AWS 初心者から 次の一歩へ (2013-04-27 JAWS-UG つくば 第1回 勉強会)
 
Autoscalingとか
AutoscalingとかAutoscalingとか
Autoscalingとか
 
JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )
JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )
JAWS-UG アップデート (2012-09-14 JAWS-UG 第13回 勉強会 )
 
"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)
"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)
"restaurant démonstration" (2012-09-01 クラウドごった煮 第6回 AWS枠)
 
AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)
AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)
AWSアップデート (2012-08-27 JAWS-UG 札幌 第7回 勉強会)
 
AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)
AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)
AWS上にサービスを作る (2012-06-22 JAWS-UG 福岡)
 
Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)
Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)
Talking about love for DynamoDB & SimpleDB (2012-06-05 CloudDB Night)
 
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
 
Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)
 
サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)
サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)
サンタクラウド番外編 (2011-12-22 第11回 AWS User Group - Japan 東京勉強会)
 
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
 

Counter Table Pattern & Temporary Table Pattern (2012-04-13 CDP Night)

  • 1. ⽉月 ⼗十 三 ⽇日 CloudDesignPattern night
  • 2. Counter  Table ⽬目的
  • 3. ⽬目的 実装 データ件数に関わらず変わらぬ パフォーマンスで 合計、countなどの集計が欲しい KVSを利⽤用しているとGROUP化が出来ないため、 条件に合うデータの数や、数値の合計、数値の平均 等を求めるためには、アプリケーション側で実装す る必要があった。 データの件数が増えても、変わらぬパフォーマンス KVSの弱点 でこれら集計結果の値を取得したい。
  • 4. 実装 構造 集計専⽤用のテーブルを作る ItemのUpdate,Put,Deleteの際に 集計専⽤用 集計専⽤用のテーブルを作成する。 ItemのUpdate,Put,Deleteを⾏行う際 同時に集計専⽤用テーブルの値もUPDATEする (CAS操作) アイテム数に制限のないDynamoDBなら可能 データ本体はSimpleDBでも良い
  • 5. 構造 利点 sum count data
  • 6. 利点 注意点 データ量が増えたとしても集計の処理がなくなり、 時間は1回のReadの時間になるので、集計のパ フォーマンスが保証される
  • 7. 注意点 利⽤用事 予めGROUP化するAttributeを決める必要がある。 必要なWriteUnitが単純に2倍以上になる。 但し、集計するためにReadを6回以上しそうなデー タ量であればコストは安くなる。
  • 8. 利⽤用事例 寄贈し データ マイニング データマイニングでは、⼤大量のデータを扱う ⼤大量のデータ使うなら、なにも考えずに DynamoDB使いたい。 だけどDynamoDBだとSUM,AVG,COUNTとか⾟辛 い。そんな時
  • 9. 寄贈したアーキテクト 好きなAWS DyamoDB SimpleDB JAWS-‑UG  Osaka CloudSearch @tottokug ⼀一⾔言 わざわざTableを作らなくても、同じテーブルの Itemでやったらいいんじゃないか?という説もある けれど、 CounterTableと⾔言いたかっただけです。
  • 11. Temporary  Table ⽬目的
  • 12. ⽬目的 実装 データベースのコストを下げる 集計処理がしたいようなデータを扱っています。 時間課⾦金のデータベースを利⽤用していると、もしア クセスが無くても費⽤用が掛かってしまう。 スペックの⾼高いものを使うようだと、もう⼤大変
  • 13. 実装 構造 CPU使⽤用時間や、データ量に よって課⾦金されるサービスに ⼀一時的に書込 RDBMSに⼊入れるはずのデータを ⼀一旦仮でQueueや単価の低いストレージに⼊入れ、 その後、定期的にバッチ処理などでデータベースに 格納する。 バッチ処理⽤用のサーバはScheduled  Autoscalingパ ターンを利⽤用
  • 14. 構造 利点
  • 15. 利点 注意点 RDBMSは読込が必要な時とtemporaryからデータ を移す時だけたちあげておけば良い。 書込がぐんと減るので、RDBMSのスペックを⼀一つ 下げられるかもしれない。 コストダウン出来る。
  • 16. 注意点 利⽤用事 リアルタイムでの集計は出来ない。 タイムラグがあっても問題ないデータの集計をする のに向いている。
  • 17. 利⽤用事例 寄贈し Webサービスの 課⾦金 APIコールがある毎に課⾦金情報をRDBMSに⼊入れて いたら⼤大変。 ⼀一時テーブルに⼊入れておいて、⽉月次の〆の処理をす るのも⼤大変 そんな時にTemporary  Table  Pattern 1⽇日⼀一回とかRDBMSに移す。
  • 18. 寄贈したアーキテクト 好きなAWS DyamoDB SimpleDB JAWS-‑UG  Miyazaki CloudSearch @tottokug ⼀一⾔言 c1.mediumより上のインスタンス使ったら負けかな と思ってます。 microしか使わないのが理想