Transformando dados em insights: A conexão entre Oracle Analytics Cloud e Google BigQuery

O mercado de Cloud Computing tem se expandido cada vez mais nos últimos anos. Esse cenário evolui à medida em que as empresas buscam soluções para otimizar os seus processos e reduzir custos. 

Com a diversidade de opções de Cloud Computing disponíveis no mercado, é importante que as empresas avaliem, cuidadosamente, as diferentes plataformas e escolham a que melhor se adapta às suas necessidades. 

Neste blog, vamos explorar como a Oracle Cloud pode ajudar na análise de dados, desde a ingestão até a análise e a criação de dashboards. 

Primeiramente, vamos analisar o que a própria Oracle apresenta sobre as diversas soluções para análise de dados, desde o armazenamento e processamento até a análise avançada, incluindo machine learning. 

Como funciona a análises de dados em Oracle Cloud?  

O processo de análise de dados em Oracle Cloud ocorre em quatro etapas fundamentais. Confira, a seguir:  

1 Armazenamento de dados 

 A Oracle Cloud oferece diversas opções de armazenamento de dados, desde o armazenamento em bloco para cargas de trabalho de alta performance até o armazenamento em objetos para arquivamento de dados. Essas características permitem que as empresas armazenem os seus dados de maneira escalável e segura. 

2 Processamento de dados 

Para processar grandes volumes de dados, a Oracle Cloud oferece o Oracle Big Data Service e o Oracle Data Flow. Esses ambientes permitem que as empresas processem e analisem grandes volumes de dados de maneira escalável e eficiente. 

3 Análise de dados 

A Oracle Cloud oferece diversas opções para a análise de dados, desde ferramentas de business intelligence até a análise avançada utilizando machine learning. A Oracle Analytics Cloud é uma plataforma completa de business intelligence, possibilitando que as empresas criem dashboards, relatórios e análises interativas. Além disso, a Oracle Cloud Infrastructure Data Science oferece um ambiente de desenvolvimento de machine learning completo, incluindo notebooks Jupyter, bibliotecas de machine learning pré-instaladas e suporte a várias linguagens de programação. 

4 Segurança de dados 

No quesito recursos para segurança de dados, a Oracle Cloud é líder no setor, oferecendo criptografia de dados em repouso e em trânsito, controle de acesso baseado em função e monitoramento de segurança em tempo real. Isso permite, às empresas, proteção dos seus dados contra ameaças externas e internas. 

Agora, vamos aos testes! Todos os exemplos, a seguir, serão feitos, principalmente, em SQL. 

1 Passo: Como conectar a uma fonte de dados?  

O primeiro passo é conectar-se a uma fonte de dados. O Oracle Analytics Cloud suporta muitas fontes de dados, incluindo bancos de dados Oracle, Microsoft SQL Server, MySQL e PostgreSQL, bem como fontes de dados de nuvem como Oracle Cloud Infrastructure, Google Cloud Plataform, Azure e Amazon Web Services. 

Para este exemplo, vamos usar uma fonte de dados Oracle MySQL. Siga os passos descritos, a seguir, para se conectar a uma fonte de dados: 

 

CREATE CONNECTION my_oracle_conn 

USING 'jdbc:oracle:thin:@//localhost:1521/ORCLPDB1' 

USERNAME 'my_username' 

PASSWORD 'my_password';

Passo 2: Criando a tabela no MySQL 

Para este tutorial, criaremos uma tabela simples no MySQL para armazenarmos informações sobre vendas. Utilizaremos o seguinte script SQL para a criação da tabela: 

 

CREATE TABLE employee_department_salary ( 

    employee_id NUMBER, 

    employee_name VARCHAR2(50), 

    company_position VARCHAR2(50), 

    department_name VARCHAR2(50), 

    total_salary NUMBER 

);

2 Passo: Inserindo dados na tabela 

Com a tabela criada, podemos inserir alguns dados de exemplo. Utilizaremos o seguinte script SQL para inserirmos alguns registros na tabela: 

 

INSERT INTO employee_department_salary (employee_id, employee_name, company_position, department_name, total_salary) VALUES 

(1, 'João', 'Analista de Sistemas', 'TI', 5000), 

(2, 'Maria', 'Analista Financeiro', 'Finanças', 6000), 

(3, 'Pedro', 'Gerente de Projetos', 'TI', 8000), 

(4, 'Luciana', 'Analista de Recursos Humanos', 'RH', 4500), 

(5, 'Rafael', 'Desenvolvedor', 'TI', 5500), 

(6, 'Mariana', 'Analista de Marketing', 'Marketing', 7000), 

(7, 'Luis', 'Gerente de Vendas', 'Vendas', 10000), 

(8, 'Ana', 'Assistente Administrativo', 'Administrativo', 4000), 

(9, 'Fernando', 'Gerente de RH', 'RH', 9000), 

(10, 'Bruna', 'Analista de Compras', 'Compras', 5000);

