Archive July 20, 2023

Instalando PostgreSQL no Rocky Linux

Logo do Rocky Linux

INSTALANDO FERRAMENTAS  

yum install rsync wget nfs-utils

CONFIGURANDO IDIOMA DO SISTEMA OPERACIONAL

dnf install langpacks-en glibc-all-langpacks -y

localectl status

 localectl set-locale LANG=pt_BR.UTF-8

INSTALANDO O POSTGRESQL 15

cd /usr/local/src

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

sudo dnf update -y

sudo dnf install postgresql15-server -y

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

sudo systemctl start postgresql-15

sudo systemctl enable postgresql-15

sudo systemctl status postgresql-15

INSTALANDO PACOTES ADICIONAIS DO POSTGRES E REQUISITOS

dnf config-manager –enable crb

dnf install perl-IPC-Run

sudo dnf install postgresql15-contrib

sudo dnf install postgresql15-devel

CONFIGURANDO LIBS E PATH

 vi /etc/profile.d/postgresql.sh

export PATH=/usr/pgsql-15/bin:$PATH

export LD_LIBRARY_PATH=/usr/pgsql-15/lib:$LD_LIBRARY_PATH

export PGDATA=/dados/pgdata

chmod 755 /etc/profile.d/postgresql.sh

source /etc/profile.d/postgresql.sh

INSTALANDO ORACLE_FDW

sudo dnf makecache –refresh

sudo dnf -y install libnsl

cd /usr/local/src

yum install libaio

yum install wget

wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm

wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm

wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-tools-19.5.0.0.0-1.x86_64.rpm

rpm -i oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm

rpm -i oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm

rpm -i oracle-instantclient19.5-tools-19.5.0.0.0-1.x86_64.rpm

wget https://github.com/laurenz/oracle_fdw/archive/master.zip

mv master.zip oracle_fdw.zip

unzip oracle_fdw.zip

cd oracle_fdw-master/

ls -l /usr/include/oracle/

OPCAO 1:

cp Makefile orig_makefile

sed -i ‘s/19.6/19.5/g’ Makefile

OPCAO 2:

 #add the following to Makefile yourself:

To PG_CPPFLAGS add 

-I/usr/include/oracle/XX.X/client64

, and to SHLIB_LINK add

 -L/usr/lib/oracle/XX.X/client64/lib.

make

make install

INSTALANDO TDS-FDW

cd /usr/local/src

sudo yum install epel-release

#sudo sudo dnf -qy module disable postgresql

dnf install tds_fdw_15

CONFIGURANDO SSH PASSWORDLESS

ssh-keygen -b 4096

ssh-copy-id user@remote-host-ip-address

INSTALANDO ZABBIX AGENT

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm

dnf clean all

dnf install zabbix-agent

systemctl restart zabbix-agent

systemctl enable zabbix-agent

POSTGRES UPGRADE

pg_ctl promote

pg_ctl stop master

pg_ctl stop slave

time /usr/pgsql-15/bin/pg_upgrade –old-bindir=/usr/pgsql-12/bin –new-bindir=/usr/pgsql-15/bin –check –old-datadir=/dados/pgdata –new-datadir=/dados/pgdata_15  > /tmp/pgupgrade.log 2>&1

[Fundamentos] Airflow

Imagem em formato de jogos 8 bits com os dizeres "Introudção ao Airflow"

Neste vídeo, o Lucas nos explica sobre a ferramenta de orquestração Airflow e seus componentes fundamentais.

[Fundamentos] PL/pgSQL

Imagem de um elefante no mundo de Miecraft

PL/pgSQL é uma linguagem de programação procedural que é usada para escrever funções e procedimentos armazenados no banco de dados PostgreSQL. Ela é projetada para permitir que os desenvolvedores criem rotinas personalizadas que possam ser executadas dentro do próprio banco de dados, oferecendo um desempenho muito melhor do que se a mesma lógica fosse escrita em uma linguagem de programação externa.

Essa linguagem permite aos desenvolvedores criar funções que podem manipular dados diretamente dentro do banco de dados, facilitando a criação de rotinas complexas e melhorando o desempenho da aplicação como um todo. Por exemplo, é possível criar funções para realizar operações como inserir, atualizar ou excluir dados em uma tabela, além de executar consultas complexas e operações de controle de fluxo.

Em resumo, a linguagem PL/pgSQL é uma ferramenta poderosa para desenvolvedores que precisam criar rotinas personalizadas dentro do banco de dados PostgreSQL. Com ela, é possível aumentar a eficiência e a segurança da aplicação, melhorando o desempenho e reduzindo a necessidade de comunicação com o servidor de banco de dados.

Aprenda mais sobre esta linguagem com a Aurora:
https://youtu.be/4qmhCcFW_3U

Série Fundamentos: Data Warehouse

Imagem ilustrativa mostrando um corredor com vários servidores

