I am considering using Galera Active-Active with five MySQL nodes. The nodes sit behind a load balancer, and the application can write to any of the nodes.
My application reads / writes / updates to the same table roughly 1000 times per second. The writes are usually around 100k of data.
The typical DB logic will be like this:
(1) do a select to see if the data exists in the database
(2) if not, insert the data
(3) more processing
(4) update some of the data
The select (1) will happen around 75 million times per day. The inserts (2) and updates (4) around 1 million times per day.
A. Am I right in thinking Galera will be constantly locking the table, causing writes and updates to be slow?
B. Am I right in thinking the synchronisation of data between nodes may take seconds, or longer, so there is a risk a select (1) will report the data hasn't yet been inserted, but actually an insert (2) has already been done, but it just hasn't been synchronised with all nodes yet?