Vendedor lock-in é definido como "Proprietary lock-in ou customer lock-in, que torna um cliente dependente de um fornecedor para seus produtos e serviços; incapaz de usar outro fornecedor sem custo substancial" ( wikipédia). Inegavelmente para muitas empresas de software esse seria o modelo de negócio desejado. Mas é bom para seus clientes?
Os bancos de dados proprietários têm excelente suporte para migrações de outras soluções populares de software de banco de dados. No entanto, isso apenas causaria outro aprisionamento de fornecedor. É então open source uma solução?
Devido a limitações que o código aberto teve anos atrás, muitas soluções de banco de dados caras foram escolhidas. Infelizmente, para muitos, o código aberto não era uma opção.
Na verdade, ao longo dos anos, o banco de dados de código aberto ganhou suporte e maturidade empresarial para executar sistemas de transação de dados críticos e complexos.
Com a nova versão do banco de dados, como Percona e MariaDB, foram adicionados alguns ótimos novos recursos, tanto compatibilidade quanto necessidades corporativas, como suporte 24 horas por dia, 7 dias por semana, segurança, auditoria, clustering, backup online ou restauração rápida. Tudo isso tornou o processo de migração mais acessível do que nunca.
A migração pode ser uma jogada sábia, mas vem com o risco. Esteja você planejando migrar da migração de suporte proprietário para aberto manualmente ou com a ajuda de uma ferramenta comercial para automatizar todo o processo de migração, você precisa conhecer todos os possíveis gargalos e métodos envolvidos no processo e na validação dos resultados.
Alterar o sistema de banco de dados também é um excelente momento para considerar outros riscos de dependência de fornecedor. Durante o processo de migração, você pode pensar em como evitar ficar bloqueado com alguma tecnologia. Neste artigo, vamos nos concentrar em alguns aspectos principais do aprisionamento de fornecedores do MySQL e do MariaDB.
Evitando bloqueio para monitoramento de banco de dados
Os usuários de bancos de dados de código aberto geralmente precisam usar uma mistura de ferramentas e scripts caseiros para monitorar seus ambientes de banco de dados de produção. No entanto, mesmo tendo seus próprios scripts caseiros na solução, é difícil mantê-la e acompanhar os novos recursos do banco de dados.
Esperamos que existam muitas ferramentas de monitoramento gratuitas interessantes para MySQL/MariaDB. As ferramentas gratuitas mais recomendadas pelo DBA são PMM, Zabbix, ClusterControl Community Edition, plugin Nagios MySQL. Embora o PMM e o ClusterControl sejam soluções de banco de dados dedicadas.
Percona Monitoring and Management (PMM) é uma solução totalmente de código aberto para gerenciar o desempenho da plataforma MySQL e ajustar o desempenho de consultas. O PMM é uma solução local que retém todos os seus dados de desempenho e consulta dentro dos limites do seu ambiente. Você pode encontrar a demonstração do PMM no link abaixo.
As ferramentas tradicionais de monitoramento de servidor não são criadas para arquiteturas modernas de banco de dados distribuído. A maioria dos bancos de dados de produção hoje são executados em alguma configuração de alta disponibilidade - desde a replicação mestre-escravo mais simples até clusters multimestres com balanceadores de carga redundantes. As equipes de operações lidam com dezenas, muitas vezes centenas de serviços que compõem o ambiente de banco de dados.
Ter vários sistemas de banco de dados significa que sua organização se tornará mais ágil no desenvolvimento e permite a escolha aos desenvolvedores, mas também impõe conhecimento adicional ao lado das operações. Estender sua infraestrutura apenas do MySQL para implantar outros back-ends de armazenamento, como MongoDB e PostgreSQL, implica que você também precise monitorá-los, gerenciá-los e escalá-los. Como cada back-end de armazenamento se destaca em diferentes casos de uso, isso também significa que você precisa reinventar a roda para cada um deles.
ClusterControl foi projetado para lidar com configurações de banco de dados modernas e altamente distribuídas com base em replicação ou agrupamento. Ele mostra o status de toda a solução de cluster, mas pode ser muito usado para uma única instância. O ClusterControl mostrará muitas métricas avançadas, mas você também pode encontrar consultores integrados que ajudarão você a entendê-las. Você pode encontrar a demonstração do ClusterControl no link abaixo.
Evitando o bloqueio para soluções de backup de banco de dados
Existem várias maneiras de fazer backups, mas qual método atende às suas necessidades específicas? Como implementar a recuperação pontual?
Se você estiver migrando do Oracle ou SQL Server, recomendamos a ferramenta xtrabackup da Percona ou mariabackup similar da Mark.
Percona XtraBackup é o software de backup a quente MySQL/MariaDB de código aberto mais popular que executa backups sem bloqueio para bancos de dados InnoDB e XtraDB. Ele se enquadra na categoria de backup físico, que consiste em cópias exatas do diretório de dados do MySQL e dos arquivos abaixo dele.
O XtraBackup não bloqueia seu banco de dados durante o processo de backup. Para bancos de dados grandes (100+ GB), ele oferece um tempo de restauração muito melhor em comparação com o mysqldump. O processo de restauração envolve a preparação de dados MySQL dos arquivos de backup, antes de substituí-los ou trocá-los pelo diretório de dados atual no nó de destino.
Evitando aprisionamento para alta disponibilidade e escalabilidade do banco de dados
Diz-se que se você não está projetando para o fracasso, então você está caminhando para uma falha. Como você cria um sistema de banco de dados do zero para resistir a falhas? Isso pode ser um desafio, pois as falhas acontecem de muitas maneiras diferentes, às vezes de maneiras que seriam difíceis de imaginar. É uma consequência da complexidade dos ambientes de banco de dados atuais.
Clustering é um recurso caro de bancos de dados como Oracle e SQL Server. Requer licenças extras.
O Galera Cluster é uma opção principal para MySQL e MariaDB de alta disponibilidade. E embora tenha se estabelecido como um substituto confiável para as arquiteturas mestre-escravo tradicionais do MySQL, não é um substituto imediato.
O Galera Cluster é uma tecnologia de cluster de banco de dados ativo-ativo síncrono para MySQL e MariaDB. O Galera Cluster difere do que é conhecido como Oracle’s MySQL Cluster - NDB. O cluster MariaDB é baseado no plug-in de replicação multimestre fornecido pela Codership.
Embora o Galera Cluster tenha algumas características que o tornam inadequado para casos de uso específicos, a maioria das aplicações ainda pode ser adaptada para rodar nele.
Os benefícios são claros:configuração InnoDB multimestre com failover integrado e escalabilidade de leitura.
Evitando bloqueio para balanceamento de carga de banco de dados
Proxies são blocos de construção de configurações de alta disponibilidade para MySQL. Eles podem detectar nós com falha e encaminhar consultas para hosts que ainda estão disponíveis. Se o seu mestre falhou e você teve que promover um de seus escravos, os proxies detectarão tais mudanças de topologia e encaminharão seu tráfego de acordo.
Proxies mais avançados podem fazer muito mais, como rotear tráfego com base em regras de consulta precisas, consultas de cache ou espelhá-las. Eles podem até ser usados para implementar diferentes tipos de fragmentação.
Os mais úteis são ProxySQL, HAproxy, MaxScale (uso gratuito limitado).
Evitando o bloqueio ao migrar para a nuvem
Nos últimos dez anos, muitas empresas mudaram para a tecnologia baseada em nuvem para evitar as limitações orçamentárias para data centers e desenvolvimento ágil de software. A utilização da nuvem permite que sua empresa e seus aplicativos lucrem com a economia e a versatilidade originadas da computação em nuvem.
Embora as soluções em nuvem ofereçam muitos benefícios às empresas, ainda apresentam alguns riscos. Por exemplo, o aprisionamento do fornecedor é tão alto na nuvem quanto no data center.
À medida que mais empresas executam suas cargas de trabalho na nuvem, os serviços de banco de dados em nuvem são cada vez mais usados para gerenciar dados. Uma das vantagens de usar um serviço de banco de dados em nuvem em vez de manter seu banco de dados é que ele reduz a sobrecarga de gerenciamento. Os serviços de banco de dados dos principais fornecedores de nuvem compartilham muitas semelhanças, mas têm características individuais que podem torná-los adequados ou inadequados à sua carga de trabalho.
O modelo híbrido de hospedagem de banco de dados
À medida que mais empresas estão migrando para a nuvem, o modelo híbrido está se tornando mais popular. O modelo híbrido é visto como um modelo seguro para muitas empresas.
Na verdade, é um desafio fazer um transplante de coração e transferir tudo imediatamente. Muitas empresas estão fazendo uma migração lenta que geralmente leva um ano ou até mesmo uma eternidade até que tudo seja migrado. A mudança deve ser feita em uma paz aceitável.
O modelo híbrido não apenas permitirá que você construa um sistema escalável de alta disponibilidade, mas, devido à sua natureza, é um ótimo primeiro passo para evitar o aprisionamento. Por design de arquitetura, seus sistemas funcionarão em uma espécie de modo misto.
Um exemplo dessas arquiteturas pode ser um cluster que opera em um data center interno e sua cópia localizada na nuvem.
Conclusão
Migrar de um banco de dados proprietário para código aberto pode trazer vários benefícios:menor custo de propriedade, acesso e uso de um mecanismo de banco de dados de código aberto, forte integração com a web. O código aberto tem muito a oferecer e, devido à sua natureza, é uma ótima opção para evitar o aprisionamento do fornecedor.