.
Recurso patrocinado Gerenciar e manter um grande banco de dados SQL Server internamente pode ser complexo, e a maioria dos administradores de banco de dados (DBAs) aceitará com gratidão toda a ajuda que puderem obter. O interesse em mudar para bancos de dados relacionais gerenciados na nuvem está aumentando, pois as empresas contabilizam o custo de tarefas de gerenciamento complicadas e altas taxas de licença. Mas ainda há alguma preocupação com o custo e a complexidade da migração.
No ano passado, a Amazon Web Services (AWS) lançou o Babelfish para Amazon Aurora PostgreSQL-Compatible Edition, um recurso que facilita a transição entre o SQL Server e o Amazon Aurora, um sistema de gerenciamento de banco de dados relacional (RDBMS) criado para a nuvem com total compatibilidade com MySQL e PostgreSQL . Então, o que é o Babelfish, como ele pode ajudar a facilitar as migrações do SQL Server e por que você gostaria de dar o salto em primeiro lugar?
Os administradores de banco de dados (DBAs) lutam com sistemas RDBMS locais há décadas, mas os números sugerem que eles estão cada vez mais dispostos a migrar essas cargas de trabalho para a nuvem para aliviar a carga administrativa.
Por exemplo, de acordo com um relatório de 2020 Pesquisa IDC dos mais de 400 profissionais de dados na América do Norte, 68% acreditam que a pandemia global acelerou a migração de bancos de dados locais para a nuvem. Um número semelhante (63%) relatou que estava migrando ativamente dados para a nuvem, com quase um terço (29%) planejando começar a fazê-lo em três anos.
o Relatório de destaque de tecnologia da IDC também observou como o Babelfish permite que aplicativos e dados sigam um caminho de migração rápido e relativamente fácil do local para a nuvem sob um modelo de elevação e mudança. Essa abordagem também pode ajudar a resolver qualquer apreensão persistente sobre a quantidade de trabalho braçal envolvido na movimentação do SQL Server para fora do local.
Opções de migração na nuvem para Microsoft SQL Server
Há três maneiras de executar cargas de trabalho do SQL Server na AWS. A primeira opção é que os clientes executem seu banco de dados em uma instância do EC2 Windows, fornecendo sua própria licença para o SQL Server. A segunda opção é comprar o Windows e o SQL Server da AWS. Os clientes podem comprar suas licenças da AWS ou trazer suas próprias licenças e devem gerenciar o sistema operacional e o SQL Server por conta própria. Isso lhes dá algumas vantagens, como evitar despesas de capital em seus próprios servidores e armazenamento.
A terceira opção é executar com o serviço gerenciado da AWS, a solução Amazon Relational Database Service (Amazon RDS), que gerencia computação e armazenamento, deixando os clientes livres para se concentrarem na otimização de aplicativos e no valor comercial. Isso inclui uma licença para o software fornecido pela Amazon e é oferecido como parte de seu preço.
No entanto, muitos clientes gostam da ideia de um mecanismo RDBMS de código aberto sem licença na nuvem. É aí que entra o Aurora. Lançado em 2014 com compatibilidade com MySQL, o serviço gerenciado foi expandido com uma oferta PostgreSQL três anos depois. A compatibilidade de código aberto do Aurora permitiu que a AWS dispensasse licenças e as oferecesse com pagamento conforme o uso, cobrando pela operação por hora.
O modelo de pagamento conforme o uso ajuda a reduzir os custos de licenciamento, explica Richard Waymire, gerente sênior de gerenciamento de produtos do Aurora PostgreSQL na AWS. “O maior impacto é não se comprometer com um grande negócio se você mudar para o RDS”, diz ele. “Você não precisa assinar um contrato de vários anos com núcleos licenciados mínimos.”
Gerenciamento de banco de dados sem atrito
Como ex-DBA, Waymire aprecia o apelo de saltar de um SQL Server local para um sistema gerenciado.
“Existem coisas que você precisa fazer para gerenciar e executar um banco de dados que, na verdade, não agregam nenhum valor comercial”, diz ele. Isso inclui execuções diárias de backup, incluindo backups de log, necessários para oferecer suporte aos recursos de recuperação contínua. Os usuários do SQL Server no local também devem garantir que o próprio software de banco de dados tenha as atualizações de segurança e confiabilidade mais recentes.
A AWS cuida dessas tarefas para os usuários do Aurora. Isso permite que os DBAs se concentrem no trabalho de valor agregado, como atualizar esquemas, otimizar o desempenho, criar os índices apropriados e trabalhar com desenvolvedores para ajustar seus aplicativos.
A conveniência de uma oferta gerenciada também traz melhorias no desempenho das transações. “A migração do SQL Server para o Aurora é dimensionada para as cargas de trabalho certas”, explica Waymire. A empresa permite que os clientes expandam o poder de computação de banco de dados disponível sob demanda. Ele também suporta até 15 réplicas de leitura acessando o mesmo armazenamento físico. Essas réplicas permitem que os aplicativos aumentem suas leituras de banco de dados sob demanda, evitando gargalos de banco de dados.
Embora as organizações estejam interessadas nesses benefícios, elas ainda estão nervosas com o custo e a complexidade da migração. Ao contrário do PostgreSQL, o SQL Server usa um dialeto SQL chamado T-SQL, juntamente com seu próprio protocolo de nível de fio, o Tabular Data Stream (TDS).
O AWS Data Migration Service (AWS DMS) oferecerá suporte a uma migração para implantações semelhantes ou para um banco de dados diferente, como SQL Server para Aurora. O provedor de nuvem também oferece a AWS Schema Conversion Tool (AWS SCT) para converter esquemas de banco de dados entre diferentes mecanismos, mas os clientes ainda precisam reescrever o código do aplicativo SQL Server para trabalhar com o Aurora PostgreSQL.
Babelfish nada à vista
A Amazon revelou sua solução para esse problema em sua conferência re:Invent em dezembro de 2020. Babelfish acelera as migrações entre o SQL Server e o Aurora PostgreSQL cuidando das conversões no nível do aplicativo. O serviço em si não é uma ferramenta de migração; O próprio Aurora PostgreSQL foi estendido para entender a especificação TDS que a Microsoft lançou sob seu acordo Open Specification Promise em 2008.
“Uma parte significativa do nosso negócio são as migrações comerciais”, diz Waymire. O objetivo é permitir que as pessoas movam bancos de dados para o PostgreSQL para parar de pagar taxas de licenciamento.” O Babelfish ajuda os clientes a fazer isso rapidamente sem ter que reescrever completamente seus aplicativos. .
O Babelfish elimina as diferenças ao executar aplicativos SQL Server no Aurora PostgreSQL. Por exemplo, o Aurora e o SQL Server arredondam para diferentes níveis de precisão ao usar o tipo de dados nativo MONEY em cada banco de dados. Isso poderia produzir resultados diferentes entre os aplicativos que abordam as duas plataformas. Babelfish adicionou um novo tipo de dados para MONEY que é compatível com as expectativas dos usuários do SQL Server.
Antes do Babelfish, o fluxo de trabalho de migração típico do SQL Server para o Aurora PostgreSQL envolveria a execução da AWS SCT para converter o esquema do SQL Server em PostgreSQL. Depois disso, os clientes usariam o AWS DMS para portar os dados para o Aurora e, posteriormente, validar se o banco de dados funcionava. Então veio o verdadeiro trabalho pesado: reescrever seus aplicativos para serem compatíveis com o Aurora PostgreSQL, um processo que ainda representa uma técnica de migração adequada para alguns clientes.
Com Babelfish, apenas os dois primeiros passos são necessários. Em vez de reescrever, as empresas podem simplesmente apontar seus aplicativos para o Babelfish e testá-los. O Babelfish foi lançado com suporte para os casos de uso de migração de banco de dados mais comuns, retornando erros ao aplicativo se ele não suportasse uma operação.
A AWS passou o tempo desde o lançamento original em 2020 expandindo esses casos de uso de migração para oferecer suporte a mais operações e melhorar a compatibilidade, o que significa que os desenvolvedores podem não precisar de modificações, diz Waymire.
Abrindo mais opções de desenvolvimento
A AWS pretendia que o Babelfish fosse um trampolim para a migração, permitindo que os clientes executassem aplicativos SQL Server no Aurora PostgreSQL rapidamente. Uma vez que isso seja alcançado, eles podem desenvolver seu código nativamente em relação ao serviço gerenciado PostgreSQL, em vez de codificar para T-SQL.
“Você tomou a decisão de migração para o PostgreSQL, então não prolongue seu tempo nesse ecossistema”, aconselha Waymire. “Você pode fazer isso se seus desenvolvedores ainda não forem treinados em tecnologias de código aberto, mas isso cria uma dívida técnica adicional.”
A Waymire espera que os clientes expandam seu alcance para outras tecnologias de banco de dados onde isso fizer sentido. As licenças do SQL Server tendem a manter toda a carga de trabalho dentro do modelo relacional, mas os clientes que pagam conforme o uso têm mais flexibilidade. Eles podem dividir sua carga de trabalho pós-migração entre mecanismos relacionais e NoSQL, aponta ele.
“Se um cliente não está satisfeito com um contrato de licenciamento comercial, muitas vezes é difícil mudar isso”, diz ele. O cliente normalmente fica bloqueado por um determinado período de tempo. “Mas com um serviço gerenciado, você pode alternar sua carga de trabalho entre diferentes tecnologias conforme necessário.”
Um cliente que está migrando do SQL Server pode transferir alguns de seus dados para o Aurora PostgreSQL, por exemplo, mas pode preferir mover a funcionalidade do aplicativo móvel para o DynamoDB da Amazon, que é o armazenamento de chave-valor. Como você não está preso a compromissos de licenciamento de longo prazo, é fácil misturar e combinar.
Ainda uma curva de aprendizado
Os desenvolvedores que migram para uma plataforma Aurora PostgreSQL com tecnologia Babelfish podem começar a funcionar rapidamente, mas Waymire avisa que eles ainda devem fazer alguns ajustes. Eles devem dedicar tempo para entender o modelo de responsabilidade de segurança compartilhada, por exemplo, garantindo que seus aplicativos estejam seguros na nuvem.
Da mesma forma, enquanto a AWS gerencia o banco de dados, ainda é importante gerenciar algumas tarefas internamente, como testar procedimentos armazenados e praticar a recuperação regularmente. Eles também devem aprender a interagir com uma nova plataforma de banco de dados em áreas como ajuste e otimização.
Apesar dessa curva de aprendizado, os benefícios de custo e gerenciamento de longo prazo para o serviço são claros. E Babelfish não vai embora, diz Waymire.
A AWS lançou o Babelfish para código aberto no ano passado, cumprindo uma promessa feita no momento do lançamento. Isso permite que os clientes o estendam por conta própria. É um sinal claro de que a empresa está comprometida com o pouco serviço que poderia, ele conclui: “Estamos na Babelfish para o longo prazo”.
Patrocinado pela AWS.
.