SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
ソーシャルゲームにおける
 MongoDB適用事例


       Masakazu Matsushita
           Cyberagent, Inc.
About Me
• 松下 雅和 / Masakazu Matsushita
• @matsukaz
• Cyberagent, Inc. - SocialApps Division
  - Ameba Pico (2011/01∼)
    • 海外向けピグ
  - Animal Land (2011/03∼)
• DevLOVE Staff
Agenda
• サービス概要
• システム構成
• MongoDB採用のポイント
• MongoDB利用時に考慮した点
• 発生した障害
• 今後の課題
• etc
サービス概要
Demo
開発期間
• 2011/03から開発スタート
• 初ミーティングが 3.11
• 本格的な開発は2011/05から
• 2011/12/09 リリース
開発メンバー
• Producer 2
• Designer 1
• Flash Developer   3
• Engineer 4
  +α
システム構成
利用サービス
• Amazon Web Services
  - EC2 (Instance Store + EBS)
  - S3
  - CloudFront
  - Route53
  - Elastic Load Balancing
• Google Apps
• Kontagent
システム間のつながり

iframe    各種API呼び出し
                              課金コールバック




                                            Web
          HTML
                                            サーバ
                      JSON


          Flash
                                          Command
                      AMF                  サーバ

                             AMF : Actionscript Message Format
L    m1.large

                                    サーバ構成                                 XX

                                                                          EBS
                                                                                m2.2xlarge
                                                                                EBS
         ELB                         ELB
                                                                                    S3

 Web                L   3     Command        L    4                             CloudFront
        nginx                       nginx                                        Route 53
        Tomcat                      Tomcat
                                                                          バッチ               L
        mongos                      mongos
                                                                                 バッチ
                                                                                 MySQL
Shard                        5 MySQL         L    memcached       L   2
                                                                          monitor           L
 MongoDB           XX               MySQL             memcached
                              EBS                                                munin
        mongod
                              MySQL          L                                   nagios
 MongoDB           XX
                                    MySQL               admin         L   ビルド               L
        mongod                EBS
                                                            nginx               redmine
 MongoDB           XX         MongoDB        XX   3        Tomcat                jenkins
        mongod                      mongoc
EBS                           EBS                          mongos               Maven    SVN
                                                                          EBS
                 Secondary
ミドルウェア
• nginx 1.0.x
• Tomcat 7.0.x
• MongoDB 2.0.1
• MySQL 5.5.x
• memcached 1.4.x
フレームワーク/ライブラリ
• Spring Framework、Spring MVC
• BlazeDS、Spring Flex
• Spring Data - MongoDB 1.0.0 M4
• mongo-java-driver 2.6.5
• Ehcache
• spymemcached
• RestFB
• MyBatis
MongoDB
採用のポイント
• Ameba Picoでの利用実績




        http://apps.facebook.com/amebapico/
• MongoDBの良さ
  - ReplicaSetによる耐障害性
  - Auto-Shardingによるスケールしやすさ
  - 複雑なデータ構造を扱える
  - Index、Advanced Queries
  - 開発チームがアクティブ
  - 敷居が低い
• Animal Landの要件に合う
  - 複雑なデータ構造 (街のグリッド情報、
 ユーザ/建築物のパラメータ、etc)
- シーケンシャル処理中心で、同時更新が
 少ない
- メンテナンスレス
  • データ構造の動的変更
  • 耐障害性
  • スケールアウト
• 苦手な部分は他の方法で解決
  - 特性に合わないデータは他のDBで
    • 信頼性が必要な課金関連はMySQL
    • 一時的なデータはmemcached
  - トランザクションは利用しない
MongoDB
利用時に考慮した点
アプリケーション開発時
• トランザクションがいらないデータ構造に
  - ユーザ情報などは、1ドキュメントで保
      持して一括更新
                                                          ユーザ情報
{ facebookId : xxx,
                                                           イメージ
   status : { lv : 10, coin : 9999, ... },
   layerInfo : 1¦1¦0¦1¦2¦1¦1¦3¦1¦1¦4¦0... ,
   structure : {
         1¦1 : { id : xxxx, depth : 3, width : 3, aspect : 1, ... }, ...
  },
   inventory : [ { id : xxx, size : xxx, ... }, ... ],
   neighbor : [ { id : xxx, newFlg : false, ... }, ... ],
   animal : [ { id : xxx, color : 0, pos : 20¦20 , ... } ],
  ...
}
アプリケーション開発時
• データ量を可能な限り削減
  - 街のグリッド情報を1つのデータで保持
 するなど (プログラム側で展開)
