Rox Partner e Conta Simples, uma parceria que deu sucesso! Confira esse case de Analytics

Um projeto de Data Lake é sempre um gerador de valor. Organizações que implementam esse tipo de projeto de analytics aumentam consideravelmente a performance da empresa. Armazenado seus dados, estruturados e não estruturados, em um repositório, é possível realizar análises mais performáticas, machine learning em novas fontes, fluxos etc. Fazendo com que seja factível identificar as oportunidades com maior velocidade e acurácia. 

Entendendo essa necessidade, a Conta Simples contou com o apoio da Rox Partner para ajudá-la nessa jornada!

Um case de muita parceria e sucesso!  

Entenda como foi essa trajetória e experiência em uma entrevista com o Líder de Dados na Conta Simples, Anderson Dourado. Com os comentários dos colaboradores em Data & Analytics da Rox, Harry Delgado e Guilherme Tamanini, que participaram do projeto.

Anderson, conte como foi a sua experiência durante toda a jornada:

Antes mesmo de iniciar o projeto Data Lake com a Rox, que durou cerca de 6 meses, eu já possuía um conhecimento prévio sobre a empresa. Apesar de alguns ajustes terem sido feitos ao longo do caminho, os resultados foram positivos e o time foi muito eficiente em apresentar soluções rápidas e corretivas.

A forma como conduzimos o projeto foi um ponto muito positivo da jornada, a minha percepção foi que já não via a Rox como uma extensão de recursos e sim uma consultoria para ajudar nos problemas que surgiam no dia a dia. Realmente uma parceira.    

“É satisfatório poder participar de um projeto com esse nível de qualidade e de entrega, e ver o quanto pudemos contribuir e aprender. Em breve, a Conta Simples será uma companhia muito grande e alcançará grandes resultados, e poderemos dizer nós participamos disso’!” Harrison Santo Delgado – Data & Analytics Rox Partner.

Quais foram os principais pontos positivos que você consegue destacar da entrega da Rox?
  • A integração do time, mostrando muita parceria e sinergia;
  • A disponibilidade de escutar e tratar os problemas;
  • O bom desempenho do time.
Qual você diria que é o diferencial da Rox?

A proximidade que a Rox manteve com o time de Dados da Conta Simples e, também, o cuidado em garantir uma sinergia internamente com seus colaboradores.   

“Foi incrível ter a oportunidade de trabalhar com uma fintech em seu momento de consolidação e ganho de escala no mercado, ainda mais pelo fato de ter participado da criação da sua plataforma de dados desde o seu início e contribuído com a sua cultura Data Driven.” Harrison Santo Delgado – Data & Analytics Rox Partner.

Quando falamos sobre boas práticas, quais seriam as melhorias que deveriam existir?

Não destacaria como pontos negativos, mas pontos a serem aprimorados, a depender inclusive do cliente em foco.

Ao longo do projeto, nossa equipe foi crescendo, evoluindo e conhecendo tecnicamente o ambiente da AWS (plataforma da Amazon). Deste modo, entendo que eles poderiam ter somado mais com os desafios técnicos do projeto Data Lake da Conta Simples.

Existe a intenção em contar com a Rox para novos desafios?

Com toda certeza! Temos a perspectiva de criar projetos e acelerar os já existentes na Conta Simples e a Rox é uma potencial parceria nessa jornada.

“Espero que outros projetos como esse apareçam, pois com certeza é a definição de projeto win-win. Saio do mesmo não só com a sensação de dever cumprido, mas também com uma bagagem enorme de conhecimento e experiências, e principalmente com novos amigos, não só ex-colegas de trabalho.” Guilherme Tamanini – Data & Analytics Rox Partner.

Qual a possibilidade de indicar a Rox para outras empresas?

Todas! Já trabalhei com muitas empresas e vi como diferencial, na Rox, a entrega e proximidade com o cliente. Espero que essa seja uma prática também com empresas maiores, pois isso é um grande diferencial do mercado.

“Em mais de 10 anos no mundo de TI, esse foi, de longe, um dos maiores desafios que já enfrentei na carreira e o resultado foi positivamente surpreendente. Somente foi possível acontecer pelo trabalho em equipe entre a Rox e o Conta Simples. Foi uma junção de esforços como se não houvesse diferença entre equipe terceirizada e funcionários da própria empresa.” Guilherme Tamanini – Data & Analytics Rox Partner.

Tenha você também um super parceiro para cuidar de seus projetos em tecnologia!

Com mais de 100 clientes atendidos e grandes parceiros, a Rox proporciona o que há de melhor para sua jornada Data Driven!

Entre em contato conosco e fale com um de nossos especialistas.

Aproveite e obtenha mais conhecimentos em nosso blog!

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

O que é MLOps e como ele pode ser útil para sua empresa?

O termo MLOps surgiu recentemente no cenário do universo de dados, e está cada vez mais em pauta; principalmente nas discussões sobre quais caminhos uma empresa Data Driven deve seguir para se tornar competitiva. Embora a discussão seja pertinente, ainda existem muitas dúvidas sobre o que é exatamente o MLOps e como ele pode ser implementado.

Antes de mais nada, podemos começar esclarecendo uma confusão comumente feita: o MLOps não é uma tecnologia específica, mas sim uma metodologia. A ideia é combinar as práticas já comuns do DevOps com o campo de Machine Learning. Ela surgiu da necessidade de resolver alguns problemas específicos, relacionados à dificuldade de colocar modelos de Machine Learning em produção, além de sua manutenção e garantia de que a qualidade dos resultados se mantenha ao longo do tempo.

O primeiro estudo relevante a trazer luz sobre o tema foi o sempre citado paper do time da Google apresentado no jornal NeurIPS, que trata sobre o tema do débito técnico escondido nos sistemas de Machine Learning. Como é possível verificar na imagem abaixo, o código/script criado para treinar os modelos e servir, que costuma ser o maior foco de estudo dos Cientistas de Dados hoje em dia – principalmente apresentados nos cursos online -, é apenas um pequeno pedaço do quebra-cabeças de como montar um sistema de Machine Learning:

Quais as vantagens de adotar o MLOps?

Em termos gerais, o MLOps traz uma série de benefícios. Além de combinar as vantagens já conhecidas do DevOps (melhorar a qualidade e velocidade das entregas durante o ciclo de desenvolvimento), ele mantém uma maior organização sobre os dados, permitindo o treino contínuo de modelos e o monitoramento destes. Citamos aqui mais algumas vantagens:

  • Encurtar o ciclo de criação e produtização do modelo (começo ao fim)
  • Fornecer mais tempo para o Cientista de Dados gastar com exploração e desenvolvimento do modelo
  • Padronizar os fluxos de criação de novos modelos
  • Reutilizar dos componentes do pipeline de treino do modelo
  • Monitorar a qualidade do modelo ao longo do tempo
  • Conseguir maior controle sobre os custos relacionados ao ciclo de vida do sistema de ML

Por outro lado, apesar das muitas vantagens da adoção desse framework de trabalho, por se tratar de um campo novo e ainda em evolução, a implementação de projetos desse tipo não é nada fácil para marinheiros de primeira viagem.

Estágios de evolução do MLOps

Uma das maiores referências sobre o assunto, como já vimos antes, é a Google. O time de Cloud publicou um artigo muito esclarecedor sobre os estágios de evolução do MLOps dentro de uma empresa, separando em 3 níveis. Vamos resumir as principais características de cada um, para auxiliá-los a entender melhor onde sua empresa se encontra atualmente:

  • Nível 0: Processo Manual

Nessa etapa, a empresa ainda depende do esforço dos times para todas as fases da cadeia. Todo o processo de análise de dados, preparação dos dados para o modelo, treino e validação é realizada pelo cientista de dados; enquanto, geralmente, o time de engenharia é responsável por reaproveitar o modelo criado e colocá-lo em produção para apresentar os resultados. 

Outra característica comum dessa etapa é a falta de monitoramento do modelo em produção, trazendo diversos problemas como baixa performance e até tomadas de decisões erradas.

  • Nível 1: Automação do Pipeline

Nesse nível, a empresa já dispõe de um sistema automatizado de treino do modelo, no qual todos os passos necessários, como: validação e transformação dos dados de entrada, treino do modelo, medição de sua performance e validação do modelo final; que são automaticamente executados, assim que forem acionados por um gatilho externo (como um orquestrador, por exemplo). Existem alguns componentes novos que irão servir de base para o processo funcionar, como a Feature Store, por exemplo, uma plataforma de gerenciamento de características em um ambiente de ciência de dados e machine learning. 

Esse modelo permite uma rápida experimentação por parte dos cientistas de dados, além de uma maior confiabilidade do sistema devido ao seu treinamento contínuo (mantendo a qualidade) e também apresenta garantias do modelo ter sido testado em ambientes pré-produtivos. Outra grande vantagem é que os componentes do pipeline são modularizados por código, permitindo a independência dos pipelines, seu reaproveitamento em outros módulos (visto que cada componente pode ser composto de uma imagem diferente) e acelerando o seu desenvolvimento. 

Uma outra característica interessante é que o monitoramento dos sistemas de ML em produção geram estatísticas que, por si só, podem acionar um novo ciclo de treinamento. Isso garante que modelos com baixa performance, devido a mudanças de comportamento, serão novamente treinados e comparados com a versão anterior, que permite avaliar se o modelo terá uma melhor performance com dados atuais ou se será necessário uma análise mais detalhada de seu desempenho.

  • Nível 2: Automação do Pipeline com CI/CD

Esse nível traz uma evolução importante em relação ao anterior, que é a adição do pipeline de CI/CD (Continuous Integration/Continuous Delivery) ao nosso sistema de ML. Essa mudança pode ser percebida tanto no começo do ciclo – com um fluxo de testes e build dos módulos que serão utilizados no pipeline (validação, treino, etc.) -, quanto no meio e final, onde os modelos serão automaticamente colocados em produção para servir no produto ou aplicação que está sendo utilizado. Assim, todo o ciclo é automatizado do começo ao fim, com uma maior robustez e velocidade de implementação de projetos.

O código dos componentes e do seu modelo deverá ser guardado em um repositório de códigos (Git, Bickbucket, etc), que irá acionar o pipeline de CI/CD em qualquer alteração. Dessa forma, os componentes e o código do modelo serão testados e construídos nos ambientes específicos, garantindo que sua implementação esteja adequada, atualizando o pipeline para sua versão mais recente. Após entrar em produção, os modelos seguirão sendo treinados continuamente, conforme forem acionados por gatilhos do CI/CD, de orquestração ou de performance, garantindo que sua melhor versão (após validação) seja colocada em produção para servir à aplicação. 

 

Próximos Passos

MLOps é uma abordagem essencial para a criação e implementação de modelos de Machine Learning em escala, garantindo que o processo seja gerenciado de forma eficiente e eficaz. É importante destacar que o sucesso de qualquer projeto de MLOps depende em grande parte da qualidade dos dados utilizados para treinar e validar os modelos. Nesse sentido, a Rox Partner, empresa especializada em serviços de banco de dados, desempenha um papel fundamental na oferta de soluções de qualidade para seus clientes. Com seus serviços confiáveis e de alta qualidade, a Rox Partner é uma parceira valiosa para empresas que buscam implementar soluções de MLOps de sucesso. 

Quer saber mais sobre nossas soluções? Clique aqui!

[/vc_column_text][/vc_column][/vc_row]

Learn More

Remote Desktop Service: O que é e como instalar

Tão antigo quanto o próprio Windows, o Remote Desktop Services (RDS) é largamente utilizado por grande parte das empresas, uma vez que proporciona fácil acesso aos servidores. Nesse atual cenário de pandemia, a relevância desse serviço está, cada vez mais, em destaque por proporcionar um modo seguro para a manutenção das atividades, por meio do formato home office. No entanto, seu uso crescente também tem atraído ataques constantes, a fim de extrair uma opção segura para a manutenção das atividades e informações sigilosas.

Sendo assim, para esclarecer as vantagens dessa ferramenta, o presente artigo terá como foco a aplicação de um serviço RDS, como instalá-lo e, também, boas práticas de uso. Confira!

O que é Remote Desktop Services (RDS)?

RDS ou Remote Desktop Services (Serviços de Área de Trabalho Remota) é um serviço que permite aos seus usuários, ter acesso a servidores e áreas dentro de servidores da empresa, sem a necessidade de estar fazendo uso físico do computador corporativo.

Esse serviço pode ser configurado por meio de criptografia nos acessos de terminal services (Cliente padrão das máquinas Windows, TS), mantendo, com isso, o acesso mais seguro e protegido.

Hoje, como muitas empresas estão atuando em estilo homeoffice, em muitas ocasiões, essa ferramenta tem sido empregada e, com isso, aparecem as preocupações. Por ser um serviço muito utilizado e ligado diretamente na internet, tornou- se suscetível a ataques dos mais diversos tipos, como por exemplo: a extração de informação. Diante dessas ameaças, o emprego das boas práticas como a atualização dos servidores, política de senha, acesso via Virtual Private Network(VPN) e proteção nos hosts, são algumas das estratégias que devem ser utilizadas para proporcionar um uso seguro do serviço RDS. Entenda:

