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.
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.
Arquitetura do Apache Atlas
A arquitetura do Apache Atlas envolve os seguintes componentes:
-
Core:
-
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.
-
-
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. -
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.
-
-
Integração:
Existem dois métodos para gerenciar metadados no Atlas:
-
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.
-
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:
-
HBase
-
Hive
-
Sqoop
-
Storm
-
Kafka
-
Falcon
-
-
-
Aplicações: Os metadados gerenciados pelo Apache Atlas são consumidos por uma variedade de aplicações.
-
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. -
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.
-
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) .
-