By way of further answer:
The use of a database as an interprocess communication mechanism is considered an antipattern (the opposite of a "best practice"):
https://en.wikipedia.org/wiki/Anti-pattern#Software_design https://en.wikipedia.org/wiki/Database-as-IPC
While relational databases perform the worst at this, the fundamental problem is using the database as a work queue for ephemeral/real-time data. Simply using a faster, and/or nonrelational database, doesn't remove the problem, it just makes the setup perform better. It's a difference of degree, not kind.
Ultimately, databases — including in-memory key-value stores — are for storage, not for IPC. This doesn't stop them being routinely used as such by people who do not know how to write IPC mechanisms and middleware of their own. That's less excusable in an era with lots of prefabricated options, whether message queues (e.g. AMQP) or distributed systems closer to the application level (like DMQ).
-- Alex