Boas práticas no uso do SDR

Basicamente é possível obter os melhores resultados em desempenho do SDR realizando as seguintes práticas: 

  • Atualizações 
  • Política de senha 
  • VPN
  • Proteção de Host 
  • Atualizações

Um dos caminhos para o uso seguro do serviço RDS é manter as máquinas e servidores sempre atualizados, com as versões mais recentes e estáveis fornecidas pela Microsoft; fazendo com que essa ação minimize as vulnerabilidades da segurança e permita a configuração de um servidor de Windows Server Update Services (WSUS) no ambiente.

  • Política de senha

Criar uma boa política de senha para dificultar acessos externos é outra boa prática. O ideal seria uma regra de no mínimo dez caracteres e com uma boa complexidade – a partir da utilização de caracteres especiais, letras maiúsculas e minúsculas e números não sequenciais – assim como, uma política de troca de senha a cada 90 dias. Lembrando que tudo isso pode ser feito via Group Policy (GPO).

  • VPN

Para segurança, um túnel VPN entre a empresa e o cliente final pode ser mantido, o que permite acessar os servidores com segurança externa.

  • Proteção dos hosts

Para a proteção dos hosts, será preciso um endpoint instalado em todas as máquinas e servidores do ambiente.

Essa ferramenta permitirá o bloqueio de portas, possíveis ameaças de vírus e malwares, mantendo assim, o ambiente mais seguro.

Agora que você já sabe como manter as boas práticas de segurança e privacidade, só falta saber como instalar o seu RDS. Por isso, como exemplo, vamos implantar abaixo um Remote Desktop Services para Windows Server 2019, demonstrando as etapas de instalação e os seguintes serviços abaixo:

  • RD Session Host
  • RD Connection Broker
  • Web Access
  • Licenciamento RD

Como instalar o Remote Desktop Services (RDS)?


1 – Em server manager, clique em Manager e ADD roles and Features e, por fim, em Next.

Em server manager, clique em Manager e ADD roles and Features e, por fim, em Next.

 

2 – Selecione a opção Remote Desktop Services installation.

3 – Como será montado um servidor de RDS em um único servidor, clique na opção Quick Start e em Next.

4 – Em seguida, selecione a opção Session-based desktop deployment e clique em Next.

 

5 – Nesta etapa, selecione o servidor clicando na seta lateral, caso ele não esteja selecionado, e, em seguida, clique em Next.

 

6 – Selecione a opção de Restart assim que terminar a instalação e, em seguida, clique em Deploy.

 

7 – Ao reiniciar, continuará a instalação dos serviços e, em seguida, clique em Close.

 

Ativação e instalação das licenças do Remote Desktop Service (RDS)

 1 – Para ativação e instalação das licenças, clique em Tools, depois em Remote Desktop Services e, por fim, em Remote Desktop Licensing Manager.

 

2 – Clique com o botão direito em cima do servidor e, em seguida, clique em Activate Server.

 

3 – Por fim, clique em Next.

 

4 – Selecione Automatic connection e, em seguida, clique em Next.

 

5 – Depois de ativado, será preciso instalar as licenças. Para isso, clique com o botão direito em cima do servidor e em Install Licenses. Logo depois, defina o tipo de licença adquirida e adicione a chave e quantidade. 

 

Pronto, agora você já tem um serviço RDS instalado e já pode usufruir dessa ferramenta com segurança. Em breve, mais detalhes sobre os serviços e aplicações do RDS estarão disponíveis para acesso.

Proteção de dados completa para sua empresa: Rox Partner 

A Rox Partner é uma integradora de soluções e serviços com especialização em consultoria, sustentação e projetos de TI; com foco na entrega de soluções mais adequadas às necessidades de seus clientes.

Vamos conversar sobre a proteção da sua empresa? Entre em contato!

Por: Gabriel Giongo
Analista de infraestrutura 

Learn More

Conheça o Kubernetes — Orquestração de aplicações em Contêiner

O Kubernetes – também conhecido como K8s (com o 8 representando o número de letras entre o “K” e o “S”) –  é um produto Open Source para implantar, escalonar e gerenciar aplicativos dentro de contêineres em qualquer lugar.

 

Um pouco da história

O projeto se baseia em 15 anos de experiência em execução de contêineres com a Borg – uma plataforma interna da Google. A plataforma Borg foi a predecessora do Kubernetes. As lições aprendidas com ela ao longo dos anos se tornaram a principal influência por trás de grande parte da tecnologia do Kubernetes.

 

Voltando no tempo para explicar a arquitetura

  • Implantação Tradicional: Se trata da execução de aplicações em servidores físicos. Com o tempo, essa arquitetura apresentou dificuldade de escalabilidade, pois a única forma de separar as aplicações e evitar problemas de concorrência de recursos seria executar cada aplicação em um servidor físico diferente. Na implantação tradicional, não havia como definir limites de recursos para aplicações; por isso existia a necessidade de manter muitos servidores, gastando muito mais dinheiro.
  • Implantação Virtualizada: A solução de virtualização foi introduzida como alternativa para a Implantação Tradicional. Nesse modelo, podemos executar diversas máquinas virtuais (VMs) em uma única CPU de um servidor físico. A virtualização permite isolar as aplicações entre as VMs – o que fornece segurança, pois não há compartilhamento livre de dados entre as aplicações. Também podemos aproveitar melhor os recursos de um servidor físico, solucionar o problema de escalabilidade, reduzir custos de hardware e muito mais – isso tudo porque cada VM é uma máquina completa, que possui o seu próprio sistema operacional, e executa todos os componentes necessários.
  • Implantação de Contêineres: Os contêineres trabalham em uma arquitetura semelhante ao modelo de máquinas virtuais, mas com um detalhe importante: eles permitem compartilhar o sistema operacional (SO) entre as aplicações, por isso são considerados “leves”. Um contêiner tem seu próprio sistema de arquivos e compartilhamento de memória CPU. Além disso, os contêineres são portáveis entre nuvens e distribuições de sistema operacional, pois na arquitetura eles estão separados da infraestrutura subjacente.

 

O que faz o Kubernetes?

O Kubernetes é o “capitão” que irá controlar (gerenciar) os contêineres, garantindo que o sistema continue funcionando como foi planejado. É responsável por transportar e entregar os contêineres com segurança para os locais onde possam ser usados. A plataforma agrupa os contêineres que compõem uma aplicação para facilitar o gerenciamento e escalonamento. Além disso, é possível definir o estado completo de um sistema, seguindo boas práticas de infraestrutura (como código), permitindo alta disponibilidade, balanceamento de carga, atualizações em lote, “rollbacks” e muito mais.

