250

Apache Atlas

Governança de Dados

Em resposta à intensa busca por valor e velocidade na tomada de decisão pelas organizações modernas, o mercado oferece, cada vez mais, tecnologias, ambientes e componentes para serem consumidos e explorados com estratégias "realtime", "near-time", "streaming" e outras que permitam a transformação dos dados e o acesso às informações no menor tempo possível.

Embora esta evolução analítica agregue alta capacidade às transformações digitais e otimize os parques de tecnologia, demanda das organizações um "alicerce" estruturado e alta maturidade na manutenção de processos e ativos.

É neste momento que entra a Governança de Dados, processo fundamental que garante alinhamento ao compliance das organizações, melhorando a qualidade dos insights, auxiliando na adoção do compliance regulatório, na redução de custos com políticas e sistemas centralizados, no crescimento dos dados controlados e organizados, protegendo-os de qualquer contratempo, dentro de um ambiente cultural favorável à inovação e permeando todo o pipeline de tecnologias em que os dados navegarão.

Aspectos da Governança de dados

Características do Apache Atlas

O Apache Atlas é um conjunto escalável de serviços básicos de governança fornecidos para o HADOOP, com o objetivo de auxiliar as organizações na realização de seus requisitos de conformidade. Para isso, usa modelos prescritivos e forenses enriquecidos por metadados taxonômicos de negócios.

O Apache Atlas permite que as organizações construam um catálogo de seus bens, classificando-os, administrando-os e provendo competências de colaboração para seu uso por cientistas de dados e times de governança.

A ferramenta foi projetada para trocar metadados com outras ferramentas e processos dentro e fora da pilha HADOOP, permitindo assim controles de governança independentes de plataforma atendendo, com eficácia, aos requisitos de conformidade.

Esses serviços incluem:

  • Pesquisa e linhagem proscritiva: facilitando a exploração pré-definida e ad hoc de dados e metadados e mantendo um histórico de fontes de dados e de como dados específicos foram gerados.

  • Controle de acesso a dados orientado por metadados.

  • Modelagem flexível de dados comerciais e operacionais.

  • Classificação de dados: auxiliando no entendimento da natureza dos dados e sua classificação com base em fontes externas e internas.

  • Intercâmbio de metadados com outras ferramentas de metadados.

Interface Apache Atlas

Arquitetura do Apache Atlas

A arquitetura do Apache Atlas envolve os seguintes componentes:

  1. Core:

    1. Type System: Permite a definição de um modelo para objetos de metadados que se deseja gerenciar.

      • O modelo é composto de definições chamadas types.

      • As instâncias das types são chamadas entidades e representam os objetos de metadados que serão gerenciados.

      • Todos os objetos de metadados gerenciados pelo Atlas no modelo out-of-the-box(prontos para uso) são modelados usando types e representados como entidades.

      • A natureza genérica da modelagem no Atlas permite que integradores e administradores de dados definam metadados técnicos e de negócio e os relacione por meio de recursos do Atlas.

    2. Engine Graph: Internamente, Atlas persiste os objetos de metadados que gerencia usando um modelo Graph. Esta abordagem provê grande flexibilidade e habilita a manipulação eficiente dos relacionamentos entre os objetos de metadados. A engine Graph é responsável pela tradução entre types e entidades do Type System e pelo modelo de persistência do gráfico subjacente.
      A engine Graph também cria índices para objetos metadados de forma que se possa executar buscas de forma eficiente. O Atlas usa o JanusGraph para armazenar objetos metadados.

    3. Ingestão/Exportação: O componente ingest habilita a adição de metadados no Atlas e o componente export disponibiliza as mudanças detectadas em metadados para serem geradas como eventos e consumidas pelos Consumers em resposta às mudanças em metadados em tempo real.

  2. Integração:

    Existem dois métodos para gerenciar metadados no Atlas:

    1. API: Todas as funcionalidades do Atlas são disponibilizadas ao usuário final via REST API, que habilita a criação, alteração e exclusão de types e entidades. É este o principal mecanismo para consulta e discover dos types e entidades gerenciados pelo Atlas.

    2. Mensagens: Adicionalmente às APIs, há a possibilidade de integração com o Atlas usando a interface messaging.
      Esta interface é muito útil para a comunicação entre objetos de metadados para o Atlas e para consumir eventos de alteração de metadados do Atlas. É particularmente útil quando se deseja usar uma integração mais flexível para alcançar mais escalabilidade, confiança, etc.
      O Atlas usa o Kafka como servidor de notificações para comunicação entre consumidores hooks e downstream de eventos de notificação de metadados. Eventos são escritos pelo hooks e Atlas para diferentes topicos Kafka.

    Fontes de metadados: O Atlas oferece suporte a integração com diversas fontes de metadados, prontas para uso.
    A integração implica em duas coisas:

    • Existirem modelos de metadados que Atlas define nativamente para representar objetos destes componentes.

    • Existirem componentes fornecidos pelo Atlas para "ingerir" objetos metadados desses componentes (real time ou batch).

      Atualmente, suporta a ingestão e gerenciamento de metadados das seguintes fontes:

      1. HBase

      2. Hive

      3. Sqoop

      4. Storm

      5. Kafka

      6. Falcon

  3. Aplicações: Os metadados gerenciados pelo Apache Atlas são consumidos por uma variedade de aplicações.

    1. Admin UI: Este componente, baseado na Web, habilita administradores e cientistas de dados a "descobrir" e "anotar" metadados.
      É uma interface de pesquisa com linguagem de consulta semelhante a SQL que pode ser usada para consultar os tipos de metadados e objetos gerenciados pelo Atlas.
      A Interface usa a API REST do Atlas para criar sua funcionalidade.

    2. Políticas baseadas em tags do Ranger: O Ranger é uma solução avançada de gerenciamento de segurança para o ecossistema Hadoop com ampla integração com uma variedade de componentes.
      Ao integrar-se com o Atlas, permite que administradores de segurança definam políticas orientadas por metadados, visando uma governança eficaz.
      É um Consumer de eventos de alteração de metadados notificados pelo Atlas.