Existem vários tipos de modelagem utilizados em Data Warehouses, cada um com suas vantagens e desvantagens. Aqui estão alguns dos tipos mais comuns:

  1. Modelagem Dimensional: Este tipo de modelagem é amplamente utilizado em Data Warehouses e é baseado em dimensões e fatos. As dimensões representam as características dos dados, enquanto os fatos representam as medidas dos dados. Esse tipo de modelagem permite que os usuários acessem facilmente as informações por meio de relatórios e análises.
  2. Modelagem Entidade-Relacionamento (ER): Esse tipo de modelagem é baseado no relacionamento entre entidades, ou seja, objetos, pessoas ou eventos do mundo real. As entidades são representadas por tabelas e seus relacionamentos são estabelecidos por meio de chaves estrangeiras. Esse tipo de modelagem é adequado para bancos de dados transacionais, mas não é tão eficiente para Data Warehouses.
  3. Modelagem Star Schema: A modelagem Star Schema é uma variação da modelagem dimensional que organiza os dados em torno de um fato central, com as dimensões ligadas a ele em forma de estrela. Esse tipo de modelagem é eficiente e fácil de usar, mas pode ser limitado em termos de flexibilidade.
  4. Modelagem Snowflake Schema: A modelagem Snowflake Schema é uma extensão da modelagem Star Schema, em que as dimensões são normalizadas em subdimensiones. Isso ajuda a reduzir a redundância dos dados, mas também pode tornar a modelagem mais complexa.
  5. Modelagem Semi-Additive: A modelagem Semi-Additive é usada quando algumas medidas podem ser somadas em algumas dimensões, mas não em outras. Por exemplo, você pode somar as vendas por dia, mas não por mês. Esse tipo de modelagem é usado quando há uma necessidade de fazer cálculos complexos com medidas.

Esses são apenas alguns exemplos de tipos de modelagem usados em Data Warehouses. A escolha do tipo de modelagem depende do tipo de dados que você está trabalhando e dos requisitos de negócios da sua empresa.

A Linguagem SQL

Imagem ilustrativa mostrando a palavra SQL

A linguagem SQL (Structured Query Language) foi desenvolvida no início dos anos 70 por um grupo de pesquisadores da IBM liderado por Donald D. Chamberlin e Raymond F. Boyce. Na época, eles trabalhavam no desenvolvimento de um sistema de gerenciamento de banco de dados relacional (RDBMS) chamado System R, que foi o precursor do DB2, um dos sistemas de gerenciamento de banco de dados mais populares do mundo.

A ideia por trás do SQL era criar uma linguagem de consulta de banco de dados que fosse fácil de entender e usar, independentemente do sistema de gerenciamento de banco de dados que estivesse sendo usado. A linguagem foi projetada para ser declarativa, ou seja, para permitir que os usuários descrevessem o que queriam encontrar nos dados, em vez de como encontrá-los.

O SQL foi lançado oficialmente pela IBM em 1979 como parte do System R, e rapidamente se tornou uma das linguagens de consulta de banco de dados mais populares do mundo. Com o tempo, outras empresas começaram a adotar o SQL em seus próprios sistemas de gerenciamento de banco de dados, e em 1986 a ANSI (American National Standards Institute) estabeleceu o primeiro padrão para a linguagem.

Desde então, o SQL evoluiu muito, com novos recursos sendo adicionados regularmente. A linguagem é amplamente usada hoje em dia em uma ampla variedade de aplicações e sistemas de gerenciamento de banco de dados, desde pequenos aplicativos de desktop até grandes sistemas corporativos. O SQL também é suportado por uma grande variedade de fornecedores de software e serviços de banco de dados, tornando-se uma das linguagens de consulta mais universais e amplamente adotadas do mundo.

Aprenda mais sobre a linguagem SQL com a nossa Analista de Dados, Aurora Cardoso:
https://youtu.be/IsV6O7lPMZc

Fundamentos do Metabase

Imagem mostra um gráfico de barras feito no Metabase

Metabase e Power BI são duas ferramentas de visualização de dados que podem ajudar a transformar dados em informações valiosas para tomada de decisões. Ambas as ferramentas oferecem recursos avançados de visualização e análise, e podem se integrar com uma variedade de fontes de dados.

No entanto, há algumas diferenças entre essas duas ferramentas. O Power BI é uma ferramenta de business intelligence (BI) completa, enquanto o Metabase é mais focado em análise de dados e visualização de dados.

O Power BI oferece recursos avançados de análise de dados, como modelagem de dados, processamento de linguagem natural e aprendizado de máquina. Ele também possui recursos de colaboração avançados, como compartilhamento de relatórios e dashboards, e pode ser integrado com outras ferramentas da Microsoft, como o Excel e o SharePoint.

Já o Metabase é uma ferramenta de visualização de dados mais leve e fácil de usar, projetada para ajudar a criar dashboards em minutos, em vez de horas. Ele é mais acessível para equipes que precisam de acesso rápido a informações e insights de dados, sem ter que passar por um longo processo de configuração e aprendizado de uma ferramenta mais complexa.

O Metabase é de código aberto e gratuito para uso, o que o torna uma ótima opção para startups e pequenas empresas. Ele também possui uma comunidade de usuários ativos que compartilham recursos e exemplos, além de uma ampla gama de conectores de banco de dados.

Em resumo, enquanto o Power BI é uma ferramenta mais completa e poderosa de business intelligence, o Metabase é mais acessível e fácil de usar para equipes que precisam de acesso rápido a insights de dados. A escolha entre as duas dependerá das necessidades específicas de cada equipe e organização.

Para saber mais sobre o Metabase, assista nosso webinar em nosso canal do YouTube:
https://youtu.be/v2kaUY29CFY

ChatGPT & Programação

Imagem mostra uma tela de computador com um código fonte genérico ao lado do logo do ChatGPT

O ChatGPT pode ajudar um programador de diversas maneiras, algumas delas são:

  1. Suporte para solução de problemas: Se um programador estiver enfrentando um problema técnico, ele pode usar o ChatGPT para obter ajuda para resolvê-lo. O ChatGPT pode oferecer informações e soluções para problemas comuns de programação, linguagens de programação, erros de sintaxe, entre outros.
  2. Referência técnica: O ChatGPT pode ser usado como uma fonte de referência técnica. Por exemplo, um programador pode perguntar ao ChatGPT sobre as melhores práticas de programação, a documentação de uma linguagem de programação específica, ou até mesmo informações sobre as diferenças entre várias tecnologias.
  3. Auxiliar na criação de código: O ChatGPT pode ajudar os programadores a escreverem melhor o código. Por exemplo, um programador pode usar o ChatGPT para obter sugestões sobre como otimizar seu código, como torná-lo mais eficiente, ou como implementar uma determinada funcionalidade.
  4. Teste de hipóteses: O ChatGPT pode ser usado para testar hipóteses de programação. Um programador pode usar o ChatGPT para perguntar se uma determinada abordagem é a melhor para resolver um problema, ou se uma determinada biblioteca é a melhor para realizar uma determinada tarefa.
  5. Compartilhamento de conhecimento: O ChatGPT pode ser usado para compartilhar conhecimento com outros programadores. Um programador pode usar o ChatGPT para compartilhar sua experiência e conhecimento com outros programadores, ou para obter informações e sugestões de outros programadores.

Em resumo, o ChatGPT pode ser um recurso valioso para programadores que desejam aprimorar suas habilidades, solucionar problemas técnicos e obter informações úteis sobre programação e tecnologia.

As Diferentes Profissões da Área de Dados

Com o aumento exponencial na quantidade de dados gerados e armazenados em todo o mundo, a demanda por profissionais qualificados capazes de lidar com essa enorme quantidade de informações também cresceu.

Entre os cargos mais procurados na área de dados, encontramos o analista de dados, engenheiro de dados e cientista de dados.

Cada uma dessas carreiras tem habilidades e responsabilidades diferentes, mas todas elas trabalham para ajudar as empresas a tomar decisões mais informadas e estratégicas.

Neste artigo, explicaremos a diferença entre as carreiras de analista de dados, engenheiro de dados e cientista de dados.

Analista de dados
O analista de dados é responsável por analisar conjuntos de dados para identificar padrões, tendências e insights que possam ajudar as empresas a tomar decisões melhores e mais informadas. Eles trabalham com uma variedade de fontes de dados, incluindo dados estruturados e não estruturados, e utilizam ferramentas e técnicas de análise de dados para transformar esses dados em informações úteis. O analista de dados é geralmente responsável por gerar relatórios, gráficos e visualizações de dados que ajudam as empresas a entender melhor o desempenho de seus negócios. Eles também podem ser responsáveis por identificar oportunidades de negócios com base em análises de dados.

Engenheiro de dados
O engenheiro de dados é responsável por projetar, construir e manter os sistemas de armazenamento e processamento de dados que permitem às empresas gerenciar grandes volumes de informações. Eles trabalham com uma variedade de tecnologias, incluindo bancos de dados, pipelines de dados, ferramentas de ETL (extração, transformação e carga) e sistemas de processamento em lote ou em tempo real. O engenheiro de dados é responsável por garantir que os dados estejam disponíveis e acessíveis apropriadamente para os usuários finais e aplicativos de negócios. Eles trabalham em estreita colaboração com cientistas de dados e analistas de dados para garantir que os dados estejam disponíveis para análise e relatórios.

Cientista de dados
O cientista de dados é responsável por desenvolver e aplicar modelos matemáticos, estatísticos e de aprendizado de máquina para identificar padrões e insights ocultos em grandes conjuntos de dados. Eles trabalham com uma variedade de fontes de dados, incluindo dados estruturados e não estruturados, e aplicam técnicas avançadas de análise de dados para resolver problemas complexos de negócios. O cientista de dados é responsável por projetar e executar experimentos para testar hipóteses e validar modelos. Eles trabalham em estreita colaboração com analistas de dados e engenheiros de dados para garantir que os dados estejam disponíveis e acessíveis para análise.

Conclusão
Embora haja sobreposição entre as responsabilidades dessas três carreiras, é importante destacar que cada uma tem habilidades e responsabilidades distintas. O analista de dados é responsável por analisar dados, o engenheiro de dados é responsável por gerenciar a infraestrutura de dados e o cientista de dados é responsável por aplicar técnicas avançadas