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

ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)NTT DATA Technology & Innovation
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようShinsuke Sugaya
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)A AOKI
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう増田 亨
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略ippei_suzuki
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 

What's hot (20)

ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 

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だけでソシャゲを作ってみた