図解!セカンドライフのDB変遷!
セカンドライフとは?
2002年に米リンデンラボ社が開始した仮想空間サービス「セカンドライフ」は、サービス開始以降爆発的にユーザー数を伸ばし、2008年現在で約1400万人の登録ユーザーを抱える巨大サービスへと成長しました。
特に2005年以降、アメリカでは銀行や通信社、アパレル業者、自動車メーカーなど多くの企業が参入し、注目を集めるようになりました。日本国内でも広告会社を皮切りに大手企業や教育機関が続々と参入しています。セカンドライフの仮想世界内では独自の仮想取引市場が開かれており、1日の取引高は1400万人のユーザーで1億円を軽く超えています。
簡単にセカンドライフのサービス概要を紹介しましょう。セカンドライフは仮想空間を多人数で共有し、その中でクリエイターが作成したアイテムをリンデンドルという仮想通貨で取引します。その場合、クリエイターは仮想空間内に土地を借り、店舗を建設し、販売します。
ほかにもさまざまな職業が世界内に存在し、それをシステムとして補完する、仮想空間内でのIM機能、チャット機能、3Dボイス機能、アバター外見変更機能、ジェスチャー作成機能、グループウェア機能、リアルタイムスクリプトコンパイル機能、アイテム売買機能、土地売買機能が存在します。そしてリンデンラボは今後も、さまざまな新しい機能をユーザーの要求に基づいて追加する予定となっています。
このサービスのビジネスモデルは、サーバーに割り当てた土地をユーザーに貸し出し、そのレンタル料を徴収するというものです。ユーザーの急激な増加に伴い土地のレンタルも急増したため、システム拡張が急ピッチで行われて来ました。
なお、このセカンドライフのシステムはオープンソースサービスを目指して構築されています。オープンなバーチャルリアリティー空間を目指した「メタバース」という言葉に象徴されるセカンドライフは、2003年11月にクリエイター制作物の著作権帰属を認める発表をし、2007年1月15日クライアント側ビューアがオープンソース化しました。さらに2010年までにサーバー側もオープンソース化すると発表しており、その活動を促進するためのコミュニティ活動にIBMやサン・マイクロシステムズも参加しています。
今回は、セカンドライフのシステムの変遷を見ながらその中でDBやシステムがどのように拡張されていったのかを見てみましょう。サービス開始時期から現在、さらに将来のシステム構成を具体的に紹介していきます。
初期(2002年~2003年)のシステム構成
セカンドライフは2002年からサービスを開始し、2003年6月より商用サービスを開始しました。図1はベータ版として限定ユーザーに公開された2002年10月から2004年までのシステム構成図です。
実は限定公開する8ヶ月前のデモ版はこれよりももっとシンプルで、ユーザーデータを保持する「セントラルデータベース」、それをハンドリングする「データサーバー」、そしてアイテムそのものが保持されている「アセットサーバー」などはありませんでした。あるのは、主要なサーバー処理をする「シミュレーター」、オブジェクト情報を送信したり簡単な物理計算を行う「ビューア」、アバターや物などの「エージェント」の位置情報をもとにメッセージを振り分ける「スペースサーバー」の3つのみでした。
しかしデモ版を公開すると「アカウント」などのユーザーデータと「マネートランザクション(仮想通貨取引)」、そしてそのユーザーが保持する「アイテム」を保存するデータベースが必要になりました。実際のユーザーは数百人ほどでしたが、それに応じて「データベース」や「データサーバー」、「アセットサーバー」などが急きょ増設されたのです。
さらに図1のシステム図以前のシンプルな構想では、すべてのサーバー間通信がUDPによって行われ、サーバーもそれに最適化されていました。UDPとはTCPに比して信頼性の低いプロトコルですが、一方で映像などのマルチメディア通信には向いており、伝送効率の高いプロトコルです。しかし、サービス開始時にはHTTP、TCPも併用して運用するようになりました。
図1に示すようにデータベースはMySQLを採用しています。MySQLは今では全世界で最もポピュラーなオープンソースのデータベースになっており、マルチユーザー、マルチスレッドのSQLデータベースです。
次ページでは、拡張にあたっての現実と、急速にユーザー数を拡大した2004年~2006年のシステム構成を紹介していきます。