Banco de dados: Teorema CAP

Alguns deles existem há muito tempo mas se popularizaram a partir de 2010 para suportar o aumento crescente dos dados, das variedades dos dados e das arquiteturas emergentes. O Teorema CAP é uma estratégia para pensar em como selecionar bancos de dados para as arquitetura que se apresentam.

Em resumo há muitos bancos de dados. Alguns deles existem há muito tempo mas se popularizaram a partir de 2010 para suportar o aumento crescente dos dados, das variedades dos dados e das arquiteturas emergentes. O Teorema CAP é uma estratégia para pensar em como selecionar bancos de dados para as arquitetura que se apresentam.

Os 14 tipos de bancos de dados

Os 14 tipos de bancos de dados: Nada impede de amanhã um novo tipo de banco de dados ganhar força, tendo em vista a variedade de dados que é crescente nos tempos atuais. Note que alguns desses bancos suportam múltiplos conceitos ao mesmo tempo. Mas ao final de tudo, analise com cuidado considerando as necessidades tecnológicas, as necessidades de negócio/custo, e as capacidades do time na hora de decidir por utilizar um tipo ou outro.

Nada impede de amanhã um novo tipo de banco de dados ganhar força, tendo em vista a variedade de dados que é crescente nos tempos atuais. Note que alguns desses bancos suportam múltiplos conceitos ao mesmo tempo. Mas ao final de tudo, analise com cuidado considerando as necessidades tecnológicas, as necessidades de negócio/custo, e as capacidades do time na hora de decidir por utilizar um tipo ou outro.

Specification Pattern no Domain Driven Design

O domínio da aplicação deve ser sempre preservado, de modo que mudanças não o alterem e não impacte em testes. O artigo dá exemplos práticos de como pode-se utilizar esse padrão para leis, normas etc, especialmente aplicável em estruturas que precisam funcionar em conformidade. Definitivamente o padrão de especificações é muito flexível e uma boa prática.

Factory no Domain Driven Design

Factory no Domain Driven Design (DDD)

A Factory do Domain Driven Design (DDD) é um padrão tático que pode ser utilizado de modos diferentes, com o objetivo de facilitar a geração de novos agregados. Lembre-se que a instância de objetos tem que ser fácil, mas isso nem sempre é aplicado desse modo nos códigos que vemos no dia-a-dia.

Domain Driven Design estratégico

DDD - Domain Driven Design estratégico

Você também acha que usa DDD só porque tem pastinhas específicas organizando o código? Pensou errado!A estratégia da organização norteia tanto a estrutura corporativa (negócios existentes, modelos de negócio, fluxo de caixa, margens, etc.) quanto a própria estrutura do software, uma vez que ela tende a refletir tais características.Esse artigo vai da estratégia da organização até a estratégia associada ao DDD. Mas se seu objetivo é querer entender elementos como repository, agregações, value-objects ou mesmo estruturas de pastas comumente utilizadas em projetos desse tipo, entenda que esse artigo não entregará tais características. Pelo contrário, ele entregará os passos anteriores que fundamentam o uso do DDD numa empresa. Uma vez que entendo que esses elementos sem a estratégia não são DDD, mas tão somente nomes de pastas ou classes. De todo modo escreverei em algum momento um artigo sobre eles.

Diferença entre TLS e mTLS: O que você tem que saber

Diferença entre TLS e mTLS

SSL é obsoleto mas você não precisa ser. Mas qual é a diferença entre eles e como isso pode ser utilizado em sistemas distribuídos; De que modo; Quais protocolos e padrões são utilizados nessa indústria e de que modo eles e as CAs (Unidades certificadoras) suportam as aplicações modernas? Neste artigo, tentaremos esclarecer de alguma maneira perguntas como essas, como: “Diferença entre TLS e mTLS: O que você tem que saber”.

Gossip Protocol e a manutenção do estado em sistemas distribuídos

Gossip Protocol

Gossip Protocol e a manutenção do estado em sistemas distribuídos: O Gossip Protocol é um protocolo de disseminação de informações. Ele permite a manutenção de atualizações do estado em sistemas distribuídos. Desse modo, isso significa que ele garante que todos os nodos de um cluster possuam a mesma informação, garantindo o estado entre eles. Ao mesmo tempo isso é conseguido através de um mecanismo de propagação de informação. Desse modo cada nó envia sua informação atualizada para um conjunto específico de outros nós na rede. Assim esses nós retransmitem essas atualizações para outros nós, criando uma espécie de efeito de bola de neve (Ou melhor, fofoca, que é a tradução da palavra Gossip).

Consensus Protocol: o que você tem que saber (dev e ops)

Consensus Protocol

O algoritmo Consensus Protocol é um método utilizado em redes distribuídas para garantir a segurança e a integridade das transações realizadas. Sendo amplamente utilizado em criptomoedas, como o Bitcoin, e em outras aplicações descentralizadas, como o Ethereum. Além disso ele é amplamente utilizado em aplicações modernas de DevOps. Como por exemplo: Hashicorp Serf, Etcd, Zookeeper, Nomad, Apache Cassandra, Docker Swarm, Consul, etc. Desse modo, com esse artigo espero que você entenda o Consensus Protocol: o que você tem que saber (dev e ops).