それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

gdbmを使ってキーバリュー

gdbm を使ってみた。

古くて新しい。KVM。昔からあるんですよねん。

Apacheの設定でなんか使えたら便利かなぁって。おもって。試してみた

gdbm とは?

GNUによる dbm の再実装です。

じゃぁdbmとは?

単純な、{ a: 1 } のデータを保存するAPIライブラリ群

dbm はファイルにデータを保存し、各アプリケーションがデータフォーマットを認識して読み書きする(ライブラリ経由で)

とっても原始的なものだし。いまの現代社会ではJSONファイルをロードしても問題ないので無用の長物(数GBファイルでもメモリに載っちゃうので)

ファイルに保存する、アプリケーション間でデータのやり取りに使ってる(いた)

  • ndbm
  • gdbm
  • Berkley DB

などがある。

なんで使うの?

なんというか。趣味?Apacheとかで使えそうだしね。

使い方。

各言語の bindings で手軽に使える。

などなど

とりあえず、C言語でやってみる

gist.github.com

takuya@~/Desktop$ gcc my_gdbm.c -I/usr/local/include/ -L/usr/local/lib -lgdbm -o my_gdbm

簡単ですね。

ちょっとした、ハッシュを保存するには使えるのと伝統的なUNIXアプリケーションやGNUで使えるので、対応しているアプリケーションを使うには便利かもしれない。

Apache認証 で使う

mod_authn_dbm などで使えるのですが。gdbm と apacheが使う sdbm はファイルレイアウトに互換性がないので、結局やめちゃった。

参考資料

http://d.hatena.ne.jp/fuku_dw/20120220/1329725811

http://d.hatena.ne.jp/fuku_dw/20120208/1328689594

http://d.hatena.ne.jp/fuku_dw/20120209/1328698659

http://d.hatena.ne.jp/fuku_dw/20120220/1329725811

http://d.hatena.ne.jp/fuku_dw/20120211/1328986286

gdbm - ライブラリコールの説明 - Linux コマンド集 一覧表

仕事で使える魔法のLAMP(32):単純なデータを管理するDBMを使えるようにする - @IT