nDiki : Berkeley DB
Related term
2004年2月8日 (日)
■ Berkeley DB 4.2.52 + DB_File 1.808 をホームにインストール

[ Perl ]
DiKicker の二次データの保存先を何にしようか思案中。 MLDBM::Sync が候補なのだが、MLDBM::Sync::SDBM_Fileだとデータが大きくなった時に速度が出ないようだ。
このサーバ(FreeBSD)のPerl(5.005_03)は、DB_File も GDBM_Fileも有効になかったので今までDBMパッケージの使用は避けてきたのだが、さすがに今回は使えないと辛いかも。
ということで Berkeley DB も含めて DB_File をホームにインストール。
@ db-4.2.52
tar zxvf db-4.2.52.tar.gz cd db-4.2.52/build_unix ../dist/configure --prefix=$HOME/local/db-4.2.52 make make install rm -rf $HOME/local/db-4.2.52/docs
インストール自体は特に依存するものも無く簡単。 ただし、このサーバでは丁度 busy だった事もあってビルドに2時間!もかかってしまった。 本来は暇そうな時にやるべきなのだろうけど、今日中にうまくいくか検証しておきたかったので、待った。
@ DB_File-1.808
tar zxvf DB_File-1.808.tar.gz
cd DB_File-1.808
export DB_FILE_LIB=$HOME/local/db-4.2.52/lib
export DB_FILE_INCLUDE=$HOME/local/db-4.2.52/include
perl Makefile.PL INSTALLDIRS=site \
LIB=$HOME/local/lib/perl \
INSTALLMAN1DIR=/tmp/man/man1 \
INSTALLMAN3DIR=/tmp/man/man3
make OTHERLDFLAGS="-Wl,-rpath -Wl,$HOME/local/db-4.2.52/lib"
make test
make install
libdb を実行時に検索させるのに LD_LIBRARY_PATH環境変数とか指定したくなかったので、-rpath を指定してしまった。 Makefile中の OTHERLDFLAGS 変数がリンク時に空だったので、ここで設定。
しかし libdb-4.2 でかいな。 Perl からの呼び出し一発目は結構時間がかかる。
- DBD::Oracle 1.16 を Debian GNU/Linux s... (2005-05-19)
- [ Perl ] Memcached を使ってみる (2004-01-12)
- WiKicker 0.29 リリース - ビルドまわりの改良など (2006-02-13)
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
2004年2月9日 (月)
■ [ Perl ] Search::InvertedIndex

DiKicker のキーワードインデックス用の転置ファイルの実装によさそげなモジュールはないかと CPAN をあたってみたところ、Search::InvertedIndex を発見。
Berkeley DB を複数束ねて大容量対応してあったりキャッシュが実装されていたりと高機能だが、それゆえ今回使うにはオーバースペックっぽい。 依存するモジュールもそれなりにあるし。
やっぱ、今回は自分で実装するかな。 しかし Search::InvertedIndex 自体は結構使えそうな感じなので機会があったら試してみたい。
- [ DiKicker ] 語リストを Term DB に保持 (2006-11-21)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- 他の Web サイトの情報を URI::Fetch でキャッシュ付き取得 (2005-10-29)
- Berkeley DB 4.2.52 + DB_File 1.808 をホ... (2004-02-08)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
2004年2月24日 (火)
■ [ DiKicker ] キーワードDBを作り直し

キーワードインデックスファイル(Berkeley DB DB_HASH)の、レコード仕様を決めなおして修正。
- [ Perl ] Search::InvertedIndex (2004-02-09)
- Berkeley DB 4.2.52 + DB_File 1.808 をホ... (2004-02-08)
- [ DiKicker ] 語リストを Term DB に保持 (2006-11-21)
- [ DiKicker ] 実装作業 (2004-02-21)
- GRAPH GEAR セミハードタイプ デジタルカメラケース DGB-01... (2005-02-07)
2006年11月21日 (火)
■ [ DiKicker ] 語リストを Term DB に保持

自動リンクなどで語リストが必要な時に、今までは Term DB (Berkeley DB で実装)をスキャンしてリストアップしていた。 これだと語数が増えていくにつれ線形に遅くなるので、一度リストアップしたら Term DB の別レコードに Storable で freeze してキャッシュするようにしてみた。 ちょっと速くなることを期待。
あわせてロックまわりも改善。 DiKicker では Article DB と Term DB をセットでオープンすることとし、Article DB の方で排他制御をしている。 ただし、Term DB の方には排他ロックでオープンされているか、共有ロックでオープンされているのかの情報を伝えていなかったため、実は共有ロックの時にも書き込みをしてしまう部分が残っていた。
Term DB オープン時にどちらで開いているかを通知するようにし、キャッシュ情報などの書き込み時にはこれらを参照して間違えた書き込みをしないようにした。
- さらにサーバ負荷状態悪化。対応に追われる。 (2006-03-04)
- [ Perl ] Search::InvertedIndex (2004-02-09)
- DiKicker に grep 検索機能を追加 (2007-02-02)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- DiKicker の DB に余分な情報まで保存していた (2006-11-07)
スポンサード リンク
■よく検索されるキーワード
torrent(62) windows(62) perl(58) 提案書(48) 書き方(47) linux(44) アジェンダ(32) usb(29) 動画(27) x31(27) 使い方(27) 手帳(25) ssh(25) mp980(23) thinkpad(22) svn(21) ほぼ日手帳(21) java(21) インストール(20) 画像(20) debian(20) ドラマ(16) subversion(16) cvs(15) ubuntu(15) 設定(15) 秋葉原(14) gmail(13) ヨドバシ(13) 無料動画(13) tortoisesvn(13) dropbox(13) c#(12) .net(12) 壁紙(12) make(12) gnu(12) ノート(11) ヨドバシカメラ(11) a6(11) tc-1(11) ganttproject(11) 冷蔵庫(11) 宮根誠司(11) porter(11) 無印(10) フリー(10) 筆まめ(10) tar(10) 充電式カイロ(10) 方眼(9) パスワード(9) 日本語(9) visual(9) cwrsync(9) wiki(9) gimp(9) フォーマット(9) firefox(8) ボールペン(8) nullpointerexception(8) grub(8) skk(8) ppm(8) ご査収(8) ダウンロード(8) ケース(8) サンプル(8) 提案書の書き方(8) 無料(8) 無印良品(8) google(8) 2008(8) gtd(8) 3.5(8) framework(8) ツール(8) cgi(7) mew(7) バッグインバッグ(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.069452s / load averages: 0.12, 0.17, 0.16
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク