Per the 80/20 rule, I would go with SQLite for the majority case and then postgresql for the minority case. For the outlier 110+, Cassandra is looking good these days for NoSQL.
For the majority NoSQL solution, I would vote for the module called y_serial at http://yserial.sourceforge.net
-- definitely the easiest to implement, and fast in terms of development time.
As for the BLOB issue, yserial seems to handle it well via compression. From a database performance perspective, you want BLOB under 2M, otherwise one is better off using files.