- 設計時の構造(500 KB)
     layerInfo : {
           1¦1 : 0,
           1¦2 : 1,
          ....
 }


- 現在の構造(50 KB)
     layerInfo : 1¦1¦0¦1¦2¦1¦1¦3¦1¦1¦4¦0...
アプリケーション開発時
• フィールド数は多すぎないように
  - 2万以上のフィールド (144x144の街の
  グリッド情報 )を持つと、find()にっかる
  時間は5秒以上に・・・
 - データ量だけでなく、BSONのパースに
  かかる時間も考慮する
アプリケーション開発時
• Shard Keyは以下の方針で決定
  - カーディナリティが低い値は使わない
  - よく使われるデータがメモリ上に乗る
  - 使われないデータはメモリ上に乗らない
  - 参照や更新が多いデータはバランスよく
 各Shardに分散
- Targetedオペレーション
 での利用を意識 (後述)

             おすすめ書籍 →
アプリケーション開発時
• Targetedオペレーションを中心に
  - Shard Keyでデータを操作
  - Shard Key以外の操作はIndexを利用
                  Operation                      Type
db.foo.find({ShardKey : 1})                    Targeted
db.foo.find({ShardKey : 1, NonShardKey : 1})   Targeted
db.foo.find({NonShardKey : 1})                 Global
db.foo.find()                                  Global
db.foo.insert(<object>)                       Targeted
db.foo.update({ShardKey : 1}, <object>)       Targeted
db.foo.remove({ShardKey : 1})
db.foo.update({NonShardKey : 1}, <object>)    Global
db.foo.remove({NonShardKey : 1})
アプリケーション開発時
• 更新頻度をなるべく減らす
  - マスタ情報はサーバ上でキャッシュ
  - ユーザ操作はまとめて処理 (5秒に1度)
  • Flash側でキューの仕組みを用意
  • サーバ側はキューから取り出してシーケ
  ンシャルに処理
                                 シーケンシャル処理
   ユーザ操作
                     キューで保持
               キュー
                                  Command
       Flash
                                   サーバ
                       まとめて送信
アプリケーション開発時
• O/Rマッパーで開発を効率化
  - Spring Data - MongoDBとラッパーク
  ラスを用意して効率よく開発
   @Autowired
   protected MongoTemplate mongoTemplate;

   public void insert(T entity) {
         mongoTemplate.save(entity);
   }

 - オブジェクトをそのまま利用できるの
  で、RDBのO/Rマッパーより扱いやすい
 - Javaでも言うほど大変じゃない
アプリケーション開発時
• ロールバック出来ない前提で実装
  - ある程度のデータ不整合は諦める
  - 必ずユーザが不利益を被らないようにす
 る
インフラ構築時
• 従来のDBと同様に見積もり
  - データ量/1ユーザ (50 KB)
  - 想定ユーザ数 (DAU 70万)
  - データの更新頻度
  - 各サーバの最大同時接続数
  - 各サーバの台数、スペック、コスト
  - 想定ユーザ数を超えた場合のスケールの
 ポイント整理
インフラ構築時
• 性能検証
  - 帯域幅を確認 (350Mbps程度)
  - MongoDBを検証 (MongoDB 2.0.1、
  ReplicaSetのShardを2つ、ジャーナリ
  ング有効)
  • 参照/更新の処理性能
  • マイグレーション時の性能比較
  • Javaドライバー経由の性能比較
 - アプリケーションを通した性能を確認
インフラ構築時
• 障害を想定した動作検証
  - mongodが落ちた場合
    • PRIMARYへ昇格するか
    • 起動したらデータが同期されるか
    • SECONDARYが落ちても問題ないか
  - mongocが落ちた場合
    • 全体の動作に影響がないか
  - バックアップから戻せるか
                → 全て問題ナシ