Vale ressaltar que existe um orquestrador concorrente chamado Docker Swarm, que também tem a proposta de gerenciar contêineres dentro de um cluster – mas, neste artigo, o nosso foco será o Kubernetes.

 

O que você precisa saber para começar a trabalhar com Kubernetes:

  • POD — É a unidade de contêiner dentro de um cluster Kubernetes. Um POD é um grupo de um ou mais contêineres, com recursos de armazenamento e de rede compartilhados.
  • Deployment (réplica) — É o que garante que os PODs/Contêineres funcionem. Permite identificar o estado desejado em uma implantação e o controlador altera do estado real, para o estado desejado da aplicação naquele momento.
  • Service — Fornece os endereços IP de cada POD e um único nome (DNS) para um conjunto de PODs. Este objeto é importante para viabilizar acesso externo e fazer o balanceamento de carga entre os PODs.

 

Alguns benefícios da plataforma:

  • Aumento da velocidade de desenvolvimento.
  • No mundo DevOps, o Kubernetes permite a separação de interesses entre Desenvolvimento e Operações.
  • Orquestramento os contêineres com aplicações através dos PODs, mantendo controle e o gerenciamento dos clusters de forma automatizada.
  • Flexibilidade para implantar aplicativos em qualquer lugar, permitindo implantações On-Premise, Cloud Pública ou até Cloud Híbrida.
  • Execução serviços eficientes, ajustando automaticamente o tamanho e/ou quantidade de Nós do cluster, permitindo escalonamento com base na demanda.
  • Monitoramento do funcionamento do serviço, executando verificações contínuas de integridade e reiniciando os contêineres que falharam.
  • Disponibilização dos serviços aos usuários quando a plataforma confirma que eles estão em execução.

Obs.: O monitoramento automático da plataforma não é baseado apenas nas informações e métricas no nível do sistema operacional, mas também na integridade da aplicação e outros sinais.

 

Breve demonstração dos componentes

Nesta etapa, vamos explicar de forma superficial alguns componentes da infraestrutura do Kubernetes.

Um cluster Kubernetes é um conjunto de máquinas chamadas de Nós (nodes), que executam os contêineres. Cada cluster tem, no mínimo, um Nó – também conhecido como “worker node”.

  • Os Nós hospedam os PODs, que são os componentes da carga de trabalho do aplicativo.
  • O plano de controle gerencia os Nós e os PODs no cluster.
  • O plano de controle normalmente é executado em vários computadores. Geralmente, um cluster executa vários Nós, fornecendo tolerância a falhas e alta disponibilidade.

 

Mas, afinal, qual a diferença entre Kubernetes e Docker?

As dúvidas surgem quando começamos a estudar contêineres e nos deparamos com tecnologias diferentes, mas com algo em comum. Portanto, neste artigo, vamos esclarecer uma das principais dúvidas sobre esse tema.

Algumas vezes interpretados como uma escolha entre um ou outro, o fato é que Kubernetes e Docker são tecnologias diferentes, mas complementares. A principal diferença é que o Kubernetes deve ser executado em um cluster, enquanto o Docker é executado em um único Nó.

Ok, mas isso eu já sabia! E quando usar um ou outro?

Vamos começar falando um pouco sobre o Docker. Podemos dizer que o Docker é a ferramenta padrão para implantar uma aplicação usando contêineres. Com a capacidade de empacotar uma aplicação, é a engine mais utilizada atualmente. O Docker permite empacotar todas as dependências necessárias para execução, como bibliotecas e o código da aplicação, em uma imagem que pode ser facilmente “versionada”. Depois de começar a empacotar os aplicativos, precisamos encontrar uma maneira de gerenciá-los, e é isso que o Kubernetes veio fazer.

 

Kubernetes como serviço em Cloud Computing

 

 

Os principais provedores de computação em nuvem fornecem o Kubernetes como serviço, também conhecido como CaaS (Container as a Service).

No formato CaaS, o objetivo é eliminar a necessidade de instalar e operar seu próprio plano de controle ou Nós de cluster, bem como os servidores de API e a camada de back-end.

O desenho acima demonstra que as camadas de Hardware, Virtualização e Sistema Operacional são gerenciadas pelo provedor do serviço. Ou seja: o cliente começa a operar a partir do contêiner. Na concorrência entre os provedores deste tipo de serviço, alguns fornecem facilidades e/ou diferenças dentro de cada ambiente – por isso vale um estudo específico antes de iniciar a implantação.

 

Alguns provedores que fornecem CaaS baseado em Kubernetes

 

Conclusão

Neste artigo, esclarecemos o funcionamento do Kubernetes, sem aprofundar muito na parte técnica da plataforma. Explicamos a importância do Kubernetes para a “Era” de implantação de contêineres, e como ele trabalha em conjunto com o Docker, que é fundamental para começar a trabalhar com essa tecnologia.

O Kubernetes pode ser útil para diversas soluções dentro de uma empresa, vem sendo muito utilizado para solucionar problemas de integração entre aplicações, viabilizar execução de aplicativos de micro serviços, automatizar captura de dados com robôs que são executados em contêineres e muito mais. Tudo isso utilizando os recursos computacionais de forma eficiente, para evitar gastos desnecessários com infraestrutura de TI.

Caso tenha interesse em saber mais, entre em contato com a nossa equipe ou consulte o site oficial do projeto.

 

Escrito por Kaique Vitiello, Engenheiro de Dados na Rox Partner.

Learn More

Conheça o Apache Airflow: a solução perfeita para orquestrar fluxos de dados

A importância do Apache Airflow surgiu pois, um dos principais desafios para as empresas que trabalham com dados hoje em dia é garantir que a execução e manutenção dos fluxos de dados ocorra da forma mais harmônica possível. É essencial que se mantenha dentro dos horários previstos e que todos os usuários responsáveis sejam alertados e tenham visibilidade caso algum problema ocorra. E é exatamente isso que o Apache Airflow veio resolver.

O projeto do Apache Airflow se iniciou como um piloto dentro do Airbnb, em 2015, e desde então vem sendo adotado pelas maiores empresas do mundo todo, se tornando hoje a principal referência em ferramentas de orquestração no universo de dados. No final de 2020, a versão 2.0 foi oficialmente lançada, mostrando a maturidade do projeto e contínua evolução com apoio da comunidade, incluindo diversas melhorias tanto na experiência do usuário (melhorias na UI, Task Flow API, etc.), quanto em segurança e infraestrutura.

 

