Enosql – V8エンジン上に構築されたNoSQL
筆者の環境では試せていないのですが面白そうなのでご紹介。 NoSQLも一定の認知度をもつようになってきました。特に有名なものとしてはMongoDBが知られています。JavaScriptが書けるのが便利で、MongoDB内でMapReduceを使ったりすることができます。 そんなMongoDBに強力なライバルが出現するかもしれません、というのがEnosqlになります。何とベースになるエンジンにV8を使った埋め込み型NoSQLエンジンです。
Enosqlの使い方
例えばこんな感じのコードになるようです。
public class Tasks
{
public string _id { get; set; }
public string task { get; set; }
public DateTime duedate { get; set; }
public string category { get; set; }
public string status { get; set; }
}
private void addTask()
{
var db = new enosql.EnosqlDatabase(@"c:\temp\Todo.jdb");
var TaskCollection = db.GetCollection<tasks>();
TaskCollection.Insert(new Tasks()
{
task = "Pick up flowers",
duedate = DateTime.Now.AddDays(2),
category = "anniversary",
status = "unfinished"
});
}
データベースのファイルを開き、GetCollectionでコレクション(テーブルみたいなもの)を取得します。そしてInsertでデータを追加しています。データの構造はフレキシブルに変更でき、まさにNoSQLとして活用できます。
100KBのデータを500レコードを書き込んだ場合、1.2〜1.5秒程度で書き込まれる速度とのこと。NoSQLであればスキーマ構造を持たない分、高速と思われます。
EnosqlはC#製、Windows用のオープンソース・ソフトウェア(MIT License)です。