Hacker News new | past | comments | ask | show | jobs | submit login

No it is not a hard problem, it is an impossible, unsolvable problem. Software can not alter its behavior to match your desires if you do not tell it what you desire. Clustering is not some simple monolithic thing where you just "enable clustering" and that's that. There's billions of possible clustering setups. Setting it up is as simple as it can get, you have to pick which of the billions of setups you want.



>> Software can not alter its behavior to match your desires if you do not tell it what you desire

Why not have special types of transaction that would explicitly define consistency expectations across a cluster. Make the normal default mirror all data across all clusters and require a lock across the entire cluster when inserting/updating/deleting. You would then be free to alter expectations and introduce sharding to improve performance as needed.


Yes, there are billions of different setups, but there are a few basic ones, and you could start by solving one or two, before solving the generic case. For example, one could provide just a cluster setup for data replication. No fancy distributed data models, just copy the data around in the cluster, if a new node joins copy that data to it, if something fails, handle the failure. Postgresql claims to have multi-master setups, so this is really about the node handling and copying the data around.

After that, you could introduce locally distributed cluster. Later on you could introduce geographically distributed cluster setups. But just because the later is very complex, does not mean that you can't start with the basic setup.


> if something fails, handle the failure.

This generally involves halting the server or forcing a read-only mode until consistency can be assured.

But in general repmgr[1] can be used to simplify many common activities and configurations.

[1] http://www.repmgr.org


Setting up the few basic ones is already as easy as it can get.


Synchronous replication with automatic failover?


Yes.


Care to provide a link with the easy setup and cluster management? It could be a well-hidden gem that needs more publicity.



Trying to be ironic? That page does not present an easy way to set up what I asked for.


Yes it does. Here, I will click the correct link for you and everything: http://www.repmgr.org/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: