豪鬼メモ

一瞬千撃

データベースライブラリTkrzwの初版リリース

データベースライブラリであるTkrzwの初版をリリースした。Kyoto Cabinetの正式な後継製品である。本家のサイトはここである。設計目標の通り、高速かつ堅牢で多目的に使える実装になったと思っている。私の下手な英文を読ませるのも忍びないので、ここに概要を書いておこう。

続きを読む

開発作業と椅子と尻

頭脳労働者諸氏が家に籠もって仕事をするようになって早数ヶ月、その末席に連なる私も、自室の椅子に座って一日中作業をするのが日常になった。環境の変化によって多かれ少なかれ体調を崩す人もいることだろう。腰痛とか肩こりとか頭痛とか鬱とか。私の場合、痔になった。その原因と対策に関するメモ。

続きを読む

DBMのローカルシャーディング

データベースの文脈において、シャーディングとは普通はデータベースを行で水平分割して複数の計算機に割り当てることを意味する。今回は敢えてそれをローカルで行う機能について考えてみたい。つまり、単一の計算機上でデータベースファイルを複数に分けて運用するのだ。

続きを読む

DBMのC++/Java/Python/Rubyインターフェイス

この週末の頑張りで、Tkrzwの実装がほぼ全て完了した。権利関係の処理が済むまでにもうちょいかかりそうなので、先に各種プログラミング言語でのAPIについて語りたい。C++JavaPythonRubyインターフェイスを比較してみると面白い。

続きを読む

DBMの設計と実装 その19 バックアップ

DBMでサービスを提供している最中に、データベースファイルのバックアップを取りたくなることがあるだろう。当然、サービスのダウンタイムにならないように、データベースにアクセスする他のスレッドはブロックしないで行いたい。それにはどうするか。

続きを読む

DBMの設計と実装 その18 アトミックなレコード処理

私が設計したDBMに特徴的な機能である、アトミックなレコード処理について詳しく紹介したい。以前誰かがデータベースのクンフーであると言ってくれた面白い機能だ。

続きを読む