Webアプリケーションの中でもデータベースを使いたいという話は良く聞かれます。HTML5であればIndexedDBを使えますが、こちらはキーバリュー型となっています(インデックスを張ることもできますが)。 今回はもっと手軽に使えるWebアプリケーション用のデータベース、Lokiを紹介します。インメモリですが利用できる場面も多そうです。

Lokiの使い方

Lokiのサンドボックスです。JSONでデータを保存して、検索もできるようになっています。

データ構造をビジュアル的に確認することもできます。

Lokiはインメモリなので再読み込みすると消えてしまいます。しかしURLをロードしたタイミングでサーバからのデータをロードすることで簡単に再構築できるデータベースになるでしょう。インメモリなので高速ですし、検索や更新、削除にも対応しています。Webブラウザはもちろん、nodeアプリケーションでも利用できます。

永続化のためにIndexedDBやnodeのファイルシステムに対するアダプタも用意されています。全体的にMongoDBで使うのと似たインタフェースとなっています。

Lokiはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

Lightweight javascript in-memory database: LokiJS Loki Sandbox techfort/LokiJS: javascript embeddable / in-memory database