3 ms·
> Instead of Kafka and Redis and SQL Dbs and Kubernetes and god knows what else, you just have Q. No DevOps bullshit, no containers, no complex shit to manage.
by dkersten 7y ago
> Instead of Kafka and Redis and SQL Dbs and Kubernetes and god knows what else, you just have Q. No DevOps bullshit, no containers, no complex shit to manage.
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.
- shrubble 7y agoPlease 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.
- smabie 7y agoIPC 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.
- dkersten 7y agoThanks
- kick 7y agok 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.