top of page
Foto do escritorAmanda Nascimento

Repositórios e armazenamentos

Atualizado: 26 de out.


Repositório de dados é um local onde informações e dados são armazenados, organizados e gerenciados para permitir seu acesso e uso. Ele pode assumir diferentes formas e propósitos, dependendo da natureza dos dados, do nível de organização e do objetivo de sua utilização. Em um contexto geral, os repositórios de dados são usados para centralizar, organizar e facilitar o acesso a informações de uma organização, aplicativo ou sistema.


Características gerais de um repositório de dados:

  • Armazenamento estruturado ou não estruturado: Repositórios podem armazenar dados de maneira organizada (como em tabelas e bancos de dados relacionais) ou em formatos brutos e variados (documentos, arquivos, vídeos, etc.).

  • Acesso e consulta: Permitem que os usuários ou sistemas acessem, consultem e extraíam informações para análises, relatórios ou aplicações operacionais.

  • Segurança e governança: Implementam políticas de controle de acesso, backup, e recuperação, além de garantir que os dados sejam gerenciados de forma segura e em conformidade com normas e regulamentos.

  • Escalabilidade: Repositórios podem crescer em termos de volume de dados armazenados, desde pequenos bancos de dados até grandes infraestruturas como Data Lakes.

  • Integração: São projetados para integrar dados provenientes de várias fontes, como sistemas transacionais, sensores IoT, logs de servidores, etc.




Data Warehouse relacional (RDW) (surgiu em 1984)


DW relacional é baseado no modelo relacional, onde os dados são organizados em tabelas (criando relações) e estas tabelas são compostas de linhas e colunas e cada linha representa uma entidade (como um cliente ou produto) e cada coluna representa um atributo dessa entidade *como nome, preço ou quantidade).


 

Armazena dados estruturados que foram transformados e organizados para análises e relatórios.

Usar um RDW torna mais fácil criar qualquer tipo de solução em BI, sem ser necessário criar uma lógica complexa para a extração de dados de vários sistemas de origens.

Uso Comum: Business Intelligence (BI), relatórios operacionais. Armazenamento relacional.

Exemplos: Snowflake, Amazon Redshift, Google BigQuery, SQL Server.


Vale ressaltar aqui que nem todos os data warehouses são baseados no modelo relacional como por exemplo o NoSQL, porem, o modelo relacional é mais adequado para dados estruturados. Um RDW age como um repositório central para muitas áreas e contém a SVOT (versão única da verdade).


Os métodos de extração dos sistemas de origem para o RDW podem ser:


  • Extração total

  • Extração incremental



e independente se é extração total ou incremental, as duas maneiras de extrair os dados são de forma:


  • Online

    Conexão direta com o sistema de origem para acessar as tabelas de origem ou se conectar com um sistema intermediário que armazena as alterações feitas nos dados de maneira pré-configurada (Ex.: Logs de transações ou tabela de alterações)


  • Offline


O Acesso direto ao sistema de origem nem sempre esta disponível e os dados ficam em um estado de espera, fora do sistema de origem e são criados por uma rotina de extração originada fora deste, como por exemplo, um mainframe executa uma rotina de extração em uma tabela e deposita os dados em uma pasta em um sistema de arquivos). Geralmente os dados são inseridos em um formato genérico como CSV ou JSON.



Algumas vantagens em utilizar o RDW


💜 Reduzir o estresse no sistema de produção

💜 Otimizar o acesso a leitura

💜 Integrar várias fontes de dados

💜 Gerar relatórios de histórico precisos

💜Reestruturar e renomear tabelas

💜 Proteger contra upgrades de aplicações

💜 Reduzir as preocupações com a segurança

💜 Manter dados de histórico

💜 MDM (master data management) remover registros duplicados

💜 Melhorar a qualidade dos dados preenchendo lacunas nos sistemas de origem.

💜 Eliminar o envolvimento da área de TI na criação de um relatório



Algumas desvantagens em utilizar o RDW


⚠ Complexidade ⚠ Custo alto ⚠ Desafios de integração de dados ⚠ Transformação de dados demorada ⚠ Latência dos dados (pode ser mais lento) ⚠ Janela de manutenção ⚠ Flexibilidade limitada ⚠ preocupação com segurança e privacidade



Data Mart (surgiu na década de 80)


