modern server patch panel in data center
Big Data Projetos

#03 – [Projeto Data Pipeline] – Azure SQL Database

#ProjetoDataPipeline #AzureSQLDatabase

Falla Tuurma,

Estamos progredindo com o projeto de Data Pipeline, para quem não entendeu… da um bisu nesse link aqui.

No post anterior, aprendemos como subir rapidamente uma Azure VM e configurar um SFTP que posteriormente será utilizado como interface de integração entre um sistema e o Data Lake.

No post de hoje, vamos continuar construindo nossa camada de origens, lembrando que estamos criando uma arquitetura completa, baseado em problemas reais.. criando a origens em diversas tecnologias para serem consumidas em batch, streaming (Near-real-time) para o nosso Data Lake… e que depois será consumido pela camada de Data Viz (PowerBI).

Bom, você lembram qual é nosso contexto? Estamos criando uma arquitetura para uma rede de Lojas de Carro, onde a empresa tem diversas lojas espalhadas pelo Brasil.

Esse banco de dados, simula o “ERP” deles onde tem os cadastros de Clientes, Lojas, Produtos (carros).. etc.

Nesse post vamos criar o nosso primeiro banco de dados da arquitetura, onde teremos o cadastro de veículos, clientes, lojas etc… para que isso fique mais real, no próximo post vou compartilhar um código em python que ficará simulando operações nesse banco, como por exemplo, compra e venda de carros, cadastros de novos clientes.

Bom, antes de rodar os scripts vamos entender quais os sabores de banco de dados existentes no Azure, é muito importante saber as opções e o que cada uma fornece de fato, isso implica em performance, disponibilidade e principalmente no custo $$.


RELACIONAL (SQL)

Dentro da família de banco de dados Relacionais, podemos encontrar esses:

  • Azure SQL Database (SQL Database – Managed Cloud Database Service | Microsoft Azure)
    É um entrega de banco de dados no formato Serverless… ou seja, aqui você não se preocupa com CPU, Memoria, Monitoramentos de disco.. você simplesmente usa e seja feliz ;)… claro que ao criar é necessário tomar atenção quanto a configuração do tipo da instancia, que vai impactar os RUs (e poder computacional).
  • SQL Server on Virtual Machines (SQL Server on Azure Virtual Machines | Microsoft Azure)
    Esse é o modelo mais “conhecido”, é o famoso maquina virtual com SQL Server instalado. Em projetos de modernização pode ser utilizado como estratégia inicial de levar o banco para a Cloud sem grandes impactos.

NÃO RELACIONAL (NoSQL)

  • Azure CosmoDB (Azure Cosmos DB – Banco de dados não relacional | Microsoft Azure)
    Confesso que não entendia muito para que o Cosmos tinha vindo ao mundo… mas recentemente precisei utilizar em um projeto com alta taxa de acesso e volumetria e me surpreendi muito com o poder do Cosminho. Hoje eu sou fã desse produto. A capacidade de auto-scaling é muito impressionante.
  • Redis Cache Database (Cache Redis do Azure | Microsoft Azure)
    O Redis ficou muito famoso em arquiteturas de Big Data on-premisse, onde ele se encaixava com sucesso em uma camada serving de baixa latência para suportar acessos da aplicação em dados do “Data Lake”. A Microsoft pegou esse produto e colocou uma roupa Azure nele, deixando ainda mais poderoso e consistente.

CRIANDO UM SQL AZURE DATABASE

Diante de todos os modelos, no nosso projeto de estudo (Data Pipeline) vamos utilizar o Azure SQL Database pois não quero me preocupar a com infraestrutura e monitoramento, eu só quero ter uma banco de dados para criar as tabelas e via uma aplicação em python (próximos posts) vamos alimentar esse base.

Vamos lá, uma vez no Portal Azure procure por “SQL Database”.

Temos alguns passos para configurar antes do deploy.
Na primeira parte, basicamente precisamos especificar a subscription, resource group, nome e region.
Também será preciso indicar o tipo de compute e storage, é aqui que você irpa definir o poder computacional do seu banco de dados… clicando em configure você encontrará diversos sabores. Escolha o que melhor se enquadra com a sua necessidade.

Na parte de Backup, temos 3 opções (isso inclusive cai em prova de certificação)

Clicando em Next, você irá navegar entre os itens de configuração (Networking, Security, Additional settings, Tags) até chegar em Review + Create.

Após criar o recursos (pode levar alguns minutos), seu banco de dados estará disponível. Para conectar nele, volte até a pagina inicial do Azure SQL Database e clique no recurso que você acabou de criar. Em Overview existe o campo “Server Name”. Copie esse endereço, abra seu Management Studio (ou Visual Studio Code, outro client) e tente realizar a conexão, passando esse valor como servidor e o usuário e senha que você declarou no momento da criação. E pronto… está conectado no seu banco de dados na Cloud e nem foi preciso instalar o SQL, configurar tempdb, etc hahaha

Pronto.. se deu tudo certo ai do seu lado, nesse momento você estará conectado a uma instancia SQL Server, totalmente em Cloud. Para quem é das antigas, e faz isso a primeira vez é muito estranho né? tipo, cada a parte de setup do sql, configuração da Lun, tempdb, etc hahahaha… é a Cloud veio para facilitar a nossa vida.

Agora vamos aos scripts, já deixei tudo pronto, basicamente você só precisa copiar do git e executar na sua instancia.

luizhgaretti/data-pipeline-v1: Project to create for data pipeline studies using different technologies (github.com)

Par dar os devidos créditos, dentro desse script e precisei criar uma lógica para gerar clientes, com CPF e CNPJ e procurando na internet achei esse artigo do @Dirceu Resende, utilizei o código e lógica para implementar dentro da minha necessidade… Vlw Dirceu.

Bom por hoje é isso galera, estamos evoluindo nossa arquitetura devagarinho, o importante é estudarmos cada um desses componentes, pois, certamente irá trombar com alguns deles no seu dia a dia de Engenheiro e Arquiteto de Dados.

Abraços, até o próximo post

LH

0 comentário em “#03 – [Projeto Data Pipeline] – Azure SQL Database

Comente sobre isso: