Nope, nope and nope. Went to the github page for spacetimedb, it does everything that is terrible. >Instead of deploying a web or game server that sits in between your clients and your database, your clients connect directly to the database and execute your application logic inside the database itself. You can write all of your permission and authorization logic right inside your module just as you would in a normal…
> It also means you have a single point of failure, no read-replicas or redundancy. Hate everything about this. How does writing an application as a single language/binary prevent read-replicas or redundancy? The application could do that. Or you could do it at disk level (RAID).
How do you manage multiple instances of the application and not introduce split brain?
> Or you could do it at disk level (RAID).
That is not comparable. RAID's redundancy is not the same as the redundancy in a multi node database cluster. You have one service, not multiple services, network card gets fried, your database goes down, you can't promote a standby to master and be on your way. Also RAID is a single disk as far as the OS is concerned, so you could hit I/O limits (especially if you have a single binary) that cause your app to chug, you cannot split your writes and reads across different physical or virtual machines that have different disks.