インフラ構築時
• ReplicaSet、Shardの構成と配置を決定
  - メモリサイズを大きめ
  - ディスクI/Oが高速
  - mongocはmongodと別サーバに
  - 信頼性を高めるためにEBS利用 (負荷軽
  減のためSECONDARY専用に)
• ジャーナリングを有効に
• oplogsizeを10GBに (デフォルトの全体の
 5%が多すぎるため)
インフラ構築時
• 必要なIndexはあらかじめ作成しておく
  - 通常のIndex作成中は、全てのオペレー
  ションがブロックされてしまうため
 - 20万件のデータ (それぞれ50KB程度)
  にIndexを貼ると、2分程度かかる
 - あとから追加する場合は、メンテ中に作
  成するか、バックグラウンドで作成
インフラ構築時
• コネクションプールをチューニング
 ※ mongosに対するコネクションプール
           項目              意味          値
 connectionsPerHost   コネクション数          100
 threadsAllowedToBlockFor 1コネクション辺りの
                                       4
 ConnectionMultiplier     接続待ち数

- nginxのworker数、TomcatのThread数
 とのバランスを考慮して設定
- プールが足りなくなったときのエラー
 (Out of Semaphores) に注意
 上記例では、100 + (100 * 4) = 500
運用時
• db.printShardingStatus()でShard間の
 chunkの偏りを定期的にチェック
 - 必要があれば手動でchunk移動

• 新しいCollectionの追加は慎重に
  - 最初はPrimary Shardにデータが偏り、
   急激な負荷がかかる可能性があるため
発生した障害
mongodとmongocダウン
• mongoc1台 & mongod1台
 (SECONDARY) が落ちた
• 原因はEC2インスタンスの仮想サーバホス
 トの障害、MongoDBは悪くない
• サービスへの影響はゼロ!
• プロセスを起動するだけで復旧!!
今後の課題
オンライン・バックアップ
• やはり難しい
• 当面はメンテを入れてバックアップ
• 以下のSECONDARYバックアップも検討
中
1. balancerをオフに
2. SECONDARYでwrite lockをかけて
    ディレクトリ毎バックアップ
3. SECONDARYのロックを解除
Upgrade
• サービスを運用しているとUpgradeのタイ
 ミングが難しい
• 以下のアップグレードの手順が必要
 1. Arbiterを停止、Upgrade、起動
 2. SECONDARYを停止、Upgrade、起動
 3. PRIMARYを停止、Upgrade、起動
Shardの追加
• Shard追加は可能だが、追加時のバランシ
ングがパフォーマンスに与える影響が読め
ない
- Picoではパフォーマンスの影響が問題と
 なったため、メンテ中に対応している
最適なchunksize
• ユーザ情報のデータサイズが大きかったた
 め、デフォルトの64MBだとマイグレー
 ションが多発
• データサイズに合わせて調整する必要があ
 る


Collectionごとにchunksizeが設定出来るよ
うになって欲しいです・・・
データの分析
• ユーザ情報を1つにまとめたため、データ
 の分析がやりづらい
• 必要に応じてIndexを貼って対応中
  - MapReduceも試したが、検証時にパ
  フォーマンスに影響が出たので利用して
  いない
ご清聴
ありがとうございました

Más contenido relacionado

La actualidad más candente

MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
都元ダイスケ Miyamoto
 

La actualidad más candente (20)

MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 

Destacado

I phoneアプリの通信エラー処理
I phoneアプリの通信エラー処理I phoneアプリの通信エラー処理
I phoneアプリの通信エラー処理
Satoshi Asano
 
Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
 

Destacado (8)

Process Framework「CYCLONE for Mobile Apps」(20120118)
Process Framework「CYCLONE for Mobile Apps」(20120118)Process Framework「CYCLONE for Mobile Apps」(20120118)
Process Framework「CYCLONE for Mobile Apps」(20120118)
 
HTML5とはなにか?マイクロソフトはHTML5をどう考えているのか?
HTML5とはなにか?マイクロソフトはHTML5をどう考えているのか?HTML5とはなにか?マイクロソフトはHTML5をどう考えているのか?
HTML5とはなにか?マイクロソフトはHTML5をどう考えているのか?
 