Onde utilizar o Airflow?

Uma das maiores dificuldades para os iniciantes do Airflow é definir qual será o ambiente e infraestrutura para rodar sua aplicação. Por se tratar de uma ferramenta open-source, com grande apoio da comunidade, existem muitas alternativas para rodá-la. 

É claro que essa escolha vai depender sempre dos requisitos técnicos e financeiros que você dispõe no momento. Porém, os casos mais comuns hoje são instâncias virtuais, Kubernetes e ambientes gerenciados. Para esse último, existem algumas opções oferecidas por players de cloud, como GCP Cloud Orchestrator, AWS Managed Workflows, e também SaaS, onde destacamos a empresa Astronomer, grande incentivadora da comunidade e uma importante responsável pela divulgação do Airflow no mercado.

Após definir a infraestrutura e rodar seu ambiente de Airflow, podemos iniciar a criação de nossos fluxos de dados. O projeto todo do Airflow foi desenvolvido em Python; logo, sua utilização pelos usuários também será feita dessa maneira. 

 

Quais as vantagens do Apache Airflow?

Embora existam outras opções concorrentes ao Airflow no mercado (como Luigi, Argo e Prefect), pode-se dizer que ela se tornou a solução mais querida e adotada para orquestração e agendamento de tarefas. Aqui estão algumas características pelas quais o Airflow se destaca:

  • Desenvolvimento todo em Python com baixo grau de complexidade
  • Integração com as ferramentas mais importantes do universo de dados
  • Documentação acessível e muito conteúdo produzido pela comunidade
  • Facilidade de criar e alterar fluxos simples e complexos de dados (DAGs, XCom)
  • Interface gráfica para acompanhamento dos jobs
  • Possibilidade de criação de componentes personalizados
  • Disponibilização de logs para auditoria de erros
  • Criar sistema de alertas com integração para Slack, E-mail, entre outros

 

Principais conceitos para entender o Apache Airflow

Para um entendimento rápido de como funciona a arquitetura dos fluxos no Airflow, podemos focar nos principais componentes:

  • DAGs: Abreviação de Direct Acyclic Graph, é a estrutura principal que representa um fluxo de dados. Poderia ser equivalente a um pipeline de dados. Geralmente, dentro de uma empresa, teremos várias DAGs, e cada uma terá uma função específica e geralmente independente (ex: Pipeline Dados A, Pipeline Dados B).
  • Tasks: Tarefas que serão executadas dentro da sua DAG. Uma DAG pode ter uma ou várias tasks atreladas. Alguns exemplos de tarefas são: execuções de scripts em Python, Bash, Spark, entre outras. Para que possamos escolher qual tipo de tarefa a Task irá executar e seus parâmetros, devemos atribuir um Operator para ela. As dependências entre uma task e outra são declaradas via script de maneira prática, formando a lógica do fluxo da DAG.
  • Operators: São os componentes pré-definidos (template) para executar as Tasks. Os componentes mais comuns são o BashOperator, PythonOperator, EmailOperator, entre outros. Existem de centenas a milhares de componentes das mais diversas tecnologias, prontos para serem utilizados. Porém, é possível desenvolver operadores personalizados caso necessário.
  • Executor: É o mecanismo que será responsável por executar as Tasks – o motor de execução. O Apache Airflow só poderá ter um executor definido para seu ambiente. Alguns exemplos são: KubernetesExecutor, SequentialExecutor e LocalExecutor
  • Scheduler: Um dos principais componentes do Airflow, é o responsável por monitorar as execuções das DAGs e iniciar novas tarefas quando elas estiverem disponíveis, nos horários estimados.

 

Conclusão

O Apache Airflow se tornou quase uma unanimidade no universo de dados hoje em dia, sendo utilizado por empresas como Airbnb, Walmart, Facebook, Adobe, entre outras. A Rox Partner é especializada na implementação de projetos de dados com Airflow, e tem vários clientes que já se beneficiam dessa ferramenta, além de contar com profissionais certificados. 

Se você está interessado em saber mais, entre em contato com nosso time ou consulte o site oficial do projeto aberto.

Learn More

Gerenciamento de disco e volume group no Linux

O gerenciamento de disco é uma ferramenta extremamente útil em qualquer sistema operacional, que permite executar tarefas avançadas em relação ao armazenamento e gerenciar as unidades que estão instaladas em um computador. Esse utilitário apresenta uma série de tarefas, como adicionar storage device, criar e estender partição, criar sistemas de arquivo, reconhecer discos, gerar volume de grupo etc.

Apesar de ser executável em praticamente todos os sistemas operacionais, é preciso mencionar que cada ferramenta possui suas próprias peculiaridades. Neste tutorial, abordaremos o uso de disco especificamente em Linux, testado em sistemas CentOS, RedHat e Oracle Linux, mas facilmente adaptável para outros sistemas Linux. 

Principais comandos de gerenciamento de disco em Linux

lsblk

Esse comando mostra os dispositivos físicos, lógicos, device manager, tipo e ponto de montagem.

É bastante usado para identificar novos discos ou LUNs, que são entregues para o servidor e que ainda não foram usados, e para evitar o erro de usar discos que já estão em uso, como o RAW, usado pelo Oracle.


blkid

Programa usado para identificação do sistema de arquivo usado pelo bloco de disco ou partição.

 

fdisk

Usado para criação de partição para discos de no máximo de 2TB.

 

parted 

Trata-se de um programa para particionar discos. Geralmente, é usado para discos maiores que 2TB, mas pode ser usado para discos menores também.

 

Agrupamento de discos e Volume Group

Volume Group é uma feature do Linux, que possibilita agrupar múltiplos discos em um único volume. No caso de partições cheias, essa ferramenta também habilita a expansão de volume lógico. Os Volume Groups podem ser, basicamente, divididos em 3 itens: 

 

Gerenciamento de disco: Physical Volume

 É o disco ou a LUN usado para criar o VG. São usados os comandos pvscan e pvdisplay para visualização. 

Volume Group

Usado para configurar um ou mais discos ou LUNs, formando um só volume.

São usados os comandos vgscan e vgdisplay para visualização.

 

Logical Volume 

Usado para configurar as partições lógicas. São usados os comandos lvscan e lvdisplay para visualização. 

 


Como fazer a configuração de um VG?

Aqui, vamos mostrar como fazer a configuração de um Volume Group e cada uma de suas etapas, desde o reconhecimento do disco, criação de uma partição com fdisk, configuração do PV, VG, LV, criação do filesystem, montagem e, por fim,a expansão do LV.

Reconhecimento do Disco

Essa etapa é importante, pois há risco de utilização de discos que já estão em uso; portanto, estes precisam ser bem identificados. Serão usados os comandos lsblk para identificar o disco, e blkid para confirmar que não há sistema de arquivos ou RAW nesse disco.

 


Criar a partição LVM?

  1. Com o comando fdisk /dev/sdf, temos acesso ao disco para criar a partição. Digitar a letra p, para mostrar informações do disco, e certificar que não há partição criada.

2. Nesse caso, vamos usar todo o disco para criar a partição. Usar o comando n e. Depois, apertar a tecla enter três vezes.

3. Para alterar o tipo de partição para LVM, usar o comando t, depois 8e e teclar Enter.

4. Usar o comando p novamente para mostrar a partição que foi criada.

5. Usar o comando w para salvar e sair.

 

 


Gerenciamento de disco: como Configurar o Volume Group (VG)?

  1. Para configurar o physical volume: pvcreate /dev/sdf1

2. Para configurar o volume group: vgcreate teste-vg /dev/sdf1

3. Para configurar o logical volume com 50GB: lvcreate -L+50G teste-vg -n dados

4. Verificando as configurações realizadas

5. Criando o filesystem XFS

6. Montando a partição

7. Verificando a partição montada 

8. Para expandir a partição no VG e no filesystem em 15GB: lvextend -L+15G /dev/teste-vg/dados

9. xfs_growfs /dev/teste-vg/dados

10.  Verificando que a partição que antes tinha 50GB agora está com 65GB

Esperamos que este artigo tenha tirado suas dúvidas sobre o gerenciamento de disco e volume group no Linux, caso tenha dúvidas ou se deseja receber uma consultoria entre em contato com a Rox Partner, somos especializados em fornecer soluções de TI baseados em 4 torres de serviços que podem auxiliar a sua empresa na estruturação, controle e proteção dos seus dados.


Até a próxima!

Learn More

Conheça os tipos de Cluster PostgreSQL Open Source

As demandas de segurança em TI e governança de dados crescem diariamente. Por conta dos possíveis riscos à base de dados, como invasões de segurança, erros humanos ou até falhas de equipamentos, é preciso adotar as medidas mais adequadas para proteger essas informações de maneira correta e é aí que contamos com o Cluster PostgreSQL. Como medida de prevenção, os ambientes de produção atualmente devem operar com RTO – Recovery Time Objective e RPO – Recovery Point Objective próximos de zero

A proposta deste artigo é demonstrar as várias possibilidades de replicação para Cluster PostgreSQL, um banco de dados OpenSource, abordando as alternativas para replicações e elencando as principais vantagens e desvantagens de cada uma. 

 

Se você busca por soluções personalizadas em postgree para seus projetos, clique aqui! 

Como funciona a replicação em Cluster PostgreSQL?

A replicação no PostgreSQL é um processo de cópia de um database server para outro. Sendo assim, precisamos considerar dois diferentes bancos de dados: o Master Server, banco de dados principal de origem, e o Replica Server, servidor que recebe a replicação.

Faiolver automático no Cluster PostgreSQL:

Quando há um problema no ambiente de produção Source Database, o banco de dados é movido automaticamente para o Replica Server, e existem alguns tipos de replicação que realizam esse procedimento, e que detalharemos melhor no decorrer do artigo.

RubyRep

Recursos

  • Replicação assíncrona, ou seja, os dados são “commitados” primeiro no Master Server e depois no slave de maneira independente
  • Capacidade suportar vários masters 
  • Baseada em em triggers

Desvantagens

  • Os comandos DDL (Data Definition Language), de criação de usuários e grants não são replicados
  • Mínimo de dois servidores

Bucardo

Trata-se de uma replicação master-master ou master-slave que tem a vantagem do load-balance para sistemas Datawarehouse, com opção de escrita em base slave, onde os dados podem ser replicados automaticamente ou por demanda.

Limitações

  • Não replica DDL
  • Não replica objetos grandes
  • Todas as tabelas devem ter uma chave única, caso contrário, os dados não são replicados
  • Há necessidade de um servidor de controle para replicação e execução de rotinas em perl, que se comunica com os outros bancos de dados: master e slave ou múltiplos master

Pgpool

Tipo de replicação de implementação ágil, por funcionar como uma extensão no Cluster PostgreSQL.

Recursos

  • Possui pool de conexões
  • Replicação entre um ou mais slaves
  • Load Balance
  • Failover automático
  • Consultas paralelas

Limitações

  • Se for executado um pg_terminate_backend() para finalizar uma sessão no servidor master, isso irá disparar um failover
  • Consultas de várias instruções (vários comandos SQL em uma única linha) são sempre enviadas ao nó primário (no modo de replicação de streaming) ou ao nó principal (em outros modos). Normalmente, o Pgpool-II despacha a consulta para o nó apropriado, mas não é aplicado a consultas com várias instruções
  • Mínimo de três servidores sendo um master e dois slaves

Repmgr

Recursos

Limitações

  • Antes do PostgreSQL 10, os índices hash não eram registrados no WAL e, portanto, não são adequados para uso na replicação de streaming no PostgreSQL 9.6 e anteriores
  • Após failover em caso de falha do servidor primário, este modelo, quando reestabelecido, não é iniciado como slave, portanto, esse procedimento tem de ser manual
  • Mínimo de dois servidores

Patroni

Recursos

  • Cria o cluster
  • Inicia a replicação de streaming
  • Lida com os requisitos de sincronicidade
  • Monitora a vivacidade do primário e da réplica
  • Pode alterar a configuração de todos os membros do cluster
  • Emite comandos de recarregamento e reinicia os membros do cluster selecionados
  • Lida com trocas planejadas e failovers não planejados
  • Retrocede um primário com falha para colocá-lo de volta como slave 
  • Reinicia todas as conexões de replicação para apontar para o primário recém-promovido
  • Pode ser implementado em Kubernetes

Limitações

  • Versões PostgreSQL suportadas atualmente: 9.3 a 13
  • Mínimo de dois servidores para o master e slave

Um servidor para o etcd para gerenciar o Patroni

 

Rox Partner: Soluções personalizadas com PostgreSQL

A Rox Partner é especialista em projetos com PostgreSQL, oferecendo soluções personalizadas e eficientes de replicação. Com foco na segurança e governança de dados, contamos com o Cluster PostgreSQL para proteger suas informações de forma adequada. Nossos especialistas exploram as diversas possibilidades de replicação, como RubyRep, Bucardo, Pgpool, Repmgr e Patroni, para garantir a continuidade dos negócios. Confie na Rox Partner para projetos especializados em PostgreSQL. Quer saber mais, entre em contato clicando aqui

