デジタル人材の育成
加藤 和彦PM(筑波大学 大学院システム情報工学研究科 教授)
チーフクリエータ
長田 一登(東京大学 大学院工学系研究科システム創成学専攻)
コクリエータ
益子 遼介(東京大学 工学部航空宇宙工学科)
ラピッドプロトタイピングの普及により、ベンチャー企業が新規システムの構築を素早く低コストで行うことが可能になった。
しかし、mixiのサーバダウン(2005年)やtwitterの度重なるシステム障害の例に見るように、ラピッドプロトタイピングで作られたデータベースアプリケーションはスケーラビリティが低いため、DBを原因としてユーザーの爆発的増加に耐えられず、サービスが不安定になりやすい。
この結果、拡大中のベンチャー企業は技術的なキャズム(溝)に落ち込んでしまい、成長の機会を奪われてしまう。
この溝を首尾よく乗り越えるためには、開発初期段階から適切なDB戦略を採用し、早期にDBスケーラビリティを向上させる必要がある。
本提案ではラピッドプロトタイピングに欠かせない要素であるオブジェクトリレーショナルマッピング(ORM)上において、データベースアクセスを自動的に最適化する手法の提案と実装を行う。
ORM特有のパフォーマンス問題であるN+1 SELECT問題を、ランタイムなVMバイトコード分析とプリフェッチSQLの自動生成により解決し、ORMのもたらす開発効率を完全に保ったままパフォーマンス実効力を付与することで、ラピッドプロトタイピングにより構築されたソフトウェアのDBのスケーラビリティを向上させる。実証開発を普及度の高いJava/Hibernate上に行い、本実装による波及メリットを最大化する。
オブジェクトーリレーション・マッピングを行う場合に起こり得る本質的なディスクアクセスに起因するオーバーヘッドを低減する、一般性のある新手法を提案し、実現しようとしている。既に、基本方式設計は出来ており、設計における検討は緻密になされている。
十分なプログラミング・スキル/経験を有すると思われ、要素モジュールの部分的な実装も行われているようである。期間内に実現できる可能性は高いと考えられる。ディスクアクセス軽減により、アプリケーション実行の高速化と、実行に伴う消費エネルギーの低減化を期待できる。