/DBM-MySQLUtilities

An academic work.

Primary LanguageJupyter NotebookMIT LicenseMIT

Contributors Issues License

Logo

Administração de Banco de Dados

Segunda Atividade Avaliativa

🔰 Começando

Esse projeto foi criado para fazer uso da ferramenta MySQL-Utilities. Nesse projeto, temos a criação e população de um servidor de banco de dados MySQL, bem como a instalação da ferramenta que irá dar auxilio na gerência desse servidor.

💾 Ferramentas utilizadas

vscode Docker

🤖 Tecnologias empregadas

Python

📋 Pré-requisitos

💡Atenção

É necessário o uso da ferramenta Docker com a extensão DevContainers, do VSCode.

O processo de instalação de ambiente é todo automatizado pelo container de desenvolvimento, junto do arquivo prepare_env.sh que será executado assim que o container for criado.


🎨 Funcionalidades

A aplicação conta com as seguintes funcionalidades:

🆙 Levantamento do servidor

O projeto conta com alguns scripts que automatizam a subida de um servidor MySQL em um container Docker.


🛠️ Processo de ETL para a base de dados

O processo irá carregar o arquivo em um dataframe, fazendo inferência automática de todas as colunas. Será feita uma conexão ao servidor de base de dados levantado pelo container docker, que está configurado no projeto e, então, criada uma base de dados "movie" para que a tabela "movies" seja escrita.



1 - Preparação do MySQL Server

Antes de iniciar o banco, primeiro você precisa criar uma network no docker para que o devcontainer possa se comunicar com o container onde está o mysql server, levando consideração que você está utilizando o SO Windows para executar os scripts .bat:

cd database/utilities-within-mysql
create_docker_shared_network.bat

E, finalmente, para iniciar o banco basta executar:

cd database/utilities-within-mysql
start_container.bat

Para finalizar, basta executar:

cd database/utilities-within-mysql
stop_container.bat

💡

O projeto conta com scripts de iniciação e finalização limpas:

Inicialização limpa:

cd database/utilities-within-mysql
start_container_CLEAN.bat

Finalização limpa:

cd database/utilities-within-mysql
stop_container_CLEAN.bat

2 - Dependências ETL

As dependências de desenvolvimento estão dentro do arquivo requirements.txt, que tem sua leitura automatizada assim que o container de desenvolvimento é construído.

💡

Caso, após a criação da venv, o sistema não ative automaticamente a venv você pode executar '. prepare_env.sh' novamente, diretamente pelo console, ou, você pode navegar até 'cd python_venv/bin' e executar 'source activate' ou '. activate'.

3 - Processo de ETL

Para executar o processo ETL, você precisa, antes, iniciar o dev container, pelo plugin devcontainers.

Uma vez no container, os plugins do container serão instalados, bem como as dependências python, já automatizadas pelo script prepare_env.sh.

Com isso, basta executar as células do notebook jupyter main.ipynb e voilá.

📑 Licenças

Distribuído sob a MIT License. Veja LICENSE para mais informações.