O MySQL HeatWave faz todo o sentido se você estiver executando cargas de trabalho transacionais e analíticas mistas em MySQL ou estiver movendo dados para um banco de dados separado para análise. Em vez de criar pipelines ETL complicados para mover dados, o HeatWave, um acelerador de consultas na memória integrado e de alto desempenho, acelera o desempenho do MySQL em ordens de magnitude para análises e cargas de trabalho mistas, sem alterações nas aplicações atuais. O serviço foi desenvolvido no MySQL Enterprise Edition, que permite aos desenvolvedores criar e implementar rapidamente aplicativos nativos em nuvem seguros usando o banco de dados de código aberto mais popular do mundo.
A Oracle projetou o MySQL HeatWave para que os desenvolvedores pudessem se concentrar em seus aplicativos. Você não precisa gerenciar dois bancos de dados para OLTP e OLAP, e pode obter análises seguras em tempo real sem a complexidade, a latência e o custo da duplicação ETL. O MySQL HeatWave é um serviço totalmente gerenciado que automatiza tarefas, como backup, recuperação e aplicação de patches em bancos de dados e sistemas operacionais. "Preocupe-se menos, esmague mais", como dizemos! O MySQL HeatWave é desenvolvido e suportado pela equipe de desenvolvimento da MySQL na Oracle.
Para começar a usar o OCI, criaremos uma VCN, implantaremos um Sistema de BD MySQL e criaremos um cluster HeatWave, extrairemos alguns dados e os analisaremos. Procurando começar a usar o MySQL HeatWave na AWS. Isso mostrará como você pode aproveitar o MySQL HeatWave em um cenário de várias nuvens. Que tempo para estar vivo!
Como estamos apenas começando, vamos começar realmente no início e criar uma VCN com o acesso adequado e, em seguida, ver como criar um cluster HeatWave no OCI.
Em nosso exemplo, estamos usando uma abordagem simplificada para configurar as coisas para usar HeatWave.
Agora vamos começar com o básico!
Menu: Home > Redes > Redes Virtuais na Nuvem
Crie VCN e sub-redes usando Redes Virtuais na Nuvem > Assistente para Iniciar VCN > Criar uma VCN com Conectividade de Internet. Claro que você também terá uma sub-rede privada.
O assistente prático irá orientá-lo através da criação de um ambiente de rede para o seu sistema, embora existam muitas maneiras de configurar isso, não vamos nos distrair. Observe que escolhi o compartimento que configurei anteriormente, my_heatwave_testing – porque isso é importante!
Agora vamos configurar a lista de segurança da VCN para permitir tráfego por meio das portas do MySQL Database Service. Clique na Sub-rede Privada da VCN que você criou e clique na Lista de Segurança para ela.
Agora clique na lista Adicionar segurança.
Vamos adicionar algumas regras de entrada necessárias para ativar as portas certas, 3306 e 33060. Aqui estão os detalhes:
Source CIDR: 0.0.0.0/0
Destination Port Range: 3306,33060
Description: MySQL Port
E clique em Add Ingress Rules.
Parece bom até agora!
Se você já for o administrador, poderá pular para a próxima etapa, mas isso estará aqui caso esteja adicionando usuários à tenancy do OCI que também precisem de acesso para gerenciar o Sistema de BD. Precisaremos definir permissões e limitar um pouco o acesso, mesmo em nosso exemplo "simplificado", mas você pode ler tudo sobre gerenciamento de grupos aqui. Normalmente, criaremos um grupo, criaremos políticas e, em seguida, adicionaremos usuários ao grupo.
Vamos fazer amizade com as opções de Identidade e Segurança.
Crie um grupo para seus usuários; no meu exemplo, criei um grupo chamado MySQL Admins.
Adicione usuários ao grupo. No nosso exemplo, vamos adicionar-nos a este grupo.
É claro que, para um grupo, você primeiro criará todos os usuários necessários, os adicionará ao grupo que precisa de acesso nos níveis que determinar e terá certeza de que poderá soltá-los com os controles de acesso apropriados.
Permitimos o acesso definindo políticas, permitindo que um grupo tenha acesso total (admins) e um grupo com acesso limitado (usuários do banco de dados, por exemplo).
Exemplos de políticas:
Allow group MySQLAdmins to {SUBNET_READ, SUBNET_ATTACH, SUBNET_DETACH, VCN_READ, COMPARTMENT_INSPECT} in tenancy
Allow group MySQLAdmins to manage mysql-family in tenancy
Allow group MySQLAdmins to use tag-namespaces in tenancy
Isso só permite configurar e administrar nosso compartimento e define o escopo do acesso aplicado à instância do banco de dados.
Para obter mais informações sobre como adicionar usuários e definir políticas no OCI, consulte esta documentação.
Menu > Bancos de Dados > Sistemas de BD
Criar Sistema de BD
Observe que o sistema avisa se você ainda não tiver configurado usuários, uma VCN etc. Isso é legal. Não se esqueça de verificar em qual compartimento você criará isso, novamente em List Scope à esquerda. Clique em Criar Sistema de BD.
Verifique novamente o compartimento, dê um nome a ele e selecione HeatWave (claro).
Você criará credenciais de administrador. Certifique-se de salvar essas credenciais em algum lugar útil, mas seguro.
Em Configurar Rede, você usará a Rede Virtual na Nuvem criada anteriormente, mas usaremos a sub-rede privada. Deixe o Domínio de Disponibilidade padrão e vá para Configurar Hardware.
Confirme se, na seção Configurar Hardware, a forma selecionada é MySQL. HeatWave.VM.Standard.
Também:
Na seção Configurar Backup, você pode deixar a janela de backup padrão de sete dias.
Continue rolando e clique em Mostrar Opções Avançadas.
Vá para a guia Rede, no campo Nome do Host, digite o nome exato do seu Sistema de BD. Isso permitirá que seu cluster se registre no DNS e permitirá que você acesse o host por meio de um nome de domínio totalmente qualificado (FQDN).
Certifique-se de que a configuração da porta corresponda ao seguinte:
Para este exemplo, vamos importar dados automaticamente durante a criação de recursos usando dados armazenados em um bucket do Object Storage, disponibilizados por PAR (Pre-Authenticated Request, Solicitação pré-autenticada).
Se preferir carregar os dados usando o Shell MySQL, você poderá ignorar esta etapa.
Selecione a guia Importação de Dados. Você será solicitado a colar o URL da sua PAR aqui. O URL da PAR do objeto precisa ser um arquivo de manifesto que possa ser criado com a opção ociParaMifest do dump do Shell MySQL utilityHere. Você também pode usar uma PAR do Bucket do Object Storage ou Objetos com PAR do Prefixo.
Aqui está um link de amostra que você pode usar para importar Airport-DB para fins de avaliação.
https://objectstorage.us-ashburn-1.oraclecloud.com/p/zRBSs7nKURyZRcIoV4QlYhascC5gkZcJeQoBS8c2ssyEPID3PSDAnh73OMClQQH4/n/idazzjlcjqzj/b/airportdb-bucket-10282022/o/airportdb/@.manifest.json
Tudo definido... clique em Criar!
Desta vez, um hexágono amarelo aparecerá, eventualmente ficará verde e seu Sistema de BD estará ativo e em execução. Faça um pouco de chá ou pegue um copo de água, você fez muito.
Vamos usar o prático Cloud Shell para estabelecer conexão com MySQL e MySQL Shell. É um pequeno terminal Linux incorporado no painel da OCI (e é adorável). No canto superior direito, clique no ícone de prompt do Cloud Shell e uma linha de comando será aberta na parte inferior do navegador. Certifique-se de configurar a Configuração de Rede Privada para seu Cloud Shell, selecionando a VCN criada anteriormente.
O legal é que o MySQL Shell já está instalado!
Depois de criarmos nosso Sistema de BD compatível com HeatWave, estabeleceremos conexão com ele usando o Shell MySQL.
mysqlsh --host <dbsystemendpointipaddress> -u <username> -p</username></dbsystemendpointipaddress>
Você pode saber mais sobre o MySQL Shell.
Mais sobre conexão de sistemas de banco de dados.
Se você optar por importar dados durante a criação do recurso usando a opção PAR, poderá ignorar esta etapa. Caso contrário, você pode continuar aqui para importar AirportDB (PDF).
No Cloud Shell:
wget https://downloads.mysql.com/docs/airport-db.tar.gz
tar xvzf airport-db.tar.gz
Isso cria um único diretório chamado airport-db, que contém os arquivos de dados.
Inicie o shell MySQL e estabeleça conexão com o Ponto Final do Sistema de BD MySQL:
mysqlsh _Username@DBSystem_IP_Address_or_host_Name
Quando solicitado, informe a senha de administrador especificada anteriormente. Uma vez conectado, você usará o Utilitário de Carregamento de Dump para importar dados.
MySQL>JS> util.loadDump("airport-db", {threads: 16, deferTableIndexes: "all", ignoreVersion: true})
Deve levar alguns minutos para importar, então você está pronto para seguir em frente!
HeatWave é realmente projetado para conjuntos de big data, precisando de análise rápida, portanto, mesmo que eu esteja importando um mero banco de dados de amostra, você pode carregar o quanto quiser (desde que tenha alocado o armazenamento para ele). Além disso, as consultas podem ser executadas no cluster sem descarregar para um banco de dados separado. Pode levar alguns minutos para que o cluster seja criado.
Para começar, vá para seu Sistema de BD na Console do OCI: Bancos de Dados > Sistemas de BD e clique em seu Sistema de BD criado recentemente.
Em Resources, você verá HeatWave (entre outros itens úteis), clique nisso.
É claro que você deseja Adicionar Cluster HeatWave (usando o botão à direita, no meio da página) ou clicar no menu Mais ações na parte superior e selecionar Adicionar cluster Heatwave. Aceite os padrões (16 núcleos de CPU com 512 GB de RAM e 1 nó) e clique no botão para Adicionar cluster HeatWave.
Isso leva alguns minutos para que você possa reaquecer essa bebida enquanto o cluster gira.
Finalmente, a parte divertida! Quando o Cluster HeatWave estiver em execução:
$> mysqlsh Username@DBSystem_IP_Address_or_Host_Name
MySQL>JS> \sql
MySQL>SQL> USE airportdb;
Default schema set to `airportdb`.Fetching table and column names from `airportdb` for auto-completion... Press ^C to stop.`
MySQL>SQL> call sys.heatwave_load(JSON_ARRAY(“airportdb”), NULL);
Agora, vamos ver quanto tempo isso levaria usando o Sistema de BD MySQL "plain vanilla". Fazemos isso desativando a variável use_secondary_engine
O que fizemos até agora, tudo na OCI, é configurar uma Rede Virtual na Nuvem com portas para uso MySQL, configurar um banco de dados MySQL e adicionar um cluster HeatWave. Em seguida, importamos alguns dados de teste e executamos algumas consultas para ver a velocidade de HeatWave em relação ao Sistema de BD por conta própria.
Quer saber mais? Participe da discussão em nosso canal público do Slack!
Esta página foi traduzida automaticamente.