UnQLiteのGoバインディング


UnQLiteのGoバインディングを作ってみた。

UnQLiteがお気に入りの理由

  • Key-Value-Storageデータベースの一種。
  • SQLiteのようにアプリ組み込みで使える。
  • ACIDを保つためのトランザクション機能あり。
  • ゼロコンフィグレーションで動かせる。
  • カーソル機能 があること。

というわけで…

unqlitegoを作りました。

UnQLite Binding for golang.

https://github.com/nobonobo/unqlitego

Install

$ go get -d github.com/nobonobo/unqlitego
$ make -C ${GOPATH/:*/}/src/github.com/nobonobo/unqlitego install

Test

$ go get github.com/r7kamura/gospel
$ make -C ${GOPATH/:*/}/src/github.com/nobonobo/unqlitego test

Benchmark

$ go get github.com/r7kamura/gospel
$ cd ${GOPATH/:*/}/src/github.com/nobonobo/unqlitego
$ go test -bench Bench*

Output:(Macbook Air 2011 mid)

BenchmarkFileStore     200000       9667 ns/op
BenchmarkFileFetch     500000       7928 ns/op
BenchmarkMemStore   500000       3824 ns/op
BenchmarkMemFetch  1000000       3448 ns/op

まとめ

結構早いよ!