CRDTs: A chave para a Consistência Eventual Forte

2025-09-09
CRDTs: A chave para a Consistência Eventual Forte

CRDTs (Tipos de Dados Replicados sem Conflito) são estruturas de dados que podem ser replicadas em vários nós, editadas independentemente e mescladas sem problemas. Este artigo aprofunda como os CRDTs alcançam a Consistência Eventual Forte (SEC), um modelo mais robusto do que a consistência eventual tradicional. A SEC garante que, mesmo com atualizações independentes em vários nós, os conflitos são resolvidos automaticamente e de forma determinística, levando a baixa latência, alta tolerância a falhas e funcionalidade offline. O autor argumenta que os CRDTs são blocos de construção fundamentais para sistemas consistentemente eventualmente fortes, com aplicações que se estendem muito além da edição colaborativa e listas de tarefas para vários jogadores, para bancos de dados distribuídos e muito mais.

Leia mais

NIH é Mais Barato do que a Dependência Errada

2025-07-18
NIH é Mais Barato do que a Dependência Errada

Este artigo questiona a suposição comum de que dependências de software são sempre benéficas. O autor argumenta que as dependências incorrem em custos significativos, incluindo curvas de aprendizado, sobrecarga de manutenção, riscos de segurança e complexidade de implantação. Usando o banco de dados TigerBeetle como exemplo, o artigo destaca as vantagens de uma política de 'zero dependências'. Uma estrutura para avaliar dependências é proposta, abrangendo ubiquidade, estabilidade, profundidade, ergonomia e estanqueidade. Chamadas de sistema POSIX, códigos de controle de terminal ECMA-48 e a plataforma web são usados para ilustrar a aplicação da estrutura. O artigo conclui incentivando os desenvolvedores a avaliar criticamente os custos e benefícios das dependências antes de tomar decisões.

Leia mais
Desenvolvimento

Arquivos querem ser atores? io_uring e a convergência de paradigmas computacionais

2025-01-04
Arquivos querem ser atores? io_uring e a convergência de paradigmas computacionais

Em aplicações Linux de alto desempenho, o io_uring está revolucionando a interação com o SO. Ele usa filas de submissão e conclusão, permitindo E/S assíncrona sem esperar por chamadas de sistema. Basta colocar operações na fila e continuar a computação. Isso se assemelha notavelmente ao modelo Actor: objetos enviam mensagens para computação concorrente. O envio de operações para descritores de arquivos e o recebimento assíncrono de respostas no io_uring é surpreendentemente semelhante. Isso sugere uma mudança para um comportamento de SO assíncrono e autônomo; métodos tradicionais de chamada de sistema podem ser uma abstração desatualizada.

Leia mais
Desenvolvimento