anúncios

quarta-feira, 13 de novembro de 2024

Comparativo entre MySQL e MariaDB: Aprenda como usá-los em containers Docker com DBeaver

MySQL e MariaDB são dois dos bancos de dados relacionais mais populares no mercado, amplamente usados em sistemas de produção. Ambos são Sistemas de Gerenciamento de Banco de Dados (SGBDs) que suportam operações complexas e escaláveis, atendendo a várias necessidades de armazenamento e manipulação de dados. Porém, eles têm diferenças notáveis, desde seu licenciamento até características de desempenho e inovação.

Neste artigo, vamos explorar as diferenças entre MySQL e MariaDB, explicar suas origens e uso, e demonstrar como configurar ambos em containers Docker para facilitar o desenvolvimento e o gerenciamento de banco de dados. Também abordaremos como conectá-los ao DBeaver para visualização e administração.

O que é um banco de dados e um SGBD?

Um banco de dados é uma coleção organizada de dados que permite o armazenamento e a recuperação rápida de informações. Para gerenciar, organizar e manipular esses dados de forma eficiente, usamos um Sistema de Gerenciamento de Banco de Dados (SGBD), que é um software que interage com os dados e com o usuário, facilitando operações como consultas, atualizações e análises.

Existem dois tipos principais de banco de dados:

Relacionais: Organizam os dados em tabelas com colunas e linhas, como o MySQL, MariaDB, PostgreSQL, Oracle, MS SQL Server. São ideais para dados estruturados e complexos.

NoSQL: São não-relacionais e oferecem maior flexibilidade para trabalhar com dados sem estrutura rígida, como JSON ou dados hierárquicos. Exemplos incluem MongoDB, Cassandra.

MySQL vs MariaDB:

MySQL foi desenvolvido inicialmente pela empresa sueca MySQL AB e se tornou rapidamente popular por sua velocidade e simplicidade. Em 2008, foi adquirido pela Oracle, o que gerou preocupação na comunidade de código aberto sobre o futuro do projeto. Em resposta, Michael Widenius, um dos fundadores do MySQL, criou um fork chamado MariaDB, que manteve o foco em ser completamente livre e aberto, além de adicionar inovações.

Principais Diferenças entre MySQL e MariaDB

Característica MySQL MariaDB
Licenciamento GPL para Community Edition e versão comercial pela Oracle GPL, totalmente de código aberto
Mecanismo de Armazenamento InnoDB Aria (padrão) e InnoDB opcional
Replicação e Clustering Replicação Master-Slave, Master-Master Suporta Galera Cluster para replicação síncrona
Suporte JSON Suporte nativo Suporte nativo e melhorias de desempenho
Otimizações de Desempenho Foco em InnoDB e otimizações internas Aria, cache de subconsultas e consultas paralelas otimizadas
Recuperação de Crashes InnoDB com recuperação automática Aria com recuperação rápida e segura
Novos Recursos Suporte a JSON e novos tipos de dados Compatibilidade com PL/SQL e ColumnStore
Atualizações e Inovações Focada em estabilidade com novas funcionalidades controladas Atualizações frequentes com inovações rápidas

Instalando e executando o MySQL E MariaDB no Docker

Execute no terminal Linux (Debian e derivados), se caso ainda não tiver o Docker instalado.

$ sudo apt update

$ sudo apt install docker.io docker-compose

Caso você ainda usa Windows, então segue os procedimentos para poder conseguir reproduzir os procedimentos desse artigo no seu computador Janeleiro!

Habilitar o WSL2:

Abra o PowerShell como administrador e execute:

wsl --install

O comando acima instala automaticamente o WSL e a versão Ubuntu padrão. Caso queira instalar uma distribuição específica, como o Ubuntu LTS, ela pode ser encontrada na Microsoft Store.

Configurar o WSL2:

Verifique a versão do WSL para garantir que é o WSL2. Para isso, execute:

wsl --set-default-version 2

Isso configura o WSL para rodar como WSL2 por padrão, o que melhora a performance e compatibilidade com o Docker.

Instalar o Docker Desktop

Baixe e instale o Docker Desktop para Windows. Durante a instalação, marque a opção para Usar WSL2 em vez de Hyper-V.

Depois de instalado, o Docker Desktop detectará automaticamente o WSL2, permitindo executar containers diretamente no ambiente Ubuntu do WSL.

Com o Docker configurado, você poderá seguir os mesmos comandos descritos no artigo para executar containers de MySQL e MariaDB usando o terminal do Ubuntu no WSL2.

Para desenvolvedores que buscam um ambiente mais próximo dos servidores de produção e com maior controle do sistema, migrar para uma distribuição Linux pode ser uma excelente opção. Muitos profissionais encontram no Linux uma plataforma robusta e personalizável para desenvolvimento!

