連載
ゲームを題材に学ぶ 内部構造から理解するMySQL
定番的オープンソースのRDBのMySQLですが,その使い方についていろいろ思い違いしていることがけっこうあります。そもそもMySQLの中身はどうなっていますか? なぜInnoDBとMyISAMがあるのか、読み込みのデフォルトのページサイズはどのくらいか、ログファイルのデータサイズはどのくらいかなど、知らないで通り過ぎてしまった知識もあります。
また、NoSQLとRDBとの違いもよく話題にあがります。本連載ではゲーム開発の現場でMySQLを使用したときに起こる問題を通して、そのしくみと機能を再確認し仕事に活かす手がかりを示します。
本連載は、『Software Design 2019年8月号』の第2特集「ゲームを題材に学ぶ 内部構造から理解するMySQL」をWeb掲載用に再編集したものです。
本連載のテーマを、より基本的なところから丁寧に解説した『SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる』が2019年8月26日に発売予定です。本記事と併せてご活用ください。
- 第8回(最終回) まとめ――SQLから逃げない!
- SQLはボトルネックか?
- SQLの勉強のしかた
- ORMの流行り廃り
- SQLから逃げない
2019年10月11日
- 第7回 パーティショニング
- 効果的な開発のためのテーブルテクニック
- パーティショニングとは
- MySQLの制限
- おもなパーティショニングの種類
- ユーザIDでハッシュパーティショニング
- パーティショニングの注意点
2019年10月4日
- 第6回 DBサーバでゲームの処理を作るとどうなる?
- DBサーバの負荷を軽減するためには
- 再現する仕様
- 実装案:単純な更新処理
- 実装案:ストアドファンクション,ストアドプロシージャ
- ソースが分散する?
2019年9月27日
- 第5回 DB側でやること、アプリ側でやることを見極めよう
- 「JOINはDBサーバの負荷が高くなる」は本当か?
- APサーバで肩代わりできる処理
- SQLでどこまで処理すべきか
2019年9月20日
- 第4回 NoSQLとSQLの使いどころを知ろう
- 「NoSQLはRDBMSより高速」は本当か?
- 松信氏が行った実験
- 速度差を処理を分解して考えてみる
- ぐるぐる系SQL
- 一発系と比較すべき
- ユーザアクションに対する処理件数が選択の決め手
2019年9月13日
- 第3回 実行計画を見てSQLの構造を理解しよう
- 実行計画はSQL理解の大きな手がかり
- 実行計画が変わるSQL
- 統計情報の更新
- 実行計画が変わらないSQL
- オプティマイザーはプログラマ,SQLは詳細設計書
2019年9月6日
- 第2回 ゲーム系で確認すべきパラメータ
- RDBMSで検討すべきパラメータとは
- ページサイズについて
- ログファイルのサイズ
- ログファイルへの書き込みタイミング
- ログバッファサイズ
- 各ワークメモリ(スレッドバッファ)サイズ
- データバッファサイズ
2019年8月30日
- 第1回 DBサーバの構造を知ろう!
- ゲーム開発におけるRDBMSの役割
- I/Oの単位
- MyISAMについて
- プライマリーキー(クラスタードインデックス)
- B-Treeインデックス
- DBサーバの更新処理
- ログファイルについて
- 障害対応
2019年8月23日