Visão geral das configurações do Azure Databricks
Azure Databricks é uma plataforma baseada em nuvem que combina os melhores recursos de engenharia de dados e ciência de dados. Ele permite que você crie, gerencie e analise pipelines de dados usando Apache Spark, uma estrutura de código aberto rápida e escalável para processamento de big data. Azure O Databricks também fornece um espaço de trabalho colaborativo para cientistas e engenheiros de dados trabalharem juntos em Aprendizado de Máquina e projetos de inteligência artificial.
Se você trabalha no setor público ou governamental, esta documentação de arquitetura de referência fornece orientação opinativa para usar o Azure Databricks com uma implantação de Sovereign Landing Zone ou Azure Landing Zone com iniciativas de política de base de soberania aplicadas.
A documentação do produto Azure Databricks oferece informações abrangentes sobre vários artigos. Este documento complementa a documentação fornecendo recomendações selecionadas sobre os principais conceitos e opções para configurar um ambiente Azure Databricks.
Principais recursos do Azure Databricks
Azure O Databricks tem um rico conjunto de recursos, mas para esta arquitetura de referência, nos concentramos em seus elementos de infraestrutura. Azure O Databricks oferece:
Cadernos interativos: use cadernos para escrever código em Python, Scala, SQL ou R e visualize os resultados com tabelas e gráficos. Compartilhe e comente os notebooks com os membros da equipe e integre-os com ferramentas populares como GitHub e Azure DevOps.
Opções de computação: Azure O Databricks fornece várias opções de computação para dar suporte a cargas de trabalho de engenharia de dados, ciência de dados e análise de dados. Essas opções incluem computação sem servidor escalável e sob demanda para notebooks e trabalhos, computação provisionada para análises gerais e trabalhos automatizados, e warehouses SQL para execução de comandos SQL. Os pools de instâncias oferecem instâncias ociosas e prontas para uso para reduzir os tempos de inicialização e dimensionamento automático, aumentando a eficiência em diferentes cenários de processamento de dados.
Integração de dados: Conecte-se facilmente a várias fontes e destinos de dados, como Azure Blob Storage, Azure Data Lake Storage, Azure SQL Database, Azure Synapse Analytics, Azure Cosmos DB e muito mais. Use o Delta Lake, uma solução de data lake confiável e de alto desempenho que oferece suporte a transações ACID e aplicação de esquemas.
Aprendizado de Máquina: Crie, treine e implante modelos Aprendizado de Máquina usando estruturas populares como TensorFlow, PyTorch, Scikit-learn e XGBoost. Use o MLflow, uma plataforma de código aberto para gerenciar o ciclo de vida do Aprendizado de Máquina, para rastrear experimentos, registrar métricas e implantar modelos.
Segurança empresarial: acesse e processe seus dados com segurança, com recursos como controle de acesso baseado em função, criptografia, auditoria e conformidade. Integre Azure Databricks com Microsoft Entra ID, Azure Key Vault e Azure Private vincular para proteção de identidade e dados.
Governança e compartilhamento de dados: O Unity Catalog simplifica o compartilhamento de dados dentro das organizações e protege as análises na nuvem, fornecendo uma versão gerenciada do Delta Sharing para compartilhamento externo e um modelo unificado de governança de dados para os dados lakehouse.
Arquitetura de Databricks de alto nível
Azure O Databricks opera a partir de um plano de controle e um plano de computação. A arquitetura de referência recomenda opções de configuração em cada um desses planos de controle. O diagrama a seguir descreve a arquitetura geral do Azure Databricks.
Plano de controle
O plano de controle é o camada do Azure Databricks que gerencia o ciclo de vida de clusters e trabalhos, além da autenticação e autorização de usuários e acesso a dados. O plano de controle inclui os serviços de backend gerenciados pelo Azure Databricks na sua conta do Azure Databricks. O aplicativo web está no plano de controle.
O plano de controle é executado em uma assinatura Azure de propriedade da Azure Databricks e se comunica com os planos de computação clássicos e sem servidor por meio de APIs seguras. O plano de controle também fornece a interface web e APIs REST para os usuários interagirem com os Azure Databricks.
Plano de computação
O plano de computação é onde seus dados são processados. There são dois tipos de planos de computação: sem servidor e clássico. O plano de computação sem servidor oferece recursos instantâneos e elásticos, enquanto o plano de computação clássico depende de infraestrutura pré-provisionada.
Plano de computação sem servidor
A computação sem servidor é ideal para consultas ad hoc, notebooks e cargas de trabalho de curta duração. Por exemplo, você pode usar computação sem servidor para executar comandos SQL em notebooks ou executar tarefas leves. No plano de computação sem servidor, os recursos são executados em uma computação camada dentro da conta Azure do Databricks.
Azure O Databricks cria um plano de computação sem servidor na mesma região Azure que o plano de computação clássico do seu espaço de trabalho. Ela opera um pool de servidores, localizados na conta da Databricks, executando contêineres Kubernetes que podem ser atribuídos a um usuário em segundos. Para mais informações, consulte Anunciando o Databricks Serverless SQL: plataforma instantânea, gerenciada, segura e pronta para produção para cargas de trabalho SQL - The Databricks Blog.
A plataforma de computação expande rapidamente o cluster com mais servidores quando os usuários executam relatórios ou consultas simultaneamente para lidar com a carga simultânea. O Databricks gerencia toda a configuração do servidor e executa automaticamente os patches e atualizações conforme necessário. A computação sem servidor é cobrada por uso (por exemplo, por execução de consulta ou execução de tarefa).
Cada servidor executa uma configuração segura e todo o processamento é protegido por três camadas de isolamento: o contêiner Kubernetes que hospeda o tempo de execução, a VM que hospeda o contêiner e a rede virtual para o espaço de trabalho. Cada camada é isolado em um espaço de trabalho, sem compartilhamento ou tráfego entre redes permitido.
Os contêineres usam configurações reforçadas, as VMs são desligadas e não reutilizadas, e o tráfego de rede é restrito aos nós no mesmo cluster. Toda a computação é efêmera, dedicada exclusivamente àquela carga de trabalho e apagada com segurança após a conclusão da carga de trabalho.
Todo o tráfego entre você, o plano de controle, o plano de computação e os serviços de nuvem é roteado pela rede global do Azure, não pela internet pública. O plano de computação sem servidor para armazéns sem servidor SQL não usa a conectividade privada vincular de back-end configurável pelo cliente. O plano de controle Azure do Databricks se conecta ao plano de computação sem servidor com mTLS com acesso IP permitido apenas para o endereço IP do plano de controle.
Todo o armazenamento anexado é protegido pela criptografia AES-256 padrão do setor e todo o tráfego entre o usuário, o plano de controle, o plano de computação e os serviços de nuvem é criptografado com pelo menos TLS 1.2. Os warehouses SQL sem servidor não usam chaves gerenciadas pelo cliente para discos gerenciados.
As cargas de trabalho não têm privilégios ou credenciais para sistemas fora do escopo dessa carga de trabalho e o acesso aos dados é feito por meio de tokens de curta duração (uma hora). Esses tokens são passados com segurança para cada carga de trabalho específica.
Em junho de 2024, o Azure Confidential Computing não era mais compatível com computação sem servidor, mas sua carga de trabalho era protegida por várias camadas de isolamento, conforme mostrado no diagrama de isolamento de computação sem servidor Azure.
Para mais informações, consulte Implante suas cargas de trabalho com segurança em computação sem servidor.
Plano de computação clássico
O plano de computação clássico é adequado para trabalhos de longa duração, cargas de trabalho de produção e necessidades consistentes de recursos. Por exemplo, você pode usar computação provisionada para pipelines ETL, treinamento Aprendizado de Máquina e tarefas engenharia de dados.
Um plano de computação clássico tem isolamento natural porque é executado em sua própria assinatura Azure. Novos recursos de computação são criados e configurados dentro da rede virtual de cada espaço de trabalho na sua assinatura Azure. Os recursos de computação permanecem constantes até serem explicitamente modificados e são cobrados com base no tipo e na duração da instância. Os clusters podem usar chaves gerenciadas pelo cliente para discos gerenciados e instâncias spot são suportadas.
Azure Os administradores do Databricks podem usar políticas de cluster para controlar muitos aspectos dos clusters, incluindo tipos de instância disponíveis, versões do Databricks e tamanhos de instâncias.
A injeção de rede virtual do Databricks é um recurso que permite implantar Azure recursos do plano de computação clássico do Databricks em sua própria rede virtual. Este recurso ajuda você a conectar o Azure Databricks a outros serviços Azure de maneira mais segura usando pontos de extremidade de serviço ou pontos de extremidade privados. Você também pode usar o peering de rede virtual para parear a rede virtual que seu espaço de trabalho Azure Databricks está executando com outra rede virtual Azure.