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

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.

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