Introdução ao MySQL HeatWave na AWS

Se você estiver desenvolvendo aplicativos de banco de dados na AWS e precisar de análises em tempo real e consultas extremamente rápidas, é para isso que o MySQL HeatWave na AWS foi criado. Em vez de criar pipelines ETL complicados para mover dados para um banco de dados de análise separado, o HeatWave aproveita a aceleração na memória para fornecer funcionalidade de análise em tempo real (OLAP) sem afetar o desempenho das cargas de trabalho transacionais (OLTP). O MySQL HeatWave é um serviço totalmente gerenciado que permite aos desenvolvedores criar e implementar rapidamente aplicativos nativos de nuvem seguros usando o banco de dados de código aberto mais popular do mundo. O MySQL HeatWave é desenvolvido e suportado pela equipe de desenvolvimento da MySQL na Oracle.

Uma das melhores coisas sobre o MySQL HeatWave é a capacidade de executar análises diretamente com seus dados transacionais existentes, o que significa que você só precisa gerenciar um banco de dados em vez de dois, e pode obter análises seguras em tempo real sem a complexidade, a latência e o custo da duplicação ETL.

Para começar, vamos Começar gratuitamente na AWS. Uma inscrição rápida fornecerá US$ 300 em créditos gratuitos para ver o quão incrível pode ser o MySQL HeatWave na AWS.

  1. Forneça o País/Território, o nome e o sobrenome, além de um endereço de e-mail para verificação.
    Captura de tela 1 de cadastro da conta
  2. Clique em Verify my email
  3. Ao clicar no link na mensagem de verificação de e-mail, você será solicitado a fornecer uma senha forte, um nome de conta na nuvem e uma região home. Selecione Leste dos EUA (Ashburn) como a região home. OBSERVAÇÃO: Se você não escolher IAD / Ashburn como sua região home, precisará solicitar o aumento do limite da região. Depois que isso for aumentado, você poderá se inscrever na região Ashburn (isso é necessário para HeatWave na AWS).
    Captura de tela 2 de cadastro da conta
  4. Conclua o processo de registro inserindo um endereço e detalhes de faturamento.
  5. Aceite o acordo e clique em Iniciar minha avaliação gratuita
    Captura de tela de inscrição concluída da conta
  6. Dentro de alguns instantes sua conta será criada e você poderá fazer login!
  7. No painel principal, você deverá ver o banner para começar a usar o MySQL HeatWave na AWS. Clique em Ir para serviço.
    Captura de tela dos primeiros passos com o banner do MySQL HeatWave na AWS
  8. Na próxima página, você terá a opção de Solicitar Upgrade, que converterá sua conta em uma conta paga. Não se preocupe! Você não será cobrado nada ... lembre-se que você tem US $ 300 em créditos gratuitos para jogar.
    Captura de tela de Configuração do MySQL HeatWave na AWS - Solicitar Upgrade
    Observação - Levará alguns minutos para que todo o processamento de backend seja concluído para que você possa concluir o processo de upgrade. Se você receber uma mensagem indicando o mesmo, sinta-se à vontade para se afastar um pouco. Dê aos seus olhos um pouco de descanso.
  9. Depois de concluir o processo de atualização, você poderá passar para a próxima etapa.
  10. Como você selecionou Ashburn como região home, poderá pular para a etapa 3, que o orienta a solicitar o HeatWave no limite de serviço da AWS.
  11. Depois de obter o limite de serviço, você poderá ativar o HeatWave na AWS.
  12. Agora você está pronto para configurar um cluster do MySQL HeatWave na AWS!

Observe que o MySQL HeatWave na AWS está integrado ao sistema de Gerenciamento de Identidade e Acesso da OCI. Ao se inscrever no HeatWave na AWS, você será direcionado para a página de login do OCI, na qual deverá acessar com uma Conta do OCI Cloud (criada anteriormente). Para manter as coisas simples, o faturamento é gerenciado e monitorado na OCI.

Pré-requisitos

  • Nome da sua Conta do Oracle Cloud, nome do usuário administrador e senha
  • Um navegador compatível (Chrome 69+, Safari 12.1+ ou Firefox 62+ ou qualquer navegador aprovado pelo Oracle Jet)

Visão Geral

