Introdução
O RDST (Readyset Data and SQL Toolkit) é uma ferramenta desenvolvida pela ReadySet para auxiliar administradores de banco de dados e desenvolvedores na análise de consultas SQL, monitoramento de desempenho e observabilidade de ambientes de banco de dados.
Entre seus principais recursos estão o monitoramento de consultas em tempo real, interface Web, análise detalhada de SQL, integração com Inteligência Artificial e recursos de cache por meio do ReadySet.
Neste artigo construiremos um laboratório completo utilizando Oracle VirtualBox, Vagrant, Debian 12, MySQL Community Server 8 e RDST, apresentando os primeiros passos para explorar a ferramenta.
Ao final teremos um ambiente contendo:
- Oracle VirtualBox
- Vagrant
- Debian 12
- MySQL Community Server 8
- Banco de dados Sakila
- Sysbench
- RDST configurado e monitorando o MySQL
Ambiente utilizado
O laboratório foi construído utilizando:
- Oracle VirtualBox
- Vagrant
- Debian 12
- MySQL Community Server 8
- RDST
- Sysbench
- Banco de dados Sakila
Por que utilizar máquinas virtuais?
Embora o MySQL e o RDST possam ser executados em containers Docker, neste laboratório optei por utilizar Oracle VirtualBox e Vagrant para criar um ambiente mais próximo de um servidor real.
Com duas máquinas virtuais independentes, foi possível isolar o MySQL e o RDST, explorar configurações do sistema operacional, rede, SSH e systemd, além de tornar todo o ambiente facilmente reproduzível utilizando apenas o comando vagrant up.
Essa abordagem proporciona uma experiência mais completa para administradores de banco de dados e facilita a reprodução dos testes apresentados neste artigo.
Criando o laboratório
Após instalar o Oracle VirtualBox e o Vagrant, crie um diretório para o laboratório.
|
1 2 3 |
mkdir rdst cd rdst vagrant init |
Neste momento será criado o arquivo Vagrantfile, onde definiremos toda a infraestrutura do laboratório. Neste exemplo serão criadas duas máquinas virtuais Debian 12, uma destinada ao MySQL e outra ao RDST, ambas configuradas com 1 vCPU e 3 GB de memória RAM.
Figura 1 – Criação do projeto Vagrant
|
1 |
#Vagrantfile -> codigo no git hub |
Configure o Vagrantfile conforme apresentado e execute:
|
1 |
vagrant up |
Ao final teremos duas máquinas virtuais:
- mysql
- rdst
Instalando o MySQL Community Server
Conecte-se à máquina virtual destinada ao MySQL.
|
1 |
vagrant ssh mysql |
Nesta etapa adicionaremos o repositório oficial da Oracle e instalaremos o MySQL Community Server.
Execute os comandos abaixo:
Durante a instalação será solicitada a senha do usuário root.
Imagem: Configuração do repositório MySQL
Imagem: Definindo senha do root
Neste laboratório foi utilizada a senha:
|
1 |
rootlab |
Instalando o banco Sakila
Para tornar os testes mais próximos de um ambiente real, utilizaremos o banco de dados Sakila, disponibilizado oficialmente pela Oracle.
Execute os comandos abaixo para realizar a importação do banco.
Preparando o benchmark
Para gerar carga durante o monitoramento utilizaremos o Sysbench.
Durante esta etapa, o Sysbench criará as tabelas sbtest dentro do banco sakila, que serão utilizadas posteriormente durante o benchmark.
Instalando o RDST
Agora acesse a segunda máquina virtual.
|
1 |
vagrant ssh rdst |
Nesta etapa instalaremos o RDST utilizando o pipx, método recomendado para distribuição de aplicações Python.
|
1 2 3 4 5 |
sudo apt update sudo apt install -y python3 python3-pip python3-venv pipx pipx ensurepath source ~/.bashrc pipx install rdst |
Configurando o RDST
O RDST permite utilizar variáveis de ambiente para armazenar credenciais de forma mais segura.
Execute os comandos abaixo:
|
1 2 3 4 |
export MYSQL8_PASSWORD=rdstlab echo 'export MYSQL8_PASSWORD=rdstlab' >> ~/.bashrc source ~/.bashrc rdst |
Utilize o assistente para criar um novo target com as seguintes informações:
| Parâmetro | Valor |
|---|---|
| Target | mysql8 |
| Engine | MySQL |
| Host | mysql |
| Porta | 3306 |
| Database | sakila |
| Usuário | rdst |
| Password | MYSQL8_PASSWORD |
Ao final da configuração, o RDST executará automaticamente um teste de conexão com o servidor MySQL.
Monitorando consultas em tempo real
Agora execute o benchmark utilizando o Sysbench.
Com o ambiente configurado, podemos iniciar o monitoramento das consultas executadas no MySQL.
|
1 |
rdst top --target mysql8 |
O painel apresenta métricas importantes, como consultas monitoradas, hash da consulta, tempo médio de execução, tempo máximo e número de ocorrências, auxiliando na identificação de gargalos de desempenho.
Interface Web
O RDST também disponibiliza uma interface Web para acompanhamento das consultas monitoradas.
Execute:
|
1 |
rdst web --host 0.0.0.0 --port 8787 --no-browser |
Interface Web do RDST
Conclusão
Este laboratório apresentou uma exploração inicial do RDST, demonstrando sua instalação, configuração e os primeiros recursos para monitoramento e análise do MySQL.
Mesmo nesse primeiro contato, a ferramenta mostrou uma proposta bastante interessante ao combinar monitoramento em tempo real, interface Web e integração com Inteligência Artificial e ReadySet, oferecendo insights que podem auxiliar na análise de desempenho e na otimização de consultas SQL.
Sem dúvida, o RDST é uma ferramenta promissora para DBAs e profissionais que desejam explorar novas abordagens para observabilidade e diagnóstico no ecossistema MySQL.
links uteis
https://developer.hashicorp.com/vagrant/docs
https://dev.mysql.com/doc/refman/8.0/en/
https://github.com/marcio28costa/rdst-lab/















