paint-brush
Utilizando tabelas externas para armazenar e consultar dados no MinIO com SQL Server 2022por@minio
8,765 leituras
8,765 leituras

Utilizando tabelas externas para armazenar e consultar dados no MinIO com SQL Server 2022

por MinIONaN2023/07/24
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Com o Microsoft SQL Server 2022, o armazenamento de objetos se torna um cidadão de primeira classe por meio de uma técnica chamada tabelas externas. Existem duas partes. Primeiro, um conector S3. Em segundo lugar, melhorias na estrutura de virtualização de dados Polybase. Com essa adição, as empresas agora podem consultar grandes armazenamentos de objetos com o SQL Server 2022 - onde quer que existam esses armazenamentos de objetos. O novo recurso aborda dois principais desafios do cliente - maneiras de acessar os dados onde eles estão e não ter que aprender novos idiomas. Com o MinIO, os dados podem estar em qualquer lugar - infraestrutura de nuvem pública, nuvens privadas, distribuições Kubernetes, borda.
featured image - Utilizando tabelas externas para armazenar e consultar dados no MinIO com SQL Server 2022
MinIO HackerNoon profile picture
0-item

Dados são uma coisa, insight é outra. Há uma variedade de maneiras de extrair insight das informações - e essa variedade vem com compensações. Se você pensar nisso como uma pirâmide, você tem AI no topo, ML logo abaixo dela, análises avançadas abaixo e SQL como base. Esta é uma imagem simplificada, mas representativa da análise na empresa.



O desafio é que o talento AI/ML é realmente difícil de encontrar. Isso não é necessariamente novidade, mas foi cristalizado em conversas com colegas responsáveis pela execução de análises para algumas das maiores empresas da Fortune 500. Embora IA e ML prometam fornecer alguns dos insights mais profundos sobre os dados, configurar e alavancar esses pipelines de ML requer recursos de ciência de dados altamente sofisticados. Em muitos casos, esses são projetos de longo alcance que levam meses, senão anos, para serem concluídos e podem exigir o retreinamento da equipe existente para aprender esses novos paradigmas de ciência de dados.


Por outro lado, as habilidades de SQL estão em toda a organização e são a língua franca dos dados. É como o mundo fala com bancos de dados. É por isso que 95% das empresas da Fortune 500 executam o SQL Server da Microsoft. Pode não haver uma tecnologia de dados mais onipresente na empresa.


Com o Microsoft SQL Server 2022 , o armazenamento de objetos torna-se um cidadão de primeira classe por meio de uma técnica chamada tabelas externas. Existem duas partes. Primeiro, um conector S3. Em segundo lugar, melhorias na estrutura de virtualização de dados Polybase.


Com essa adição, as empresas agora podem consultar grandes armazenamentos de objetos com o SQL Server 2022 - onde quer que existam esses armazenamentos de objetos. O novo recurso aborda dois principais desafios do cliente - maneiras de acessar os dados onde eles estão e não ter que aprender novos idiomas.


Com o MinIO, os dados podem estar em qualquer lugar - infraestrutura de nuvem pública, nuvens privadas, distribuições Kubernetes, borda.


Vamos cavar um pouco mais fundo.

Acesse dados em qualquer lugar com a combinação Minio e Microsoft SQL Server 2022

O Microsoft SQL Server 2022 possui dois recursos principais que os usuários do MinIO podem aproveitar.

Primeiro, permite que os administradores de banco de dados façam backup e restaurem dados em qualquer ambiente de nuvem usando a API S3. Em segundo lugar, o SQL Server 2022 expande a função de tabelas externas que foi introduzida inicialmente no SQL Server 2016.


Tabelas externas permitem que o usuário execute consultas em dados que não são armazenados diretamente no SQL Server. Isso libera o usuário para ter flexibilidade de arquitetura para executar o SQL Server onde quiser e armazenar seus dados onde e como quiser, mantendo a capacidade de consultar esses dados sem movê-los. A nova funcionalidade de tabelas externas agora permite alcançar todos os formatos de arquivo normalmente suportados, além de armazenamento orientado a objeto Parquet e S3.


Isso aumentará drasticamente a quantidade de dados que podem ser consultados pelo servidor SQL.


