Remote method invocation
A de Atomicidade: O princípio de atomicidade diz que todas as partes de uma transação devem se completar, ou então nenhuma delas. Como exemplo, uma regra da empresa que garanta que cada vez que um funcionário tiver o salário modificado, também deverá acontecer com o cargo. Logo, a transação “atômica” consiste em duas atualizações. O banco de dados deve garantir que ambas finalizem com sucesso, ou então, nenhuma delas. Se apenas uma atualização proceder com sucesso, existiria um funcionário com um salário incompatível com o cargo: uma corrupção de dados, em termos de negócios. Se absolutamente qualquer coisa sair errado antes da transação se completar, o próprio banco deve garantir que quaisquer partes que tenham completado com sucesso sejam desfeitas e descartadas. A recuperação dos dados de uma transação incompleta pode ser manual, mas precisa ser automática e impossível de corromper no caso de um erro.
C de Consistência: O princípio da consistência diz que todos os resultados da consulta precisam ser consistentes com o estado do banco de dados no momento em que a consulta se iniciou. Como exemplo, uma consulta que tire apenas a média dos valores de uma coluna de uma tabela. Se ela for uma tabela grande, levará alguns minutos para toda ela ser lida. Se nesse tempo, vários usuários atualizarem as linhas da tabela, inclusive alterando o valor do campo da coluna em que é feito o cálculo, o banco de dados deve garantir que os valores modificados não sejam vistos pela consulta em progresso. Ela deve retornar a medida dos valores da coluna tal como ela estava quando a consulta se iniciou, não importando o tempo levado para finalizá-la.
I de Isolamento: O princípio de isolamento diz que uma transação incompleta (ou seja, não escrita no disco) deve