Unix + Perl なら、データベースサーバは MySQL か PostgreSQL で
いいんじゃない?
ロック処理とか、トランザクション処理とか、面倒なことはぜんぶ
サーバがやってくれるよ。
もしサーバ使えない環境なら、PerlのDBモジュール使うしかないかな。
こっちだと、基本的に一枚のファイルでデータを保持することになる。
で、検索にはハッシュを使う。
だから、複雑なデータ処理をする場合や、データ数が数万件とかの規模に
なると、パフォーマンスが低下して、苦しいかもしれない。