メモ
「アサシン クリード」シリーズなど数多くの作品を生み出したゲームスタジオのUbisoftに就職したヤン・ハラシム氏が、Ubisoftの「半世紀も遅れている」技術について心情を吐露しました
that time my manager spent $1M on a backup server that I never used
https://blog.dijit.sh//that-time-my-manager-spend-1m-on-a-backup-server
ユーザーのプロフィール情報をゲームサーバーからゲームサーバーへ渡すシステムの保守や、その情報を保存する既存のデータストレージが高性能かつ耐久性のあるものであることを実証するよう命じられたハラシム氏は、3ヶ月間にわたりUbisoftで使用されていたMySQLを徹底的に分析してパフォーマンステストを行い、内部ロックのボトルネックを見つけ、どのような状況でデータが失われるかを調べあげました。
その結果、MySQLはデータを失わないようにできるものの、内部ロックのためにメニーコアシステムでのパフォーマンスが低下するということが判明。代替手段のPostgreSQLであればはるかにパフォーマンスが良く、さらにログ先行書き込みとデータを別々のRAIDデバイスにきれいに分割できるという利点もあったことから、ハラシム氏はPostgresのデータベースを作成してバックアップするために既成のソリューションの調査を始めたそうです。
その中でpgBackRestというツールを見つけ、これをテストしたいと考えたハラシム氏は、90日間分のバックアップを取るために必要なストレージを購入したいとUbisoftに要求します。しかし、この願いは却下されてしまいます。
Ubisoftいわく、同社にはすでに標準的なバックアップソリューションがあり、パリの銀行の金庫室にあるコールドストレージで管理しているからこれ以上増やす必要はないとのことでした。
仕方なく400GBのHDDを数台使って自分のソリューションをテストすることにしたハラシム氏。テストの結果、ハラシム氏のシステムは動作が速く、データの送信も高速に行えたそうです。ただし、このシステムには読み込み速度が遅くなることがあるという問題がありました。ハラシム氏のシステムは以前に書き込んだデータを読み込んで増分バックアップを作成しますが、このデータの読み込み性能がひどいものだったとのこと。
こうした不満を抱えたハラシム氏はマネージャーや上司に相談しますが、「たとえ現在のシステムで確実にバックアップを作成できないとしても、バックアップを保存するための専用ハードウェアは購入しない」という社内の体制がより明確になるだけ。その理由は「100万ドル(約132億円)もかけたのだから、使わないと印象が悪くなる」というだけのものでした。
そんな中、100万ドルをかけたシステムが不具合をおこし、Ubisoftのゲーム「ディビジョン」のデータが破損するという事態が起こります。このときはたまたまハラシム氏がテスト中に作成していたバックアップのおかげでデータが復活しましたが、最新のデータではなかったため、ゲームの進行状況が一部失われています。こうした経験で社内の体制が改善したのか、それから間もなくハラシム氏は無事ハードウェアを購入する許可を得られたそうです。
この経験を通じ、ハラシム氏は「一般的なケースに合うからということで100万ドルをかけて製品を購入しても、それがすべてのケースに合うとは限りません。必要なものを購入することが理にかなっている場合もありますが、購入するサービスや製品にとってどのような機能が優先されるのか、疑問に思うのは当然です」と述べています。
この記事のタイトルとURLをコピーする