Firefox web browser - Faster, more secure & customizable

Webアプリケーションの発展にともない、クライアントサイドでデータを永続的に保持するより簡単な方法が求められている。今のところlocalStorageやsessionStorageを使う方法が一般的。ただし、この方法はあまり大容量データの保持には向いていない。もうひとつ、SQLを利用するWeb SQLがあるが、ここにきて新しい動きがではじめている。もっとシンプルに大容量データを扱えるようにしようというIndexedDBがそれだ。

  • Indexed Database API - 今後の展開が期待されるIndexedDB
  • Web Storage - localStorageやsessionStorageを使う。少量データの永続保持に適切
  • Web SQL Database - クライアントサイドでSQLを使ってデータを操作

Beyond HTML5: Database APIs and the Road to IndexedDB - Mozilla Hacksに、このあたりのストーリーがまとまっている。簡単にまとめると、SQLを使っている開発者でもクライアントサイドのデータ保持にSQLを採用することをあまり快く考えておらず、もっとシンプルで高速なモデルを求めているという。こうした要望に答えるAPIがIndexedDBということになる。

Firefox 4: An early walk-through of IndexedDB - Mozilla Hacksでは、Web StrageとIndexedDBとの比較が紹介されており、コーディングのシンプルさでWeb Strageに部があることを指摘。BrowserCouchをIndexedDBを使って実装することで、より簡単に使えるようになるだろいう、という指摘がある。

2010年に入ってからNoSQLというキーワードが登場することが増えているが、IndexedDB APIもNoSQLの流れのひとつということになる。Firefox 4.0にIndexedDBが取り込まれることになると説明がある。NoSQLとともにおさえておきたいキーワードのひとつになりそうだ。