Um subconjunto de um Data Warehouse focado em uma área específica de negócios (por exemplo, finanças, marketing).

Uso Comum: Relatórios de uma área de negócio específica, performance aprimorada ao acessar dados de um domínio restrito.

Exemplos: Data marts podem ser implementados em ferramentas como SQL Server, Oracle ou outros sistemas de Data Warehouse. Em resumo, podemos considerar o data mart um repositório de dados dedicado para atender áreas específicas.




Data Lake (surgiu em 2010)


Armazena grandes volumes de dados brutos em formatos nativos (dado bruto), sendo o dado estruturados (relacional), semiestruturados (CSV, logs, XML ou JSON), não estruturados (E-mails, documentos e PDFs) ou dados binários (como imagens, vídeos e áudios) ou seja, os dados podem passar de seu sistema de origem para o data lake sem serem transformados para outro formato.

O data lake é uma maneira barata de armazenar de forma ilimitada os dados, pois ao contrário do que ocorre em armazenamentos locais, os provedores de nuvem têm armazenamento ilimitado.


Usam o armazenamento por objetos, em que os dados não precisam estar estruturados (com no banco de dados relacional) em linhas e colunas.

Ao contrário de um DW, um data lake usa o schema-on-read (esquema durante a leitura), que significa que não é necessário fazer nenhum trabalho antecipado para a inserção de dados no data lake, basta copiar os arquivos.

Uso Comum: Big Data, machine learning, análises exploratórias. Exemplos: Hadoop, AWS S3, Azure Data Lake.

Geralmente os dados da camada bruta do data lake em conformidade são convertidos para o formato .parquet para ter uma padronização dos dados, utiliza-se também csv e json.



Algumas vantagens em utilizar data lakes


💜 Estrutura organizacional e propriedade 💜 Conformidade, governança e segurança 💜 Assinatura em nuvem, limites de serviço e políticas 💜 Desempenho, disponibilidade e recuperação de desastre 💜 Retenção de dados e gerenciamento de ambientes


Algumas desvantagens em utilizar data lake


⚠ Complexidade

⚠ Múltiplos data lakes aumentam o custo da infraestrutura e gerenciamento




Algumas diferenças entre data lake e DW


Os data lakes quando surgiram tinham a promessa de resolver todos os problemas de um DW tais como: Alto custo, escalabilidade limitada, desempenho, sobrecarga de preparação dos dados, suporte limitado e o data lake veio com a proposta de usar uma única tecnologia para resolver tudo. Porem, para consultar data lakes era necessário um conjunto de habilidades pessoais bem avançado, eram soluções complexas e difíceis e o data lake acabava sendo mais caros devido ao custo de hardware e suporte.

Os data lakes não tinham alguns recursos que as pessoas gostavam como por exemplo suporte a transações, imposição do esquema e trilhas de auditoria.




Data Warehouse moderno (MDW) (surgiu em 2011)


Em 2011 muitas empresas começaram a colocar lado a lado o DW e Data Lake para aproveitar benefícios de ambos, criando então o MDW (data warehouse moderno), ou seja, o DW moderno refere-se ao uso destas duas tecnologias.



O MDW representa o "melhor" dos dois mundos (Data lake e Data warehouse). O data çake é para o staging e a preparação dos dados (os cientistas de dados utilizam para criar modelos de machine learning) e as empresas geram consultas e relatórios com o DW, garantindo a disponibilização, segurança e conformidade.



Data Fabric (surgiu em 2016)


Uma arquitetura e conjunto de serviços que fornecem integração e gerenciamento de dados de maneira automatizada e inteligente em ambientes distribuídos. Podemos considerar o Data Fabric como uma evolução do MDW (data warehouse moderno), um grande framework que pode interagir com qualquer tipo de dado.

Uso Comum: Integração de dados entre nuvens públicas e privadas, sistemas on-premise e dados distribuídos.

Exemplos: Soluções baseadas em IA e automação, como IBM Cloud Pak for Data.



Data Lakehouse (surgiu em 2020)


O temo data lakehouse é uma combinação de data lake e data warehouse, com a diferença do data lake para o data lakehouse é a camada adicional chamada Delta Lake que é executado acima de um data lake existente e o faz funcionar de maneira semelhante a um banco de dados relacional.



Data Mesh (surgiu em 2019)