Learn More

As diferentes sintaxes de um Backup Lógico

Se você presa por segurança, o backup lógico é uma das maneiras mais seguras de copiar seus dados.

Na era em que vivemos, sabemos da importância de proteger muito bem seus dados, afinal, essas informações são peças essenciais para que as empresas possam adequar seus negócios às demandas da atualidade.

Para que seu banco de dados esteja em plena segurança em caso de riscos, é preciso realizar, frequentemente, o backup dos arquivos existentes, garantindo sua restauração em caso de falha. Esse tipo de falha pode ser decorrente de diversos fatores, sejam eles a corrupção de arquivos, defeitos no hardware, sinistros ou erros de usuários, mas ainda assim, é possível prevenir grandes danos com uma estratégia de backup eficiente. 

Nós, da Rox Partner, conhecemos as soluções mais adequadas para escalar o seu ambiente e proteger os seus dados. Existem muitas soluções com as quais podemos trabalhar, cada uma com suas próprias peculiaridades e vantagens. Neste artigo, vamos apresentar as diferenças entre as opções de backup lógico no Oracle e quais as situações adequadas para cada caso. 

O que é um backup lógico?

Antes de tudo, é preciso ressaltar que o Oracle trabalha com dois diferentes tipos de backups: os backups lógicos e os backups físicos. Diferente dos backups físicos, que contém arquivos físicos do banco de dados, como datafiles, archive logs ou controlfiles, os backups lógicos são uma alternativa mais rápida, simples e que ocupa menos espaço do que um backup completo, contando com dados e definições de objetos. Neste caso, o Oracle conta com o termo “Datapump”, que gera um arquivo binário com as definições de estrutura, índices, grants e muito mais, trazendo, por si só, várias formas de realizar a importação e exportação dos dados, de modo a atender às diversas necessidades do dia a dia do cliente.

EXP e IMP vs. EXPDP e IMPDP

Tanto o EXP, usado para exportar dados, quanto o IMP, seu “parceiro” que auxilia na importação dos dados, são alternativas mais antigas para realizar o backup e, hoje em dia, são bem pouco usadas, tendo se tornado obsoletas. No entanto, o EXPDP e o IMPDP são versões mais atualizadas, tendo sido incluídos na versão 10G, com mais funcionalidades e com uma forma de compactação mais eficaz. 

Para que seu backup seja eficiente, o recomendado é trabalhar com a versão mais atual, porém, a melhor opção sempre será aquela que atende a sua necessidade. O EXPDP é atualmente a melhor forma de realizar o backup lógico, devido a sua forma de compreensão mais precisa e suas variadas funcionalidades, além de ser mais performático e contar com validações que impossibilitam a divergência de dados durante a execução do backup e da importação. 

Exemplos de sintaxe em cada opção

EXP 

  • Exportar um usuário completo

exp userid=Usuario/Senha owner=Schema  file=Nome_do_Arquivo.dmp log=nomearquivo.log

  • Exportar o Banco completo 

exp userid=Usuario/Senha FULL=y   file=Nome_do_Arquivo.dmp log=nomedoarquivo.log

  • Exportar uma ou mais tabelas

exp Usuario/Senha TABLES=(schema.emp,schema.sales) file=Nome_do_Arquivo.dmp

IMP 

  • Importar uma Tabela

 Imp Usuário/Senha   FILE=Nome_do_Arquivo.dmp   FROMUSER=schema TABLES=(emp,sales)

  • Importar renomeando o usuário

imp Usuário/Senha  FILE= Nome_do_arquivo.dmp    FROMUSER=schema TOUSER=schema_new

  • Importar o backup completo

imp Usuário/Senha  FULL=y IGNORE=y FILE=myfullexp.dmp buffer=104.857.600  feedback=100000

A cláusula  Ignore=Y ignora os erros durante a execução da importação, acrescentando um buffer de 100 MB para deixar o import mais rápido.

buffer=104.857.600 

feedback=100000 

Este parâmetro é importante para acompanhar sua execução, neste exemplo, a cada 100.000 linear, um ponto “.” é acrescentado ao terminal.

EXPDP

Para trabalhar com EXPDP e IMPDP, é necessário criar um “diretório” no banco para informar onde os dados serão salvos:

CREATE OR REPLACE DIRECTORY test_dir AS ‘/u01/app/oracle/oradata/’;

  • Exportando tabelas de um usuário

expdp Usuário/Senha  tables=schema.EMP,schema.DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log

  • Exportando o Backup Completo

expdp Usuário/Senha full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log

  • Exportando Incluindo ou excluindo dados do export

Com essa cláusula podemos, por exemplo, incluir as tabelas EMP e DEPT ou mesmo excluir a tabela BÔNUS, como nos modelos abaixo:

expdp Usuário/Senha schemas=SCOTT include=TABLE:”IN (‘EMP’, ‘DEPT’)” directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log

expdp Usuário/Senha schemas=SCOTT exclude=TABLE:”= ‘BONUS'” directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log

  • Contents

Com os contents, podemos exportar somente os metadados do banco ou de uma tabela. No exemplo abaixo, estamos exportado somente os metadados do schema scott:

expdp Usuário/Senha schemas=SCOTT directory=TEST_DIR dumpfile=scott_meta.dmp logfile=expdp.log content=METADATA_ONLY

No exemplo abaixo, estamos exportando o banco completo. Porém, as tabelas EMP e DEPT do schema scott estão levando apenas seus metadados

expdp Usuário/Senha full=Y directory=TEST_DIR dumpfile=full.dmp logfile=expdp_full.log query=’SCOTT.EMP:”WHERE deptno=0″,SCOTT.DEPT:”WHERE deptno=0″‘

IMPDP

  • Importando as tabelas 

impdp Usuário/Senha tables=schema.EMP,schema.DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=impdpEMP_DEPT.log

  • Importando o backup completo 

impdp Usuário/Senha full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=impdpDB10G.log  

De forma a garantir a integridade dos dados, os exports sempre devem ser feitos com a cláusula FLASHBACK_SCN. De forma crua, essa cláusula pega uma “foto” do banco para usar como modelo ao final do export, com o objetivo de comparar se houve alguma mudança durante a execução do backup, garantindo assim que o banco sempre vai estar íntegro.

expdp Usuário/Senha full=Y directory=TEST_DIR dumpfile=full.dmp logfile=expdp_full.log flashback_time=systimestamp

  • Como usar no arquivo de parâmetros.