3 Passo: Criando uma análise 

Considerando-se que se está conectado a uma fonte de dados e a criação da tabela foi finalizada, podemos criar uma análise que contém os dados que desejamos visualizar no dashboard. 

 

CREATE ANALYSIS my_analysis 

USING my_oracle_conn 

AS SELECT  

    department_name,  

    SUM(salary) total_salary 

FROM  

    hr.employees e 

    JOIN hr.departments d 

    ON e.department_id = d.department_id 

GROUP BY  

    department_name;

4 Passo: Criando um Dashboard 

Na sequência, vamos criar um dashboard chamado “My Dashboard” e exibir a análise “my_analysis”. Note que o asterisco (*) é utilizado para selecionar todos os campos da análise. 

 

CREATE DASHBOARD "My Dashboard" 

DESCRIPTION "Dashboard with analysis of my_analysis" 

AS 

SELECT 

    * 

FROM  

    MY_ANALYSIS;

A seguir, vamos a um exemplo com base no conceito de multicloud, utilizando o Oracle Analytics CLOUD, a partir de dados externos com o Google Big Query. 

5 Passo: Como configurar a fonte de dados Google Cloud Platform? 

Para configurar a fonte de dados do Google BigQuery no Oracle Analytics Cloud, é necessário criar uma conta de serviço e configurar as permissões necessárias para acessar os dados. Após isso, você pode conectar a fonte de dados usando as informações de autenticação da conta de serviço que criou. 

Confira, a seguir, um exemplo de script SQL para criar a conta de serviço no Google Cloud Platform: 

 

CREATE SERVICE ACCOUNT my-service-account 

IDENTIFIED BY my-password

 

Em seguida, você precisará configurar as permissões da conta de serviço para acessar os dados no BigQuery. Segue, abaixo, um exemplo de script SQL para conceder permissões de acesso a uma tabela específica: 

 

GRANT SELECT ON my-project.my-dataset.my-table TO my-service-account;

Finalmente, para conectar a fonte de dados no Oracle Analytics Cloud, você pode usar as informações de autenticação da conta de serviço. Confira, na sequência, um exemplo de script SQL para configurar a fonte de dados no Oracle Analytics Cloud: 

 

CREATE CONNECTION “My BigQuery Analysis” 

CREDENTIALS '{ 

  "type": "gcp", 

  "project_id": "my-project", 

  "private_key_id": "my-private-key-id", 

  "private_key": "my-private-key", 

  "client_email": my-service-account@my-project.iam.gserviceaccount.com, 

  "client_id": "my-client-id", 

  "auth_uri": https://accounts.google.com/o/oauth2/auth, 

  "token_uri": https://accounts.google.com/o/oauth2/token, 

  "auth_provider_x509_cert_url": https://www.googleapis.com/oauth2/v1/certs, 

  "client_x509_cert_url": https://www.googleapis.com/robot/v1/metadata/x509/my-service-account%40my-project.iam.gserviceaccount.com 

}'ENDPOINT 'https://www.googleapis.com/bigquery/v2/projects/my-project/queries'

Etapa 01: Criação de uma análise no Oracle Analytics Cloud com os dados do BigQuery  

 

CREATE ANALYSIS "My BQ Analysis" 

DESCRIPTION 'My BigQuery Analysis' 

FROM (SELECT  

    department_name,  

    SUM(salary) total_salary 

FROM  

    `my-bigquery-project-1234.hr.employees` e 

    JOIN `my-bigquery-project-1234.hr.departments` d 

    ON e.department_id = d.department_id 

GROUP BY  

    department_name) 

USING CONNECTION "My BigQuery Connection";

Etapa 02: Criação de um Dashboard com os dados gerados na última análise. 

 

CREATE OR REPLACE DASHBOARD "my_dashboard" 

AS 

SELECT  

    department_name,  

    SUM(salary) total_salary 

FROM  

    “My BD Analysis” 

GROUP BY  

    department_name;

O script irá criar um dashboard chamado “my_dashboard” para exibir o total de salários por departamento, utilizando a análise “my_analysis” como fonte de dados. 

Note que o GROUP BY é utilizado para agrupar os dados por departamento e a função SUM é utilizada para somar os salários de cada departamento. O resultado é, então, exibido no dashboard. 

Lembramos que é necessário estar conectado à fonte de dados externa do BigQuery para que essa análise funcione corretamente.   

Projetos com Oracle Cloud: Conte com a Rox Partner  

A Rox Partner é uma empresa especialista em projetos com Oracle Cloud e oferece soluções personalizadas e suporte contínuo aos nossos clientes. Com uma equipe técnica, qualificada e experiente, a Rox se destaca por entregar resultados consistentes e de alta qualidade em projetos de grande complexidade. 

Se você está considerando a adoção de soluções em nuvem para a sua empresa, a Rox Partner é a escolha ideal para garantir o sucesso do seu projeto.  

