Re: Sharding to /dev/null is quicker...
There is good reason why "NoSQL" is called the way it is. It is meant for non-structured data. If there are no relationships between tables (i.e. your database is at most 1st normal form) then it makes no sense to pay performance penalty in the database to maintain these, non-existing, relationships. Of course you have good reason to wonder "why anyone would want this" but as it turns out, sometimes it is useful.
For example, when chucking large amounts of data into a datastore, when it needs to be ingested with maximum efficiency, but only some of it will be processed later (and rest simply thrown away or archived and forgotten). Clearly there are no literal transactions taking place here.
Just as SQL is not a silver bullet for all data storage needs, neither is NoSQL. However SQL had its period of juvenile growth, decades ago, while NoSQL is only entering it now - hence, you hear about it more.