MongoDB refuta afirmações de que não está pronto para cargas de trabalho críticas aos negócios
O MongoDB usou o lançamento da versão 8.0 para defender sua viabilidade como base de sistemas transacionais críticos para os negócios.
O banco de dados de armazenamento de documentos é classificado como o quinto banco de dados mais popular pela pesquisa de desenvolvedores do DB-Engines e do Stack Overflow. Grandes desenvolvedores como Adobe, Bosch e Ticketmaster o utilizam para aplicativos modernos da web e móveis. No entanto, ainda há debate sobre se o seu modelo de documento – que vê dados armazenados em ficheiros BSON – é uma alternativa adequada às bases de dados relacionais mais tradicionais que sustentam a maioria das aplicações críticas para os negócios que processam elevados volumes de transações, o dia todo, todos os dias.
As melhorias na versão 8.0 incluem rendimento 32% melhor e gravações em massa 56% mais rápidas. O MongoDB também afirma ter alcançado um escalonamento horizontal mais rápido para alta disponibilidade e redução de custos de aplicação.
Falando com O Registro antes da conferência do MongoDB em Londres esta semana, o diretor de produtos Sahir Azam explicou que as melhorias no preço-desempenho se devem em parte a uma nova abordagem de fragmentação – uma abordagem para melhorar a resiliência e o desempenho dividindo grandes bancos de dados distribuídos em unidades menores armazenadas em vários bancos de dados servidores.
“Tornamos mais fácil e barato para os clientes começarem a usar o sharding, porque agora oferecemos a capacidade de co-localizar servidores de configuração com os principais nós que contêm dados, o que torna tudo mais fácil e econômico quando você está começando. – você não precisa ter uma infraestrutura extra à medida que seu aplicativo é dimensionado, você pode optar por desacoplar essas coisas para melhor isolamento e melhor ajuste posteriormente, mas isso diminui a barreira de entrada”, disse ele.
Na semana passada, Spencer Kimball, CEO da Cockroach Labs, que fabrica o sistema relacional distribuído CockroachDB, opinou que, embora o MongoDB seja ótimo para aplicações móveis e aplicações web, ele não é adequado para sistemas transacionais críticos para os negócios.
Kimball explicado havia um “imposto cumulativo” sobre os sistemas de armazenamento de documentos, que se acumulava ao longo do tempo e os tornava inadequados para aplicações críticas de negócios de longa duração. Ele argumentou que um dos benefícios não anunciados dos bancos de dados relacionais é que, ao definir seu esquema, eles permitem o desenvolvimento de casos de uso complexos ao longo de cinco a dez anos.
Há anos que permitimos aos clientes a flexibilidade de introduzir coisas como validação de esquema de digitação e governança de diferentes versões das coleções.
Azam disse que era um “nome impróprio comum” que só porque o MongoDB tem um esquema flexível, ele não é governado e é completamente sem esquema. “Há anos permitimos aos clientes a flexibilidade de introduzir coisas como validação de esquema de digitação e governança de diferentes versões das coleções.”
Algumas implementações do MongoDB foram rigidamente governadas em termos de esquema, disse ele. “O arco típico, no início do desenvolvimento, os clientes desejam muita flexibilidade enquanto definem a aparência de seu modelo de dados. Mas então, à medida que o aplicativo e a equipe de desenvolvimento começam a escalar, eles começam a criar camadas de governança e esquema”, acrescentou Azam.
O diretor de produtos negou que o MongoDB tenha um limite de escalabilidade além do qual não seja adequado para sistemas críticos para os negócios. Ele apontou para o facto de as organizações de serviços financeiros – que notoriamente têm uma tolerância negligenciável para sistemas não fiáveis – construíram sistemas transacionais essenciais na base de dados. para consolidar sua visão de que o MongoDB pode trabalhar em funções muito exigentes.
Azam não convenceu a todos.
Adam Ronthal, vice-presidente de pesquisa do grupo de dados e análises ITL do Gartner, disse que o modelo de documento de bancos de dados como o MongoDB atraiu os desenvolvedores por sua flexibilidade e agilidade, especialmente por sua escalabilidade distribuída. No entanto, ele observou que alcançar o desempenho transacional exigia alguma redundância.
Sempre lutei um pouco com a afirmação do MongoDB de que eles iriam lá e substituiriam todos esses sistemas relacionais centrais construídos em plataformas RDBMS maduras como Oracle e Db2…
“O MongoDB recomenda especificamente um modelo de dados desnormalizado para minimizar a necessidade de transações distribuídas abrangendo vários documentos devido ao impacto no desempenho, mas eles representam paradigmas de persistência de dados fundamentalmente diferentes [to relational systems]. Sempre lutei um pouco com a afirmação do MongoDB de que eles iriam lá e substituiriam todos esses sistemas relacionais centrais construídos em plataformas RDBMS maduras como Oracle e Db2, e eles têm falado assim desde 2016”, Ronthal disse.
Embora possa ser possível construir esse sistema transacional robusto e escalável no MongoDB, os usuários precisam questionar os benefícios da mudança, juntamente com o quanto eles podem aplicar sua combinação existente de habilidades e ferramentas ao problema.
“Trocar seu banco de dados é como uma cirurgia cardíaca aberta. Nunca é tão fácil quanto você pensa que será e sempre leva um pouco mais de tempo do que você imagina”, opinou o analista. ®