Entre em contato com a nossa equipe para obter mais informações sobre os serviços ofertados pela Rox e comece a transformação digital de sua empresa hoje mesmo. 

Learn More

Conheça o Delta Lake

O mundo de dados está em constante evolução e, por vezes, alguns conceitos já estabelecidos – como por exemplo, o armazenamento em nuvem e Data Warehouses – precisam ser revistos com a chegada de novas tecnologias. O Delta Lake é exatamente um desses casos. Mas, afinal, o que é o Data Lake e quais são suas vantagens? Confira essas informações e muito mais neste artigo! 

 

O que é Delta Lake?

Criado pelo time da Databricks, Delta Lake é um projeto opensource para armazenamento de arquivos, baseado no formato delta, persistidos no HDFS ou em Data Lakes (AWS, Azure, GCP), utilizando o Spark como motor de transformação e persistência. Esse formato trará algumas vantagens que veremos a seguir no artigo, como transações ACID e versionamento dos dados

 

Como funciona o Armazenamento no

Delta Lake?

Embora à primeira vista o delta se pareça um novo formato de armazenamento, de fato, ele nada mais é do que uma mescla de armazenamento físico em Parquet (compressão Snappy) -que é um formato colunar muito utilizado no mundo dos dados – junto à uma camada adicional de metadados/logs transacionais. Aqui cabem duas observações importantes: 

  1. Os metadados/logs são persistidos no mesmo diretório da tabela Delta que está sendo manipulada, portanto não é necessário nenhuma infraestrutura adicional para armazenar esses arquivos. Abaixo vemos um exemplo da estrutura do diretório de uma tabela chamada my_table, particionada pelo campo date:
  2.  Essa camada de logs (_delta_log) irá registrar todas as alterações realizadas na tabela, salvando o histórico de transformações em arquivos json/parquet e mantendo sempre a versão mais recente das alterações como padrão, porém permitindo acessar versões anteriores da tabela também.Com base nesses arquivos que o Delta nos permite viajar no tempo, pois nos permite acessar versões antigas da tabela para consultar ou até restaurar a tabela inteira para uma versão anterior.

Quais as Vantagens do Delta Lake?

Listamos aqui algumas grandes vantagens que o Delta Lake nos traz:

  • Transações ACID (atomicidade, consistência, isolamento e durabilidade) para as tabelas
  • Escalabilidade: por se utilizar de Data Lakes nativos da Cloud, ela permite escalabilidade de petabytes
  • Viagem no tempo e auditoria dos registros: possível ver versões antigas da tabela e também os registros da sessão que  a modificou
  • Reforço e evolução dos schemas da tabela
  • Suporte à operações de Updates, Merges e Deletes
  • Funciona tanto para jobs batch quanto para streaming
  • Estratégia eficaz para múltiplas leituras e escritas concorrentes nas tabelas Delta 
  • APIs de fácil acesso, podendo ser utilizado em Python, SQL ou Scala por meio do Spark
  • Permite remover arquivos antigos com o comando VACUUM

Utilização do Delta Lake

A utilização do formato delta é bem simples e está disponível por meio das APIs do Spark em Python (Pyspark), SQL e Scala. Abaixo alguns exemplos simples de como é possível utilizar o formato com SQL:

  • Criar tabela
CREATE TABLE tabela
date DATE
id INTEGER)
USING DELTA
PARTITION BY date
LOCATION "/delta"
  • Ver detalhes da tabela
DESCRIBE DETAIL tabela;
  • Ver histórico da tabela (últimas 5 versões)
DESCRIBE HISTORY tabela LIMIT 5;
  • Apagar versões históricas da tabela (maiores de 200 horas)
VACUUM tabela RETAIN 200 hours
  • Viajando no tempo (versão antiga número 4)
SELECT * FROM tabela VERSION AS OF 4
  • Operações DML

São permitidos comandos INSERT, UPDATE, MERGE e DELETE   Todas as possibilidades de Delta Lake para os times de dados!  Conforme visto, a tecnologia do Delta Lake e seu formato delta trazem inúmeros benefícios para os times de dados que já fazem utilização do Spark ou que gostariam de começar a utilizá-lo. Embora tenha sido desenvolvido pelo Databricks, o Delta Lake é open source e pode ser utilizado em diversos outros tipos de aplicações Spark como o EMR (AWS), Dataproc (Google Cloud), Kubernetes e On-premises.  A possibilidade de ter tabelas ACID em seu Delta Lake permitiu a criação de um novo conceito no mundo de dados, o Data Lakehouse, que se propõe a ser a fusão do Data Lake com o tradicional Data Warehouse (que será tema de um próximo artigo, fique ligado!).  Esperamos que esse artigo tenha ajudado a entender melhor os conceitos do Delta Lake e como ele pode ajudá-lo em seus projetos. Caso tenha interesse em implementar um projeto ou saber mais, entre em contato com nossos Roxperts , ficaremos felizes em ajudá-lo!

Learn More