flashback_time=”to_timestamp(’09-05-2011 09:00:00′, ‘DD-MM-YYYY HH24:MI:SS’)”

  • Usando na linha de comando escapando caracteres especiais.

expdp ….. flashback_time=\”to_timestamp\(\’09-05-2011 09:00:00\’, \’DD-MM-YYYY HH24:MI:SS\’\)\”

  • Capturando o SCN dentro do banco

SELECT TIMESTAMP_TO_SCN(SYSTIMESTAMP) FROM dual;

SELECT SCN_TO_TIMESTAMP(5474751) FROM dual;

Nós cuidamos dos seus dados: Rox Partner

Rox Partner é uma integradora de soluções e serviços com especialização em consultoria, sustentação e projetos de TI; com foco na entrega de soluções mais adequadas às necessidades de seus clientes.

Vamos conversar sobre a proteção da sua empresa? Entre em contato!

 

 

Learn More

A Jornada Data Driven e como aplicá-la a sua empresa

Vivemos em uma época em que, com o avanço rápido da tecnologia de um modo geral – e especialmente da tecnologia de coleta de dados -, muito se fala sobre o uso de dados por parte dos mais diversos tipos de empresas. Todos os dias aparecem novas informações, reportagens, eventos e pesquisas sobre esse tema; às vezes, é tanta coisa que fica difícil de acompanhar. Você provavelmente já ouviu falar sobre a importância do uso de dados para o desenvolvimento do seu negócio, mas pode ser que não tenha nem ideia de como começar a utilizá-los como uma ferramenta para o sucesso da tomada de decisões e desenvolvimento de novas estratégias. Para compreender o valor da inteligência de dados, primeiro, é preciso compreender o valor que essas informações podem agregar.

 

Por que dados são tão importantes?

Ainda há pouco tempo, a tomada de decisões de negócios nas empresas era muito mais realizada pelo feeling, pelo achismo. Confiar no achismo pura e simplesmente, mesmo tendo um montante de informações disponíveis, faz com que as resoluções de quaisquer questões sejam realizadas de maneira ineficiente; resultando em tomadas de decisões importantes baseadas em dados imprecisos. As coisas mudaram quando concluiu-se que os dados conseguem dar respostas muito mais precisas para os problemas que a empresa pode ter com seus produtos, atendimento e estratégia, indicando possíveis rumos a serem seguidos. Se muito bem trabalhados e interpretados, os dados conseguem trazer valor para qualquer organização, independente do segmento e porte.

O trabalho de análise, qualificação e seleção  dos dados extraídos pela sua empresa pode fazê-lo encontrar a informação que você precisa para solucionar um problema em seus mais diversos aspectos. Por exemplo, por meio da interação dos clientes por redes como o WhatsApp, LinkedIn, Instagram ou qualquer outro meio de comunicação, é possível aplicar técnicas de mineração de dados; melhorando assim produtos, serviços e, consequentemente, a experiência do cliente. “Por isso que os dados são tão valiosos, principalmente quando respondem perguntas de negócios”, afirmou o Roxpert, Romerito Morais, engenheiro de dados e análise.

 

A Cultura Data Driven

De forma sucinta, a Cultura Data Driven é quando uma empresa incorpora o uso de dados para realizar tomadas de decisões em seus negócios. Baseia-se em uma longa jornada, desde a compreensão do seu negócio, captura dos dados, sua aquisição, integração, aperfeiçoamento e análise completa por parte das mais diversas áreas da empresa. Trata-se de um extenso processo  de transformação cultural de qualquer organização, para que os dados obtidos no dia a dia sejam convertidos  em informações de alta relevância e utilizados estrategicamente. Dessa forma, todas as divisões da sua empresa conseguirão responder às perguntas e tomar as melhores decisões.

Porém, para que a Jornada Data Driven possa agregar os resultados esperados, é preciso compreender suas necessidades para traçar objetivos a serem atingidos e, quando falamos de empresas, inevitavelmente estamos falando de compreender pessoas, processos e tecnologia. É preciso haver um investimento massivo em cada setor para que as pessoas recebam treinamento especializado para saberem lidar com dados em seus mais diferentes aspectos.
Saber identificar esses pontos de melhoria e encontrar as respostas por meio do big data analytics pode ser um grande desafio, devido ao enorme montante de informações que são produzidas diariamente por meio dos mais diversos canais. Portanto, contratar mão de obra especializada o suficiente para extrair os insights necessários é uma operação demorada e de alto custo. Em contrapartida, fazer com que uma ou mais pessoas inexperientes efetuem todo o trabalho de coleta, armazenamento e análise sem ter conhecimento a fundo de processamento de dados, controle de qualidade e business pode levar a empresa a ter prejuízos irreversíveis.

 

 

E é aí que a Rox entra!

A Rox Partner tem como propósito transformar todos os dados das empresas em ativos. Para isso, é garantida a construção de arquiteturas em nuvem ou on-premises com  governança de dados, para que todo o processo de engenharia e ciência de dados sejam suportados. O processo da Jornada Data Driven da Rox é 100% realizado por  especialistas em Big Data e Analytics, divididos em diversas equipes de trabalho específico, para que seus dados sejam perfeitamente transformados nas informações que seu negócio precisa.
De acordo com o Roxpert Romerito Morais, o processo consiste, primeiramente, em um trabalho de investigação. “Estamos sempre falando muito de dados, mas geralmente o maior problema das empresas não é a ausência de dados. O problema é  que esses dados estão todos espalhados pela empresa, sejam em planilhas eletrônicas, ERPs, CRMs, sistemas de e-commerce etc.”, explica. “Por isso, mapeamos os processos, identificamos as métricas de avaliação, quais os principais problemas que ela tem enfrentado e o que ela espera como resultado”.

Após todo o mapeamento dos negócios, é iniciado o trabalho de mapeamento das fontes de dados, conversa com pessoas chave de dentro da organização e definição de quem será o responsável pelo projeto. A equipe de engenharia de dados vai coletar os dados mapeados de todos os locais em que a empresa os consome e os mesmos serão armazenados em data lakes. Então, estes dados são submetidos a um rigoroso processo de controle de qualidade, em que são filtrados, enriquecidos, refinados e catalogados.
Após esse controle, os dados são armazenados em data warehouse e separados por data marts que, por sua vez, são dados organizados pelos setores da empresa na qual vão ser usados para responder às perguntas em questão. Substancialmente, a Rox se dispõe a realizar todo o processo da jornada: aquisição e transformação dos dados até deixá-los ideais para que o cliente possa tomar decisões e encontrar as melhores soluções.

 

Fique por dentro das notícias por meio das nossas redes sociais:

 

 

Learn More