書籍購入:『フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門』

ここ2年ほど注目している系統の本なので購入。ユニケージ手法の勉強の代わりになるかなあ。

組込み絡みでも、最近はRaspberry Piのようにほぼ普通のLinux入りの小型コンピュータが出回るようになった。これらを使って何かシステムを作るときに、DBMSを使わずに済ませたい場合がある。その際にヒントになる本が欲しかったのだ。

RDBMSを使わないアプローチとしては、最近ではRDBではないDBMS(NoSQLとか)を使う方法と、ユニケージ手法のようにファイルシステムディレクトリとファイル)をしゃぶり尽くす方法がある。

ユニケージ手法という名前が知られるようになったのは比較的最近だが、しかしファイルシステム上にデータをファイルとして保持するスタイルのシステムは、Unix環境には大昔から存在している。いわば鉄板のネタだ。

シェルとawkでデータベース・システムを構築しようという試みとしては、Douglas Comerの1982年の論文“The Flat File System FFG: A Database System Consisting of Primitives”がある。確か単一のテキストファイル(flat file database)の話だったのだが、この頃に問題となったのはデータ量が大きな場合のパフォーマンスぐらいだ*1。ハードウェア性能が信じられないほど上昇し、Kernelやファイルシステム回りのチューニングが向上している現在では、多少の工夫は必要だろうが、性能面で心配することはないはずだ。

……色々と書いたが、まあ実のところ、DBMSの類を苦手にしているという個人的事情も大きいのだが。いや、RDBって手軽に中身を覗けないし、運用開始後にデータ構造を変更するのは死亡フラグだ。でも、テキストなら中身を読んだり書き換えたりするのが楽だから*2

*1:確か、ディスクIOが足を引っ張るとか、そんな話だった気がする。

*2:こういう理由で、その昔XMLデータベースが流行ってくれないだろうかと考えていた。流行らなかったけど。