O MongoDB 4.0 adicionará suporte para transações multi-documentos, tornando-se o único banco de dados a combinar velocidade, flexibilidade e poder do modelo de documentos com garantias de integridade de dados ACID. Através do snapshot isolation, as transações fornecem uma visão globalmente consistente dos dados e impõem a execução de tudo ou nada para manter a integridade dos dados.
As transações no MongoDB sentitão como os desenvolvedores de transações estão familiarizados com bancos de dados relacionais. Elas serão multi-statement, com sintaxe semelhante (por exemplo, start_transaction e commit_transaction), tornando-as amigáveis para qualquer pessoa com experiência anterior em transação. As alterações no MongoDB permitem transações multi-documentos não impactem o desempenho de trabalhos que não as exigem. No MongoDB 4.0, que será lançado neste verão (EUA), as transações funcionarão em único replicaset, e o MongoDB 4.2 suportará transações em shard clusters.
Como os documentos podem reunir dados relacionados que de outra forma seriam modelados em tabelas pai-filho separadas em um esquema relacional, as operações atômicas de documentos únicos do MongoDB já fornecem semânticas de transações que atendem às necessidades de integridade de dados da maioria das aplicações. Mas as transações multi-documentos tornarão mais fácil do que nunca os desenvolvedores abordar uma gama completa de casos de uso, enquanto que, para muitos, simplesmente saber que estão disponíveis proporcionará uma paz de espírito. Com o MongoDB 4.0, você poderá confiar na integridade transacional, independentemente de como você modelou seus dados.
A chegada iminente de transações é o culminar de um esforço de engenharia de vários anos, iniciado há mais de 3 anos com a integração do WiredTiger Storage Engine. Nós estabelecemos as bases em quase todas as partes do servidor – desde a camada de armazenamento em si, até o protocolo de consenso de replicação, até a arquitetura de sharding. Construímos garantias de consistência e durabilidade refinadas, introduzimos um global logical clock, refatoramos o gerenciamento de metadados de cluster e muito mais. Nós também expusemos todas essas melhorias através de APIs que são totalmente consumíveis pelos nossos drivers. Estamos agora perto de 85% do backlog de recursos que permitem transações, conforme este diagrama resume:
Você pode mais sobre o nosso drive to multi-document trasactions aqui. E se você não consegue esperar para fazer transações, adoraríamos que você se juntasse ao nosso programa de beta-testers. Todos os detalhes estão em https://www.mongodb.com/transactions
Trazendo para pt-BR o artigo do CTO e Co-fundador da MongoDB Eliot Horowitz sobre a inclusão do suporte a transações.
Até mais!