Usar o SQL Server 2022 como um hub de dados consultando arquivos e backup/restauração para provedores de armazenamento de objetos
- 10 minutos
O SQL Server 2022 fornece recursos de virtualização de dados para acessar dados armazenados em formatos como tabelas delta e parquet em fontes como provedores de armazenamento de objetos compatíveis com S3, Azure Data Lake Storage e Armazenamento de Blobs do Azure. Além disso, o SQL Server 2022 aprimora os recursos de restauração e backup remoto dando suporte a provedores de armazenamento de objetos compatíveis com S3.
Virtualização de dados no SQL Server
O Polybase, introduzido com o SQL Server 2016, dá suporte ao acesso a dados fora do SQL Server usando instruções T-SQL (Transact-SQL), como OPENROWSET e CREATE EXTERNAL TABLE. Esse conceito é conhecido como virtualização de dados, pois os usuários podem acessar dados fora do SQL Server sem mover os dados para o SQL Server. O SQL Server 2019 adicionou suporte para virtualização de dados usando drivers ODBC. Esse acesso a dados usa um software chamado serviços Polybase. O SQL Server 2022 adiciona suporte no mecanismo de banco de dados usando interfaces de API REST para acessar dados em provedores de armazenamento de objetos compatíveis com S3, Azure Data Lake Storage e Armazenamento de Blobs do Azure.
A figura a seguir mostra toda a extensão do suporte à virtualização de dados no SQL Server 2022.
Virtualização de dados com conectores da API REST
A virtualização de dados do SQL Server 2022 agora inclui acesso a novos conectores de fonte de dados usando interfaces da API REST incorporadas ao mecanismo do SQL Server. Esses novos conectores de fonte de dados geralmente são usados para dar suporte a um grande conjunto de arquivos para criar um data lake. O SQL Server agora pode ser usado como um hub de dados para consultar arquivos em um data lake sem mover os dados.
Conectores de API REST
Os novos conectores a seguir têm suporte usando a API REST:
Armazenamento do Blobs do Azure
Usando o conector de fonte de dados
abs
, você pode acessar arquivos armazenados em contêineres do Armazenamento de Blobs do Azure. O Armazenamento de Blobs do Azure é escalonável, altamente disponível, redundante, econômico com armazenamento em camadas, protegido e otimizado para data lakes. Para obter mais informações, confira virtualização de dados com o Armazenamento de Blobs do Azure.Armazenamento do Azure Data Lake
Usando o conector de fonte de dados
adls
, você pode acessar o arquivo armazenado no ADLS (Azure Data Lake Storage). O ADLS é criado com base no Armazenamento de Blobs do Azure e fornece semântica do sistema de arquivos, segurança em nível de arquivo e escala. Todos esses recursos são criados com base no Armazenamento de Blobs do Azure fornecendo baixo custo, acesso em camadas, alta segurança, alta disponibilidade e durabilidade. Para obter mais informações, confira virtualização de dados com o Azure Data Lake Storage.Provedores de armazenamento de objetos compatíveis com S3
Usando o conector de fonte de dados s3, você pode acessar o arquivo armazenado no armazenamento de objetos compatível com S3. O S3 tornou-se um protocolo de armazenamento de objetos popular e tem suporte de muitos provedores, tanto na nuvem quanto localmente. O armazenamento de objetos S3 oferece escala, menor custo, distribuição geográfica e um transporte de dados confiável. Para obter mais informações, confira virtualização de dados com provedores de armazenamento de objetos compatíveis com S3.
Usando o T-SQL para virtualização de dados
O T-SQL fornece as seguintes instruções para dar suporte à virtualização de dados com conectores da API REST:
OPENROWSET
A instrução T-SQL OPENROWSET permite que você acesse qualquer conector de dados da API REST ad-hoc, em que você fornece informações sobre como se conectar às informações específicas de fonte de dados, arquivo ou pasta.
CREATE EXTERNAL TABLE
Você pode usar a instrução T-SQL CREATE EXTERNAL TABLE para criar uma tabela virtual que é um mapeamento para arquivos em qualquer conector de dados da API REST. Em seguida, você pode acessar a tabela externa como uma tabela do SQL Server, exceto que os dados são armazenados na fonte de dados remota. Os metadados da tabela externa são armazenados em tabelas do sistema do SQL Server.
CREATE EXTERNAL TABLE AS SELECT
Uma nova funcionalidade no SQL Server 2022 é criar uma tabela externa com base em uma consulta a partir de uma tabela existente do SQL Server (ou outra tabela externa) também conhecida como CREATE EXTERNAL TABLE AS SELECT. O resultado da consulta será uma nova tabela externa e os arquivos serão criados para a fonte de dados remota com base nos resultados da instrução SELECT. Você pode usar esse método para exportar dados do SQL Server para arquivos em uma fonte de dados remota.
Suporte a novo formato de arquivo nativo
O SQL Server permite que você crie um formato de arquivo para definir a estrutura de um arquivo em uma fonte de dados remota. Por exemplo, você usaria formatos de arquivo para definir a estrutura de um arquivo JSON, já que JSON não é um formato de arquivo nativo com suporte. O SQL Server 2022 agora reconhece formatos de arquivo nativos parquet e tabelas delta.
Parquet
Parquet é um formato de arquivo binário de código aberto com o esquema integrado ao arquivo. Os arquivos parquet usam um formato de armazenamento de coluna, o que os torna eficientes para compactação e recuperação. Para obter mais informações e exemplos, confira Virtualizar o arquivo parquet em um armazenamento de objetos compatível com o S3 usando PolyBase.
Tabelas do Delta
Delta lake é uma arquitetura de armazenamento de código aberto usando tabelas delta. Tabelas delta são arquivos baseados em parquet, mas que também oferecem suporte básico a transações e logs. Para obter mais informações sobre como usar tabelas delta com o Azure Data Lake Storage, confira Virtualizar tabela delta com PolyBase.
Backup e restauração com provedores de armazenamento de objetos compatíveis com S3
O SQL Server 2022 estende as instruções T-SQL BACKUP TO URL e RESTORE FROM URL para dar suporte a provedores de armazenamento de objetos compatíveis com S3. A maioria das opções de backup e restauração está disponível usando essa nova funcionalidade. Para obter mais informações, confira Backup em URL do SQL Server para armazenamento de objetos compatível com o S3.
Para obter uma lista de provedores comuns de armazenamento de objetos compatíveis com S3, confira Provedores de armazenamento de objetos compatíveis com S3.