[SP-pm] [OT] NoSQL

Thiago Rondon thiago at aware.com.br
Fri Jun 4 06:15:57 PDT 2010


Em 04/06/10 05:51, Otávio Fernandes escreveu:
> O meu ponto de vista sobre este assunto é ligado ao CAP Theorem
> (http://en.wikipedia.org/wiki/CAP_theorem). Para os que não conhecem,
> vou tentar resumir:
>
> O Teorema CAP afirma que é impossível para um sistema distribuído
> garantir simultaneamente todos os três itens abaixo:
>
> * Consistência: todos os nós veem o mesmo dado ao mesmo tempo;
> * Disponibilidade: falhas entre os nós não previnem que os
> sobreviventes continuem a funcionar;
> * Tolerância ao Particionamento: o sistema continua a operar mesmo com
> perda arbitraria de mensagens entre os nós;
>
> De acordo com o teorema, um sistema distribuído consegue apenas
> satisfazer dois destes requisitos.
>
> A resposta que define se você é um candidato ou não para um NoSQL e
> para saber qual deles serve para a sua necessidade, é perguntar-se
> qual dos pontos acima você pode abrir mão. Porque, (sem entrar em
> detalhes) em um banco relacional (leia-se SQL), tentam garantir os
> três, e por isso, sofrem ao tentar abraçar grandes requisições (e este
> resultado é o esperado).
>    

Otávio,

Eu discordo contigo sobre um banco relacional garantir todos os itens do 
teorema de CAP, os bancos tradicionais como PosgreSQL/Oracle são apenas 
"C-A" (Consistency-Availability), enquanto os que estão fora de um 
esquema de relacionamento são "A-P" (Availability-Partition Tolerance).

Em relação a definição de "tolerância ao particionamento",  em um 
sistema relacional quando os servidores se dividem por um problema de 
rede, você precisa escolher que "lado" esta "certo".

Quando você  esta orientado a consistência e a disponibilidade, 
teoricamente você deve abrir mão da tolerância de falhas no particionamento.

Meus centavos,
-Thiago Rondon


More information about the SaoPaulo-pm mailing list