SlideShare a Scribd company logo
1 of 30
DynamoDBだけで
ソシャゲをつくってみた

   2012-06-05 JAWS-UG
株式会社マイネット・ジャパン
        伊藤 祐策
自己紹介等
• 伊藤 祐策 Ito Yusaku
 – 1982年生まれ(満30歳)
     – Birth on 1982 (30 years old)
 – 釧路高専情報工学科卒
     – Kushiro National College of Technology / Information Eng
 – 電気通信大学システム工学科卒
     – The University of Electro-Communications / Systems Eng
 – 2006年10月 マイネット・ジャパン入社
     – Joined to Mynet Japan Inc Oct 2006.
会社紹介




• 株式会社マイネット・ジャパン
 – 「どこでもドアの実現」が企業理念な会社
• マイネット・ジャパンの関わり
 – 創業後すぐにジョインして5年半
 – 自社サービスをかれこれ6つほど全部関わる
システム構成紹介
System configuration
システム構成
img.falkyrie.jp           (sp|mb).falkyrie.jp


                                        Elastic Load
            Cloud Front                                 DynamoDB
                                         Balancer




            S3
                                    PHP
 Image Files
                          Application Servers



                                                       Memcache Servers
各種サーバーの詳細
• アプリケーションサーバー
 – PHP 5.3.10
 – インスタンスごとのスマフォ/ガラケーの区別
   無し
• Memcacheサーバー
 – Memcached/LibKetamaでConsistentHashing
 – VPC上に構築した都合上、ElastiCacheが使用不
   可
その他のサーバー達
• バッチサーバー
  – PHP 5.3.10
  – 主な仕事はキューの処理
  – EMRの制御も行なっている
• EMR
  – バトルイベントのランキング集計等に使用
  – 定期的に統計情報抽出タスクを実行
  – メンテ時にフルバックアップタスクを実行
開発エピソード
Episode of developments
厳しい現実
• ソシャゲ開発自体そもそも初めてだった。
 – せいぜいFacebookアプリを作った程度
 – ユーザー10万人を超えるサービスも未経験
• クラウド運用の実績なんかなかった。
 – 今まではiDCにラック借りて自前運用の日々
 – 使いたいとは思っていたけど移行とか大変
 – トライアルで色々使ってみたけどどれも微妙
当初の予定
• ストレージはMySQLで実装するつもり
  だった。
 – 商用サービスにNoSQLを採用した実績ナシ
 – 社内にNoSQL経験者は誰もいなかった
• AWSなんかそもそも使う予定がなかった。
 – なんか難しそうだった
 – でもトラブル対応の度にiDC行くのももう嫌
   だった
 – クラウドならなんでもよかった。
 – 旅行へ行きたい。というか実家帰りたい。
ワイルドな選択
• 3月13日、MySQLからDynamoDBへの乗り換
  えを決断し、実装を開始。
 – リリース71日前の話。
 – 決め手は「運用が楽ですよ!」の一言
 – テーブル設計は直感を頼りに作り直し。
• ソースコードを半分くらい捨てた
 – 捨てたのは自分が作った分だけ
 – 他メンバーが作った部分はほぼ全てそのまま
   利用した
ワイルドな時系列

 Start                  Transit                             Release
                                            71 days
Jan           Feb      Mar            Apr             May         Jun




      DynamoDB         DynamoDB
      US East Region   Tokyo Region
      Released         Released
本当にDynamoDBだけで作れるのか?
 Is it possible to implement them only DynamoDB?
DynamoDBにできないこと
• トランザクション
 – START TRANSACTION ... COMMIT / ROLLBACK
• テーブルJOIN
 – SELECT * FROM table1 LEFT OUTER JOIN table2 ...
• 一貫性のあるフルバックアップ
 – mysqldump
• 自由な条件での検索
 – SELECT * FROM table WHERE x=1 AND y=2
本当にDynamoDBだけでできるの?
• トランザクションなんて甘え
 – 無くてもなんとかなる!
• テーブルJOINも甘え
 – JOINなんて使ってたらスケールしませんよね
• フルバックアップも甘え
 – そのバックアップからリストアするつもりあ
   るの?
• 自由な条件での検索は...
 – ここをどう解決するかは腕の見せ所
本当にDynamoDBだけでできるの?

• そもそもソシャゲは殆どの処理において
  ユーザーIDが決定しているので、KVSとの
  相性は非常に良い。
 – 1回のリクエストで参照するのは、自分のデー
   タだけか、自分と誰か1人のデータのみ。
 – キーをユーザーIDにすればKVSと相性抜群
 – KVS型ならスケールもしやすい
本当にDynamoDBだけでできるの?

• ソシャゲは頻繁に仕様変更や拡張をする
  のでNoSQLとの相性も非常に良い。
 – アップデートは基本「毎週」
 – さもないとユーザーが飽きて過疎る
 – データ量が増えてきた時にALTER TABLEは死ね
   る
 – メンテ時間が長くなると公式コミュが荒ぶる
代替実装
The alternative implementations
DynamoDBにもできること
• 条件付きアップデート
 – UPDATE x=1 if x=0
 – 楽観ロックでは必須の機能
 – 条件式部分は等式(A is B)のみ指定可
• インクリメント/デクリメント
 – UPDATE x+=10
 – 更新前、更新後の値もそれぞれ取得可能
