More Related Content Similar to DynamoDBだけでソシャゲを作ってみた (20) DynamoDBだけでソシャゲを作ってみた2. 自己紹介等
• 伊藤 祐策 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. システム構成
img.falkyrie.jp (sp|mb).falkyrie.jp
Elastic Load
Cloud Front DynamoDB
Balancer
S3
PHP
Image Files
Application Servers
Memcache Servers
6. 各種サーバーの詳細
• アプリケーションサーバー
– PHP 5.3.10
– インスタンスごとのスマフォ/ガラケーの区別
無し
• Memcacheサーバー
– Memcached/LibKetamaでConsistentHashing
– VPC上に構築した都合上、ElastiCacheが使用不
可
7. その他のサーバー達
• バッチサーバー
– PHP 5.3.10
– 主な仕事はキューの処理
– EMRの制御も行なっている
• EMR
– バトルイベントのランキング集計等に使用
– 定期的に統計情報抽出タスクを実行
– メンテ時にフルバックアップタスクを実行
9. 厳しい現実
• ソシャゲ開発自体そもそも初めてだった。
– せいぜいFacebookアプリを作った程度
– ユーザー10万人を超えるサービスも未経験
• クラウド運用の実績なんかなかった。
– 今まではiDCにラック借りて自前運用の日々
– 使いたいとは思っていたけど移行とか大変
– トライアルで色々使ってみたけどどれも微妙
10. 当初の予定
• ストレージはMySQLで実装するつもり
だった。
– 商用サービスにNoSQLを採用した実績ナシ
– 社内にNoSQL経験者は誰もいなかった
• AWSなんかそもそも使う予定がなかった。
– なんか難しそうだった
– でもトラブル対応の度にiDC行くのももう嫌
だった
– クラウドならなんでもよかった。
– 旅行へ行きたい。というか実家帰りたい。
12. ワイルドな時系列
Start Transit Release
71 days
Jan Feb Mar Apr May Jun
DynamoDB DynamoDB
US East Region Tokyo Region
Released Released
14. DynamoDBにできないこと
• トランザクション
– START TRANSACTION ... COMMIT / ROLLBACK
• テーブルJOIN
– SELECT * FROM table1 LEFT OUTER JOIN table2 ...
• 一貫性のあるフルバックアップ
– mysqldump
• 自由な条件での検索
– SELECT * FROM table WHERE x=1 AND y=2