Hacker News new | past | comments | ask | show | jobs | submit login

Why not use a database?

You're asking "why not add complexity?" Not a good place to start.

If a project needs a database you'll know it pretty quickly...and it's easy to convert to using a database at that point. The only time I've ever regretted a decision about databases was when I designed a log processor that didn't immediately have relational needs...over a couple of weeks of implementing the requirements I ended up writing a relational layer in Perl against a Berkeley DB backend. That was stupid, and I should have thought a little harder about the requirements. But it was my first big solo project, so I blame inexperience for not recognizing a relational problem from the start. Luckily, SQLite had just been released, and converting my app to use it (and losing a hundred lines of code) was a one day operation. It made the app approximately 100 times faster for my data set.

But, well over half of my applications since then have not required a database and have been well-served by flat files.

Because it's much easier to just dump your data to disk as you already have it, rather than translate it to SQL idea of what data is: SQL types, one-to-many relationships, etc.

This is not just a Scheme thing. If you use Java you have serialization. Python calls it 'pickle'. I'm sure whatever else you are using probably has something equally simple.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact