Please examine the specs and likely database performance of a Ryzen or Threadripper system with 128gb RAM and several NVME ssds.
You can literally run the database for a multimillion dollar company on one such server.
I don't know what transactional guarantees Q has though.
What about redundancy and failover? Serious question, as I am not familiar with KDB+/Q
Kdb+/Q has full transactional support.
IPC is pretty easy in Q. I'm not saying you could be at Google scale with one machine, I'm just saying you could get rid of your entire stack and just use a bunch of networked machines running Q. Though, for maybe the majority of businesses, a single beefy server running Q would be sufficient. The performance of the language and integrated database is pretty exceptional.
Thanks
k is incredibly good for distributed computing. It's not as difficult as you're thinking: Arthur started out (as far as languages he published: he implemented a few before) with A and A+ at Morgan Stanley, and Morgan Stanley up until a few years ago actively used both. Distribution was inherent in k from the outset.
Also, your comment on "noDB" is unfounded. k and q are exclusively distributed with kdb+, which is probably the fastest SQL database on the planet.
What if you need to scale beyond what one machine can handle? Or if you need redundancy and failover? Transactional guarantees? Or need to talk to external systems?
Its easy to build a single-executable no-DB no-container no-devops application in most languages if you don’t care about the finer details of building a high scale resilient system that can survive a machine going down or has to talk to third party external systems.