Resolução de conflitos (BD)
Como um banco de dados distribuído lida com o mesmo dado sendo alterado em lugares diferentes ao mesmo tempo e divergindo. As estratégias vão do simples "a última escrita vence" até guardar todas as versões e deixar a aplicação (ou um CRDT) fundi-las.
Estratégias: Last-Write-Wins (LWW) — escolhe a versão com o timestamp mais recente (simples, mas pode perder dados silenciosamente, e exige relógios sincronizados); manter siblings — guarda todas as versões concorrentes (Riak) e deixa o cliente/aplicação resolver na próxima leitura; merge específico da aplicação (por exemplo, unir dois carrinhos de compra por união); CRDTs — tipos de dado que garantem matematicamente a convergência sem conflito. Detectar que houve um conflito exige rastreamento de versão (vector clocks). Esse é o preço que se paga pela disponibilidade de sistemas multi-leader/leaderless. A escolha depende inteiramente do tipo de dado e de quão ruim é perder uma atualização.