Por exemplo, a EnterpriseCo pode estar executando o SQL Server no Azure. Anteriormente, eles moviam dados para o servidor Azure/SQL para fazer suas consultas. Agora, a EnterpriseCo pode acessar esses dados no local, sem precisar mover os dados para qualquer lugar. Isso significa que essas consultas podem ser executadas em conjuntos de dados de tamanho PB.


As escolhas arquitetônicas tornam-se quase infinitas. Execute o SQL Server no local e acesse dados na nuvem. Execute o SQL Server no local e acesse dados na nuvem privada. Execute o SQL Server na nuvem e acesse os dados na borda. Crie um sistema de análise tolerante a falhas com replicação ativa-ativa em várias nuvens usando MinIO e SQL Server. As principais considerações são o desempenho e são determinadas pelas localizações relativas do SQL Server e dos dados.


O truque é otimizar as implantações. Todos os armazenamentos de objetos se beneficiarão do recurso de tabela externa, mas o MinIO se beneficiará desproporcionalmente. O motivo é simples: em um mundo em que os dados corporativos são distribuídos em várias nuvens, a consistência é importante. MinIO pode servir como armazenamento de dados na nuvem pública, nuvem privada e borda. Como a camada de dados consistente, segurança, gerenciamento de acesso, resiliência e gerenciamento do ciclo de vida também são consistentes. O desempenho pode ser consistente ou pode ser escalonado de acordo com as necessidades do negócio - enquanto todo o resto permanece o mesmo.


O mecanismo para fazer isso no SQL Server 2022 é por meio de um recurso de virtualização de dados conhecido como Polybase.


O Polybase permite que um usuário consulte dados usando Transact-SQL diretamente não apenas do SQL Server, mas da maioria das outras instalações de banco de dados (como Oracle, Teradata, MongoDB, etc.) e agora APIs S3. O MinIO fornece a capacidade exclusiva de acessar todos os ambientes de nuvem hiperescalador. A combinação dos dois (SQL Server 2022 e MinIO) permite que uma empresa acesse dados e obtenha insights de silos de dados que, até agora, eram segmentados e difíceis de combinar.


Um recurso importante do PolyBase é a capacidade de permitir que os dados permaneçam em seu local e formato originais. Os dados externos podem ser consultados no local como qualquer outra tabela no SQL Server. Esse cenário minimiza a necessidade de movimentação e replicação de dados. Um dos maiores problemas que a replicação de dados apresenta é a reconciliação, as empresas desperdiçam milhares de horas de trabalho e computam os dados de reconciliação de energia todas as noites.


O SQL Server 2022 permite a replicação contínua de dados de e para a nuvem, permitindo recursos de recuperação de desastres. A combinação com MinIO permite que dados rápidos residam em mecanismos de dados rápidos baseados em NVMe e os classifique para qualquer número de camadas mais lentas. Esses componentes são executados lado a lado para permitir que você leia, grave e processe big data usando bibliotecas Transact-SQL ou Spark, permitindo que você combine e analise facilmente seus dados relacionais de alto valor com big data não relacional de alto volume.


Além disso, o SQL Server 2022 integra-se ao Active Directory e inclui controle de acesso baseado em função para atender às necessidades de segurança e conformidade de uma empresa.

Por que isso é importante

A importância da adição de tabelas externas não pode ser exagerada.


Primeiro, é mais uma evidência de que o armazenamento de objetos se tornou o armazenamento primário quando se trata de infraestrutura de dados. A multidão de SAN/NAS não gosta dessa mensagem, mas a cada semana que passa, outro banco de dados importante ou componente de dados ativa o armazenamento de objetos de uma forma cidadã de primeira classe. Não há muitos redutos e aqueles que estão resistindo parecem bastante nichos hoje em dia.


Em segundo lugar, isso permite que consultas SQL sejam executadas em conjuntos de dados muito maiores do que nunca. Por sua vez, isso gera a possibilidade de gerar mais valor a partir dos dados existentes e novo valor a partir dos dados de cauda longa ou “escuros”. Os repositórios SAN/NAS geralmente atingem um limite em alguns PBs. Imagine executar uma consulta em 10 ou 100 PBs? Isso está na mesa neste momento.


Em terceiro lugar, isso consolida ainda mais a história da desagregação da segunda geração que vimos há alguns anos. A primeira geração é a separação de armazenamento e computação. A segunda, geração paralela, sendo a camada de aplicação analítica (SQL ou Splunk ou Vertica) desagregando a função de consulta da função de armazenamento. Isso está francamente em todos os lugares e é do interesse dos players de consulta, dos players de armazenamento e dos clientes. Isso significa que os clientes criarão as melhores pilhas sob medida para suas necessidades específicas de caso de uso. Ele enfatizará desempenho, resiliência, segurança, nuvem nativa, escalabilidade no lado do armazenamento - o que, por sua vez, exigirá que a solução seja definida por software.


Em quarto lugar, isso atende aos clientes onde eles estão em termos de multinuvem. Os clientes não querem executar o SQL Server 2022 em um só lugar - eles querem executá-lo onde quer que seus dados residam. A adição de tabelas externas (e MinIO como parceiro) atende a essa necessidade. No local. Verificar. Azure. Verificar. Todas as outras nuvens públicas e distribuição do Kubernetes. Verificar.


Este é um divisor de águas para o SQL Server e para o MinIO. Seremos a loja de objetos preferida por todos os motivos descritos acima e isso expandirá nossa já profunda penetração nas contas F500.

Exemplos de casos de uso do cliente

Não podemos entrar em muitos detalhes neste estágio - mas temos vários clientes que aguardam ansiosamente a janela de acesso antecipado para começar a construir em novembro GA data.


Por exemplo, um dos bancos Fortune100 com os quais trabalhamos armazena grandes quantidades de dados comportamentais do cliente em clusters de armazenamento S3. Para executar consultas SQL simples para obter inteligência básica desses dados, eles usaram técnicas no passado para ingerir partes desses dados em determinados bancos de dados e, em seguida, executar consultas neles. Este cliente está se inscrevendo no programa de acesso antecipado da Microsoft para poder executar consultas em seus dados sem a necessidade de replicá-los em novas instâncias de banco de dados. Isso economizará muito tempo e a dor de cabeça da reconciliação de dados com a qual a maioria dos bancos precisa lidar. Além disso, se esse banco decidir empregar técnicas de aprendizado de máquina para gerar insights mais sofisticados a partir desses dados, eles poderão aproveitar as plataformas MLOps que podem ser facilmente dimensionadas em clusters Kubernetes junto com sua implementação original.


Em outro exemplo, temos um grande cliente de varejo que precisa trazer informações de sistemas de pontos de venda distribuídos para um armazenamento de dados centralizado que usa MinIO como plataforma de armazenamento de objetos para todas as atividades noturnas. Os arquivos podem estar em formato parquet ou csv e são transferidos para baldes. No passado, as equipes de análise de negócios precisavam importar esses dados para seus ambientes SQL Server para executar análises em lote nesses dados. No entanto, com a introdução do SQL Server 2022, clientes como este terão a capacidade de executar análises diretamente nos dados armazenados nos depósitos S3 no MinIO. Isso não apenas economizará tempo, mas também economizará as despesas associadas à replicação e reconciliação de dados. Igualmente importante, o varejista (qualquer empresa) poderá aproveitar os pipelines de IA/ML para obter insights mais profundos diretamente desses dados. No caso da Microsoft, o varejista forneceu integração com o Azure Synapse para conduzir pipelines de ML profundos. Outros métodos para conduzir esse nível de insights podem aproveitar TensorFlow, Kubeflow e Pytorch, todos com integração de primeira classe com MinIO.

O que esperar

Com o anúncio de hoje, a janela de acesso antecipado está aberta. Há algumas coisas que não estão presentes nesta versão (recuperação de desastres, por exemplo), mas estarão prontas em breve.


A expectativa é de lançamento geral em novembro, mas estamos incentivando todos os nossos clientes corporativos a começar agora. Isso ajudará no dimensionamento para atender aos requisitos da carga de trabalho específica. Alguns clientes ficarão grandes, outros o manterão nas centenas de TBs. A chave é que configurado corretamente, ambos serão rápidos.

Qual é o próximo

Faremos um webinar com Hugo Queiroz no DevOps.com em 12 de julho. Isso fornecerá uma visão geral da proposta de valor conjunto e uma oportunidade de colocar a mão na massa e ver exatamente como configurar o SQL Server 2022 para gritar em escala com tabelas. As inscrições serão abertas em breve.


Nesse ínterim, não hesite em entrar em contato com [email protected] ou junte-se a nós em nosso canal Slack para qualquer dúvida que possa ter.


Publicado também aqui .