トランザクションの代替実装
• Re-Runnable設計にする
 – 2回実行されても大丈夫なように作る
   • 条件付きアップデートを駆使する
   • 更新済みなら処理がスキップされるように作る
 – 途中で失敗したら最初からやりなおす
   • Re-Runnableでさえあれば何度実行しても大丈夫
   • SQSを使って完遂保証をすると完璧!
トランザクションの代替実装
• 基本5フェーズを意識しよう
 – 入力エラーチェック
 – 書込み開始処理
 – 書込み処理
 – 書込み終了処理
 – 出力処理

  ※後戻りはしない。フェーズを混在させない。
条件検索の代替実装
• レンジキー(Range Key)というものがある
 – ハッシュキー+レンジキーで主キーになる
 – 開始点+検索方向(asc/desc)で検索ができる
 – 先頭/末尾からという検索も可能
 – 検索件数制限指定は必須
• レンジキーに指定した属性であれば検索
  は可能
 – 但しページングは無理(全体件数が分からな
   い)
条件検索の代替実装
• Amazon EMR連携でインデックスを作る
 – 全部のデータを読み取るので若干非効率
 – 古くなったデータの掃除が面倒
• SQSでリアルタイム更新インデックスを作
  る
 – 実装は面倒だけど現実的な手段
• Amazon Cloud Searchという選択肢
 – 東京リージョンでは未登場(早く!)
バックアップの代替実装
• Amazon EMR連携でS3へエクスポート
 – HELPの通りやれば簡単に出来る
 – 但し一貫性を保つにはメンテが必須
• ソシャゲの場合リストアという選択肢は
  無い
 – データのリストアはできないと諦めた上で、
   新たに戦略を立て直す
 – 戦略上意味のないことはやらない
Q.苦労した末に何を得られるのか?
    Qestion : What can we get?
答えは2つ
There are 2 answers.
A1.無制限にスケールするストレージ
  Answer#1 : The indefinitely scalable storage.
A2.安心して旅行へ行ける権利
Answer#2 : The long vacation with peace of mind.
その他紹介しきれなかったこと
• 具体的なRe-Runnable設計の実装方法
• リリース後に発生した数々のトラブル
 – そしてそれらの対処方法等
• 監視すべきサーバー性能指標
 – DynamoDB特有の問題があったりなかったり
• 利用料金チューニング
 – Read/Writeそれぞれに対するチューニング手
   法
なんか質問ある?

More Related Content

What's hot

コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことBIGLOBE Inc.
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案樽八 仲川
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
分散システムの限界について知ろう
分散システムの限界について知ろう分散システムの限界について知ろう
分散システムの限界について知ろうShingo Omura
 
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略Tomoki Kuriyama
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善Ito Takayuki
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo!デベロッパーネットワーク
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpMasahiro NAKAYAMA
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8Koichiro Matsuoka
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 

What's hot (20)

コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
分散システムの限界について知ろう
分散システムの限界について知ろう分散システムの限界について知ろう
分散システムの限界について知ろう
 
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
AWS CognitoからAuth0への移行パターン4つ
AWS CognitoからAuth0への移行パターン4つAWS CognitoからAuth0への移行パターン4つ
AWS CognitoからAuth0への移行パターン4つ
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 

Viewers also liked

DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット伊藤 祐策
 
Flink + Prometheus + Grafanaによるアクセスログの可視化とAlerting
Flink + Prometheus + Grafanaによるアクセスログの可視化とAlertingFlink + Prometheus + Grafanaによるアクセスログの可視化とAlerting
Flink + Prometheus + Grafanaによるアクセスログの可視化とAlertingLINE Corporation
 
Prometheus 監視で変わるもの
Prometheus 監視で変わるものPrometheus 監視で変わるもの
Prometheus 監視で変わるものTakehiro Sugita
 
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現gree_tech
 
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化gree_tech
 
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜Amazon Web Services Japan
 
当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポート当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポートLINE Corporation
 

Viewers also liked (8)

DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
 
Flink + Prometheus + Grafanaによるアクセスログの可視化とAlerting
Flink + Prometheus + Grafanaによるアクセスログの可視化とAlertingFlink + Prometheus + Grafanaによるアクセスログの可視化とAlerting
Flink + Prometheus + Grafanaによるアクセスログの可視化とAlerting
 
Prometheus
PrometheusPrometheus
Prometheus
 
Prometheus 監視で変わるもの
Prometheus 監視で変わるものPrometheus 監視で変わるもの
Prometheus 監視で変わるもの
 
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
 
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
 
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
 
当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポート当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポート
 

Similar to DynamoDBだけでソシャゲを作ってみた

初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)Takanori Sejima
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
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
 
MySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTTomohiro Ikeda
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!IIJ
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発infinite_loop
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMikiya Okuno
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成Izumi Tsutsui
 
次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解くShin Takeuchi
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 

Similar to DynamoDBだけでソシャゲを作ってみた (20)

初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
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
 
つぶLT20121215
つぶLT20121215つぶLT20121215
つぶLT20121215
 
Zabbix study5lt
Zabbix study5ltZabbix study5lt
Zabbix study5lt
 
MySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LT
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
Xen Nic
Xen NicXen Nic
Xen Nic
 
Minix Learning
Minix LearningMinix Learning
Minix Learning
 
次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 

DynamoDBだけでソシャゲを作ってみた