If you want to see elegant, read dan bernstein's code. Let the filesystem be your database.
Re:The problem with conventional databases
by mattculbreth on Tuesday April 24, 2007 @08:38AM
(#16298)
Cool, I'll do that. Which set of his code? I've found his website and there's a bunch there.
It's been a few years since I was a sysadmin, but I believe either his DNS system or qmail system will show it. When I first read them, I thought they were very annoying, because it's not one monolithic program, and there are a lot of one-line shell scripts that do sequential operations using exec.
The way he describes it, he's getting rid of a lot of parsing by using the directory tree instead of text files following. But this use of directories can also be good for some of the more degenerate uses of databases.
Mostly I recall the "aha" moment of "So, this is the Unix philosophy in action." The design is very elegant.
I really think this concept works though for 8/10 applications which are using databases because, well, you've always used databases. Memory, save changes to flat files, read it all in during startup, it's really an elegant way to go about it.