I phoneアプリの通信エラー処理
I phoneアプリの通信エラー処理I phoneアプリの通信エラー処理
I phoneアプリの通信エラー処理
 
Metro#1
Metro#1Metro#1
Metro#1
 
Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
 
Web Intents入門
Web Intents入門Web Intents入門
Web Intents入門
 
NTT研究所におけるYammerの取り組みと、社内Twitterの統計解析
NTT研究所におけるYammerの取り組みと、社内Twitterの統計解析NTT研究所におけるYammerの取り組みと、社内Twitterの統計解析
NTT研究所におけるYammerの取り組みと、社内Twitterの統計解析
 
HTML5最新動向
HTML5最新動向HTML5最新動向
HTML5最新動向
 

Similar a ソーシャルゲームにおけるMongoDB適用事例 - Animal Land

大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
 
Enter the-dolphine
Enter the-dolphineEnter the-dolphine
Enter the-dolphine
Mikiya Okuno
 
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Kenta Suzuki
 
【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来
Developers Summit
 
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
VOYAGE GROUP
 
AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料
SORACOM, INC
 
Awsmeister cloudfront20120611-slideshare用
Awsmeister cloudfront20120611-slideshare用Awsmeister cloudfront20120611-slideshare用
Awsmeister cloudfront20120611-slideshare用
Yasuhiro Araki, Ph.D
 

Similar a ソーシャルゲームにおけるMongoDB適用事例 - Animal Land (20)

ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
 
目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
 
MongoDB勉強会資料
MongoDB勉強会資料MongoDB勉強会資料
MongoDB勉強会資料
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしいIBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
 
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
 
Enter the-dolphine
Enter the-dolphineEnter the-dolphine
Enter the-dolphine
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
 
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
 
AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料
 
Awsmeister cloudfront20120611-slideshare用
Awsmeister cloudfront20120611-slideshare用Awsmeister cloudfront20120611-slideshare用
Awsmeister cloudfront20120611-slideshare用
 

Más de Masakazu Matsushita

海外向けサービスの苦労話
海外向けサービスの苦労話海外向けサービスの苦労話
海外向けサービスの苦労話
Masakazu Matsushita
 

Más de Masakazu Matsushita (20)

It's up to you 〜 楽しさドリブンで歩んだ道 〜
It's up to you 〜 楽しさドリブンで歩んだ道 〜It's up to you 〜 楽しさドリブンで歩んだ道 〜
It's up to you 〜 楽しさドリブンで歩んだ道 〜
 
スタートアップで培ったアーキテクチャ設計ノウハウ
スタートアップで培ったアーキテクチャ設計ノウハウスタートアップで培ったアーキテクチャ設計ノウハウ
スタートアップで培ったアーキテクチャ設計ノウハウ
 
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
 
EFS利用事例 -Craft Warriorsのバトルを支える仕組み-
EFS利用事例 -Craft Warriorsのバトルを支える仕組み-EFS利用事例 -Craft Warriorsのバトルを支える仕組み-
EFS利用事例 -Craft Warriorsのバトルを支える仕組み-
 
TranslimitにおけるAWS活用術
TranslimitにおけるAWS活用術TranslimitにおけるAWS活用術
TranslimitにおけるAWS活用術
 
Interactive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみたInteractive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみた
 
ダブルCTO
ダブルCTOダブルCTO
ダブルCTO
 
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
 
BrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちBrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたち
 
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちTranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたち
 
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
 
1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明
 
海外向けサービスの苦労話
海外向けサービスの苦労話海外向けサービスの苦労話
海外向けサービスの苦労話
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal Land
 
Mongo DBを半年運用してみた
Mongo DBを半年運用してみたMongo DBを半年運用してみた
Mongo DBを半年運用してみた
 
ニコカレでLife hacks
ニコカレでLife hacksニコカレでLife hacks
ニコカレでLife hacks
 
DevLOVEのDevってなんだ?
DevLOVEのDevってなんだ?DevLOVEのDevってなんだ?
DevLOVEのDevってなんだ?
 

ソーシャルゲームにおけるMongoDB適用事例 - Animal Land