Hatena::ブログ(Diary)

Islands in the byte stream

2014-05-05

Android的には、LevelDBはSharedPreferencesの高速な代替として使えそう

AndroidにおけるLevelDB bindingは複数あるようだけど、今回はMaven Centralに上がっていてかつ読み書きAPIがわかりやすい以下のものを使った*1

dependencies {
    compile 'im.amomo.leveldb:leveldb:1.0.+@aar'
}

KVSなのでSharedPreferencesのように使える。速度はopen/closeにSharedPreferencesよりコストが掛かるものの、読み書きは非常に高速にできるようだ。

f:id:gfx:20140505200050j:image

サンプルアプリのソースコード:

その他のLevelDB bindingとしては以下のものがある。IteratorやWriteBatchなどひと通り実装済みだが、get/putが byte[] でしかできず、Javaで使うのはかなり大変そうだ。高速なのは確かなので、まともなbindingがあれば製品コードでも検討してもいいと思う。

*1:ただし、このバインディングは複数のDBインスタンスを想定していないなどクオリティが低いので、製品コードで使えるレベルではない

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gfx/20140505/1399288192