I'm quite new to software development and whenever I come across small projects which involve storing (relational) data I always ask myself if something like a micro-blog (or any other project with few users that stores few types of data) really need 'big' RDBMS like MySQL/MariaDB, PostgreSQL or even SQL Server, DB2 or Oracle (of course I didn't use the latter 3 but the former 2 seem very wide-spread even with very little applications).
If you look at the feature matrix of any of those software packages, it is usually massive and overwhelms me a little bit. I basically want to create a database, a bunch of tables, one or two users with specific rights to access them and that's it.
But after looking up documentation, I'll find things like 'Cascading streaming replication', 'Foreign data wrappers' or 'Materialized views with concurrent refresh' and much, much more and that always gets me thinking whether I should really read up on those things, tweak my complete configuration file and especially if those features pose a possible security threat when I don't disable them or don't know how to use them.
Basically, the whole thing just doesn't seem like it was 'made for me' and my small micro-blog, but big corporations with tons of systems and modules which need to interact with each other and exchange data in multiple formats, etc.
Of course, there is sqlite but when I last looked it seemed like it didn't support concurrency and therefore is quite unsuitable for web applications.