Pretty typical of any multi-master asynchronous replication: you must make damn sure your application isn't going to generate conflict. If conflict does happen, you have to apply some external logic to resolve that issue. Some things like GoldenGate (oracles purchase of binlog snarfing multi-master replication) provide you some tools for that. Basically dumping conflicted records into a table for manual or automated clean up later.
At the end of the day, it's always going to require well thought out schemas and data layout if you want to take writes for both masters.
Multi-master is less difficult if you only write to a single node at a time (hot-standby style).
I don't know much about replication, but I'd like to learn. Can you recommend any books/courses/tutorials that address the sorts of design decisions you're talking about?
At the end of the day, it's always going to require well thought out schemas and data layout if you want to take writes for both masters.
Multi-master is less difficult if you only write to a single node at a time (hot-standby style).