Para começar a trabalhar com o MySQL HeatWave na AWS, você não precisa de experiência da AWS nem de uma conta da AWS. No entanto, se você tiver esses recursos, não há limite para o que você pode fazer para integrar aplicativos da AWS ao MySQL HeatWave. Então vamos lá!

  1. Faça login no MySQL HeatWave no console da AWS
  2. Criar um Sistema de BD MySQL com o Cluster HeatWave
  3. Carregar alguns dados de amostra
  4. Estabelecer conexão com o banco de dados e executar algumas consultas
  5. Carregue tabelas em HeatWave e consulte mais algumas

Etapas

  1. Faça login no MySQL HeatWave na AWS
    Se você acabou de concluir o processo de inscrição e fazer login, talvez esteja um passo à frente. Caso contrário, você desejará navegar até a página de destino MySQL HeatWave on AWS. Aqui você inserirá o nome da sua conta na nuvem (pode já estar em cache pelo navegador) e clicará em Continuar.
    Na próxima página, será solicitado que você informe o ID de usuário e a senha criados durante o processo de inscrição. Depois que tudo for inserido corretamente, você se encontrará no painel do MySQL HeatWave.
  2. Crie um Sistema de BD MySQL com o Cluster HeatWave
    Agora a diversão começa! Vamos ao provisionamento.
    Clique em Criar Sistema de BD MySQL no painel de controle para abrir a caixa de diálogo Criar Sistema de BD MySQL e Cluster HeatWave. Esta primeira parte está focada na configuração da instância subjacente MySQL e do próprio cluster HeatWave.
    Captura de tela de Criar Sistema de BD MySQL e Cluster HeatWave - incompleta
    Captura de tela de Criar Sistema de BD MySQL e Cluster HeatWave - incompleta
    Preencha os detalhes necessários:
    1. Nome de exibição
    2. Descrição
    3. Credenciais de administrador (não as perca)
    4. Selecione a configuração de Hardware. Observe que a forma determina o número de núcleos de vCPU e a quantidade de RAM (por exemplo, MySQL.4.32GB é 4 vCPU e 32 GB de RAM)
    5. Selecione o tamanho inicial do armazenamento de Dados em GiB...this que poderá ser aumentado posteriormente, se/quando necessário.
    6. Selecione a versão mais recente do BD (Atualmente suporta apenas a versão 8.0.31 mais recente do MySQL)
    7. Escolha uma janela de manutenção (Automática ou Manual)
    8. Escolha uma zona de disponibilidade (AZ). Observação: Se você escolher manual, será solicitado a selecionar a zona de disponibilidade física da AWS. Se você tiver aplicativos existentes implantados na AWS, será necessário reconciliar o AZ lógico exibido no console da AWS com o AZ físico selecionado aqui.
    9. Forneça detalhes da rede. A instância MySQL ficará acessível por meio do ponto final público. Por padrão, nenhuma conectividade de entrada é permitida. Para os endereços de cliente Permitidos, você deve informar um endereço IP público específico seguido por /32, ou seja, se o IP público do seu computador cliente for 1.2.3.4, informe 1.2.3.4/32. É possível informar vários valores separados por um ponto e vírgula. Para este exemplo, também usaremos as portas padrão 3306 e 33060.
    10. Clique em Avançar
      Captura de tela da Criação do Sistema de BD MySQL e do Cluster HeatWave - concluída
    11. Forneça um Nome para Exibição e uma Descrição para o cluster HeatWave.
    12. Selecione uma forma - isso determinará a quantidade de memória disponível em cada nó do cluster.
    13. Selecione um tamanho de cluster, de 1 a 128. Para este exercício, é recomendável selecionar a forma HeatWave.16 GB e um tamanho de cluster de 1.
    14. Clique em Criar, depois sente-se e relaxe por alguns minutos enquanto a magia acontece.
  3. Carregue dados de amostra
    Agora que tudo está ativo e em execução, vamos carregar alguns dados e testar isso.
    1. Abra uma nova guia do browser e faça log-in na console do OCI para acessar o Cloud Shell. Se forem solicitadas credenciais, você usará a mesma conta, o nome de usuário e a senha do Cloud informados ao fazer log-in em HeatWave.
    2. Abrir o OCI Cloud Shell
      Captura de tela do OCI Cloud Shell
    3. Recuperar o banco de dados de amostra: airport-db
      wget https://downloads.mysql.com/docs/airport-db.tar.gz
      
      tar xvzf airport-db.tar.gz
    4. Localize o endereço IP público associado ao seu ambiente do Cloud Shell. Isso será adicionado aos endereços de cliente permitidos MySQL.
      dig +short myip.opendns.com @resolver1.opendns.com
    5. Retorne ao painel de controle MySQL e edite a instância do BD MySQL. Adicione o endereço IP público com /32 aos endereços de cliente Permitidos e clique em Salvar.
    6. Retorne à guia do browser com o Cloud Shell e inicie uma sessão do MySQL Shell. Você precisará do nome de usuário e da senha de administrador fornecidos ao criar o Sistema de BD. Você também precisará do Nome do Host copiado anteriormente.
      mysqlsh username@hostname
      Depois de pressionar Enter, você será solicitado a informar a senha.
    7. Use loadDump para importar o banco de dados que foi descompactado anteriormente.
      util.loadDump("airport-db", {threads: 16, deferTableIndexes: "all", ignoreVersion: true})
      Esta etapa pode levar alguns minutos. Agora é uma ótima oportunidade para pegar um lanche rápido ou verificar a previsão do tempo.
    8. Quando a importação estiver concluída, você estará pronto para prosseguir. Bom trabalho!
  4. Execute algumas consultas simples... apenas para uma boa medida
    Vamos comparar o desempenho com HeatWave um pouco mais tarde. O shell MySQL é uma ferramenta bastante poderosa, mas a interface não é para todos. Antes de seguir em frente, vamos fazer mais algumas consultas apenas por diversão; uma ótima chance de flexionar esses músculos da linha de comando.
    1. Por que não tentamos pegar mais algumas linhas em nossa consulta:
      select * from airplane limit 10000;
    2. Está bem? Apenas um more...for divertido!
      mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
      Anote o tempo de execução.
    3. Saia do Shell MySQL digitando '\d' e pressionando ENTER.
    4. Carregue tabelas em HeatWave e consulte um pouco mais Você está fazendo great...and agora é hora de aquecer! Nesta seção final, você conhecerá o incrível poder do MySQL HeatWave.
      1. Retorne à guia do navegador com o painel de controle do MySQL HeatWave. Navegue até o painel de espaços de trabalho.
      2. Selecione seu sistema de banco de dados e informe o nome de usuário e a senha de administrador criados anteriormente (você salvou esses, certo?). Clique em Conectar e dê alguns segundos para abrir a porta.
      3. Agora que você está conectado, é hora de executar a mesma consulta de antes. Isso ainda será executado em InnoDB, mas é intencional.
        mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
        Observe o tempo que leva para complete...and se preparar!
    5. Vá para Gerenciar Dados na guia HeatWave, selecione airportdb. Isso selecionará todas as tabelas no BD. Clique no botão Carregar em HeatWave.
      Captura de tela da guia Gerenciar Dados no Heatwave
      Isso abrirá uma janela que descreve a tarefa e fornece um tempo estimado para conclusão. Depois de fornecer uma vez por todas, clique em Carregar Tabelas.
      Captura de tela das tabelas de Carga Paralela do MySQL Autopilot para HeatWave
      Depois que você carregar uma nova tabela em HeatWave, ela rastreará e carregará automaticamente todos os dados daqui para frente. Ou, pelo menos até que você descarregue essa tabela.
      OBSERVAÇÃO Lateral: Se você não precisar do poder de HeatWave por um tempo, sempre poderá interrompê-lo para ajudar a manter os custos baixos. Enquanto estiver parado, o sistema continuará rastreando os dados DIFS de todas as tabelas carregadas. Quando o HeatWave for submetido a backup, ele atualizará automaticamente as tabelas carregadas.
  5. Execute a consulta anterior novamente e observe a diferença de desempenho.
  6. Sinta-se à vontade para experimentar conjuntos de dados maiores e/ou consultas mais complexas. Sempre que quiser testar benchmarks de desempenho entre InnoDB e HeatWave, só será necessário descarregar e, em seguida, recarregar as tabelas.
  7. Isso nos leva ao fim. Você pode encerrar, interromper ou sair executando os recursos que você created...and não se esqueça de dar um tapinha nas costas. Bom trabalho!

Resumo

Até agora, criamos uma instância de banco de dados MySQL e um cluster HeatWave na AWS, carregamos alguns dados e contornamos o sistema um pouco. Você viu a melhoria dramática do desempenho obtida executando consultas em HeatWave...all sem a necessidade de ETL de quaisquer dados entre sistemas. Com todo esse poder ao seu alcance, encorajamos você a continuar explorando o desempenho e as capacidades. Nós apenas arranhamos a superfície!

Quer saber mais? Participe da discussão em nosso canal público do Slack!