Configurando MySQL e MariaDB com Docker

O uso de Docker para configurar e executar MySQL e MariaDB em containers é uma prática cada vez mais comum. Docker simplifica o processo de instalação e oferece portabilidade, ideal para ambientes de desenvolvimento e testes.

Executando MySQL com Docker

Para criar um container Docker para MySQL, execute:

docker run --name mysql-docker -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=banco1 -p 3306:3306 -v mysql_data:/var/lib/mysql -d mysql:latest

Executando MariaDB com Docker

Para iniciar MariaDB em um container, use:

docker run --name mariadb-container -e MARIADB_ROOT_PASSWORD=secret -e MARIADB_DATABASE=banco2 -p 3307:3306 -v mariadb_data:/var/lib/mysql -d mariadb:latest

Conectando ao MySQL e MariaDB com DBeaver

DBeaver é uma ferramenta gráfica popular para gerenciar SGBDs, incluindo MySQL e MariaDB.

Execute no terminal Linux (Debian e derivados), se ainda não tiver instalado o DBeaver.

$ sudo apt install dbeaver-ce

Configurando conexão com MySQL no DBeaver

No DBeaver, vá em Database > New Database Connection.

Escolha MySQL na lista e configure:

Host: 127.0.0.1

Porta: 3306

Database: banco1

Username: root

Password: secret

Clique em Test Connection para verificar se a conexão com o container MySQL está funcionando.

Configurando conexão com MariaDB no DBeaver

No DBeaver, vá em Database > New Database Connection.

Escolha MariaDB e configure:

Host: 127.0.0.1

Porta: 3307

Database: banco2

Username: root

Password: secret

Após a configuração, você poderá gerenciar ambos os bancos de dados diretamente pelo DBeaver.

Clique em Test Connection para verificar a conexão com o container MariaDB.

Considerações finais

Tanto MySQL quanto MariaDB oferecem recursos poderosos e são amplamente utilizados em aplicações de produção. MariaDB é a escolha mais flexível e totalmente aberta, enquanto MySQL continua popular devido ao suporte e estabilidade oferecidos pela Oracle. A escolha entre MySQL e MariaDB depende das necessidades específicas do seu projeto, especialmente em relação ao licenciamento e aos recursos avançados. A configuração de ambos via Docker é simples e oferece um ambiente isolado para testes, desenvolvimento e operação.

Feito!

terça-feira, 12 de novembro de 2024

Instalando driver da NVIDIA no Ubuntu

O presente post, irá orientá-lo na instalação do driver NVIDIA no Ubuntu 24.04 e 24.10, permitindo que você aproveite ao máximo o desempenho da sua GPU NVIDIA. O processo inclui a verificação do driver recomendado para o seu sistema, instalação do driver, configuração do Secure Boot (se aplicável) e uma verificação final para garantir que o driver esteja ativo.

Atualizar o sistema

No terminal, execute os comandos abaixo para garantir que o sistema esteja atualizado:

$ sudo apt update

$ sudo apt upgrade


Verificar o driver NVIDIA compatível

Para ver qual versão do driver é recomendada para o seu hardware, use o comando:

$ ubuntu-drivers devices

Esse comando exibirá uma lista de drivers disponíveis e o driver recomendado para o seu sistema.

Instalar o Driver Recomendado

Substitua XXX pelo número da versão do driver recomendada (por exemplo, 560 ou outra) conforme indicado no passo anterior.

$ sudo apt install nvidia-driver-XXX

Durante a instalação, será solicitado que você crie uma senha para ativação do MOK (Machine Owner Key), necessária se o Secure Boot estiver ativado.

Ativar o Driver NVIDIA com Secure Boot

Após instalar o driver, reinicie o sistema:

$ sudo reboot

Quando o sistema reiniciar, será exibida a tela de gerenciamento MOK (Machine Owner Key). Siga estas instruções:

Selecione "Continue" para avançar no processo de inscrição da chave.

Escolha "Enroll MOK" para inscrever a nova chave.

Digite a Senha: Insira a senha que você configurou durante a instalação do driver.

Confirme a Inscrição: Siga as instruções para concluir a inscrição da chave.

Após essa etapa, o sistema aceitará os módulos do kernel assinados, permitindo o carregamento correto do driver NVIDIA mesmo com o Secure Boot ativado. Reinicie o sistema novamente para aplicar as alterações.

Verificar a instalação

Depois de reiniciar, use o comando abaixo para verificar se o driver está ativo:

$ nvidia-smi

Este comando deve exibir informações sobre a GPU NVIDIA, confirmando que o driver foi instalado corretamente.

Verificar o Estado do Secure Boot Para confirmar se o Secure Boot está habilitado, execute:

$ mokutil --sb-state

A saída deverá indicar "SecureBoot enabled" se o Secure Boot estiver ativo.

Feito!