Uma abordagem descentralizada onde as equipes responsáveis pelos dados (domínios) têm autonomia para controlar seus próprios dados, com governança e padrões consistentes.

Data mesh é um conceito e não uma tecnologia. Cada domínio tem de determinar que tecnologia (data warehouse moderno, data lakehouse ou data fabric) para criar sua parte do data mesh.

O desafio que as empresas têm na centralização é o objetivo do data mesh, em resolver estes desafios, como propriedade dos dados, qualidade dos dados e o dimensionamento organizacional/técnico.

Uso Comum: Promover escalabilidade e governança em arquiteturas de dados distribuídas, especialmente em grandes organizações.

Exemplos: Arquitetura conceitual, geralmente implementada usando tecnologias como microserviços e data lakes/dwh.





Operational Data Store (ODS)

Um repositório de dados operacionais usados para integrar dados de diferentes fontes em tempo real ou quase real.

Uso Comum: Integração de dados em tempo real, suporte a processos operacionais, não é usado para relatórios analíticos de longo prazo.

Exemplos: ODS pode ser implementado em sistemas como SQL Server ou ferramentas específicas de integração de dados.



Data Hub


É um sistema centralizado de armazenamento e gerenciamento de dados que ajuda a empresa a coletar, integrar, armazenar, organizar e compartilhar dados de várias fontes e fornece acesso fácil a ferramentas analíticas, de geração de relatórios e tomadas de decisões Serve como um ponto centralizado de integração e distribuição de dados, sem a intenção de transformá-los ou armazená-los de forma centralizada.

Uso Comum: Integração de dados em diferentes plataformas, permitindo que múltiplos sistemas compartilhem informações.

Exemplos: IBM Data Hub, Talend Data Hub.


Enterprise Data Warehouse (EDW)

Um Data Warehouse centralizado que armazena dados de toda a organização para ser usado por vários departamentos e funções.

Uso Comum: Relatórios corporativos e análise de dados de toda a empresa, integrações interdepartamentais.

Exemplos: Oracle Exadata, Teradata.

NoSQL Databases

Sistemas de banco de dados que armazenam dados não estruturados ou semiestruturados, como documentos, gráficos, ou pares chave-valor.

Uso Comum: Aplicações que necessitam de alta escalabilidade e flexibilidade de dados (por exemplo, redes sociais, IoT).

Exemplos: MongoDB, Cassandra, Redis, Couchbase.

Cloud Storage/Blob Storage

Armazenamento em nuvem para grandes volumes de dados, geralmente usado para armazenar arquivos, objetos ou blobs.

Uso Comum: Armazenamento de arquivos de mídia, logs, backups, e grandes datasets.

Exemplos: AWS S3, Google Cloud Storage, Azure Blob Storage.

Graph Databases

Um tipo de banco de dados NoSQL otimizado para armazenar e navegar por dados inter-relacionados, como grafos de redes sociais ou mapas.

Uso Comum: Análises de redes sociais, recomendações, modelagem de relações complexas.

Exemplos: Neo4j, Amazon Neptune, OrientDB.


Data Stream Platforms

Plataformas de dados otimizadas para processar e analisar dados em tempo real.

Uso Comum: Processamento de dados em tempo real, como logs de servidores, sensores IoT ou transações financeiras.

Exemplos: Apache Kafka, AWS Kinesis, Azure Event Hubs.

Object Storage

Um sistema de armazenamento para grandes volumes de dados não estruturados, onde os dados são armazenados como objetos.

Uso Comum: Armazenamento de arquivos multimídia, backups e grandes datasets.

Exemplos: Amazon S3, MinIO, Google Cloud Storage.

File System (NAS/SAN)

Armazenamento de arquivos usando servidores de armazenamento conectados a uma rede (Network Attached Storage - NAS) ou sistemas de armazenamento de área de rede (Storage Area Network - SAN).

Uso Comum: Armazenamento e compartilhamento de arquivos em ambientes corporativos ou pessoais.

Exemplos: NetApp NAS, Dell EMC SAN.

In-Memory Databases

Armazena dados na memória principal (RAM) em vez de discos tradicionais, otimizando para leitura e gravação extremamente rápidas.

Uso Comum: Aplicações que requerem acesso em tempo real a grandes volumes de dados.

Exemplos: Redis, SAP HANA, Memcached.

bottom of page