We have several read-only nodes in our AlwaysOn cluster, which are set to use Synchronous-commit mode, which ensures that the logs are updated on the read-only nodes before any update statements complete. Even with this option, if we query a read-only
node before the logs have been processed, we can read old data. I would like to know a strategy to ensure that a read-only query will definitely return up to date information. I had an idea that if I just used a different transaction type, like
Serializable, that it might block the read-only query from actually getting the data until after the log file was processed, but I have not tried it, yet. Does anyone know if this, or any other technique would solve this problem? I would really
like to move more queries to the read-only nodes, in an effort to offload CPU utilization from the primary node.
↧