*Arquitetura Apache Atlas*

Recursos do Apache Atlas

  • Base de conhecimento : Aproveita os metadados existentes. Suporta a troca de metadados com outros componentes, aplicativos de terceiros ou ferramentas de governança.

  • Auditoria centralizada: Armazenamento indexado e "pesquisável" a partir de repositório histórico de todos os eventos de governança, incluindo acessos, concessões, negações, eventos operacionais relacionados à proveniência de dados e métricas.

  • Engine de política: Política de conformidade em tempo de execução com base em esquemas de classificação de dados, atributos e funções.

  • Interface RESTful (em conformidade com os critérios REST): Suporte à aplicativos de terceiros por meio de APIs REST.

  • Linhagem :

    • UI intuitiva para visualizar linhagens de dados, à medida em que se movem pelos processos.

    • APIs REST para trabalhar com tipos e instâncias.

  • Integração com Ranger: Integração com Apache Ranger habilitando autorização/mascaramento de dados no acesso ao dado, baseado em classificações associadas com entidades. Pode ser usada para implementar políticas de segurança baseadas em classificação dinâmica e em papéis.

  • Alta disponibilidade e Tolerância a falhas: O Apache Atlas usa e interage com uma variedade de sistemas para prover gerenciamento de metadados e linhagem de dados para administradores de dados. Estas dependências devem ser configuradas adequadamente, para que seja possível alcançar um alto grau de disponibilidade. A comunidade descreve este suporte em detalhes aqui.

  • Propagação da Classificação: Apache atlas habilita classificações para entidades serem associadas automaticamente com outras entidades relacionadas. Isto é muito útil quando lidamos com cenários onde um dataset deriva seu dado a partir de outros datasets.

  • Metadados de Negócio: O typesystem do Atlas permite a definição de um modelo e a criação de entidades para objetos de metadados que se deseja gerenciar. O modelo captura atributos técnicos como nome, descrição, data de criação, número de réplicas, etc. Isto é muito útil para expandir atributos técnicos com atributos adicionais da captura de detalhes do negócio para auxiliar na organização, busca, gerenciamento de entidades de metadados.

  • Segurança: Os seguintes recursos de segurança estão disponiveis para auxiliar na segurança da Plataforma:

    • Suporte a SSL one-way(autenticação do servidor) e two-way(autenticação do cliente e servidor).

    • Autenticação de serviços: A Plataforma, ao iniciar, é associada a uma identidade autenticada. Por default, em um ambiente não assegurado, esta identidade á a mesma que o usuário autenticado no S.O. para iniciar o servidor. No entanto, em um Cluster seguro, que utiliza Kerberos, é uma pratica recomendada configurar um Keytab e Principal para que a Plataforma seja autenticada no KDC. Com isso, o serviço interagirá com outros serviços de Cluster seguros.

    • Autenticação baseada em SPNEGO: Os acessos HTTP à Plataforma Atlas podem ser protegidos ativando o suporte SPNEGO da plataforma. Existem atualmente dois mecanismos suportados:

      • simples: a autenticação é realizada por meio de um nome de usuário fornecido.

      • Kerberos: a identidade autenticada KDC do cliente é aproveitada para autenticar no servidor.

  • Índice de Reparo: Em casos raros, durante a criação da entidade, os índices correspondentes não são criados no Solr. Como o Atlas depende muito do Solr, isto resultaria na entidade não retornada por uma pesquisa (a pesquisa avançada não é afetada). O Atlas Index Repair Utility para JanusGraph permite a restauração de todos os índices.

  • Tipo de Entidade Atlas Server: O tipo de entidade AtlasServer é um tipo especial de entidade:

    • Criada durante operações de Export ou Import

    • Possui páginas de propriedades especiais que mostram auditorias detalhadas para operações de importação de exportação.

    • Entidades são vinculadas a ela, usando a nova opção dentro do atributo de entidade SoftReference.

  • Atributos replicados: Por meio dos atributos do tipo de entidade Referenciável replicatedFrom e replicatedTo é possível saber como entidades chegaram à instância do Apache Atlas, se foram criadas por ingestão de gancho ou importadas de outra instância.

  • SoftReference: A estratégia de persistência do atributo é determinada baseada em seu tipo. A opção do atributo isSoftReference definida como true faz com que um tipo de atributo não-primitivo receba o tratamento de atributo primitivo.

  • Políticas de acesso Ranger-Atlas

    • Controles de acesso baseados em classificação: Uma entidade de dados pode ser marcada como metadados relacionada à conformidade ou determinada taxonomia e usada para atribuir permissões a um usuário ou grupo.

    • Política de acesso baseada em expiração de dados: Datas de expiração para negar acesso automaticamente aos dados marcados após a data indicada.

    • Políticas de acesso específicas do local: Acesso a um usuário enquanto estiver em determinado local, mas não em outro, embora se trate do mesmo usuário.

    • Proibição de combinações de conjuntos de dados: Restrição baseado em conjuntos de dados (como por exemplo, para evitar que sejam combinados) .

Linguagem do Apache Atlas

Apache Atlas foi desenvolvimento predominantemente em Java. Possui componentes de Dashboard em JavaScript.

Linguagens do Atlas

Fonte(s):