Partilhar via


Comparar opções de armazenamento de Blobs (SQL Server)

Discute e compara as opções disponíveis para armazenar arquivos e documentos no SQL Server.

Armazenando arquivos no banco de dados - benefícios e expectativas

Um grande percentual de dados corporativos é não estruturado por natureza, e é normalmente armazenado como arquivos e documentos em sistemas de arquivos. A maioria desses dados é produzida, gerenciada e consumida por aplicativos que acessam os arquivos por meio de APIs do Windows. As empresas geralmente mantêm esses dados no sistema de arquivos, enquanto armazenam os metadados relacionados dos arquivos em um banco de dados relacional.

A integração de dados não estruturados no banco de dados relacional oferece benefícios significativos. Esses benefícios incluem o seguinte:

  • Recursos de armazenamento integrado e gerenciamento de dados, inclusive backup.

  • Serviços integrados, como pesquisa de texto completo e pesquisa semântica em dados e metadados.

  • Facilidade de administração e gerenciamento de políticas nos dados não estruturados.

Basicamente, contudo, não tem sido conveniente armazenar dados não estruturados em um banco de dados relacional. Antes não era possível executar aplicativos existentes baseados no Windows sobre sistemas relacionais. Não é prático reescrever aplicativos estabelecidos (como Microsoft Word ou Adobe Reader) para executar APIs de banco de dados relacional. Esses aplicativos simplesmente esperam que os dados estejam acessíveis por meio de APIs do Windows. Em outras palavras, as expectativas incluem o seguinte:

  • Aplicativos do Windows não estão cientes das transações de banco de dados e não as requerem.

  • Aplicativos do Windows requerem compatibilidade com APIs do sistema de arquivos para dados de arquivos e diretórios.

FILESTREAM

SQL Server já tem o recurso FILESTREAM, que fornece armazenamento, gerenciamento e streaming eficientes de dados não estruturados armazenados como arquivos no sistema de arquivos. Entretanto, uma solução FILESTREAM exige a programação personalizada e não satisfaz o requisito de compatibilidade total de aplicativos do Windows, descrito anteriormente.

Tabelas de arquivos

O recurso FileTable baseia-se em recursos FILESTREAM existentes para permitir que os clientes corporativos armazenem dados de arquivo não estruturados e hierarquias de diretório em um banco de dados SQL Server, atendendo aos requisitos de acesso não transacional e compatibilidade de aplicativos do Windows para dados baseados em arquivo.

Comparando FILESTREAM e FileTable

Recurso Servidor de arquivos e solução de banco de dados Solução FILESTREAM Solução FileTable
Armazenamento único para tarefas de gerenciamento Não Sim Sim
Conjunto único de serviços: pesquisa, relatório, consulta etc. Não Sim Sim
Modelo de segurança integrada Não Sim Sim
Atualizações in loco de dados FILESTREAM Sim Não Sim
Hierarquia de arquivos e diretórios mantida no banco de dados Não Não Sim
Compatibilidade de aplicativos do Windows Sim Não Sim
Acesso relacional a atributos de arquivo Não Não Sim

Comparando FILESTREAM e repositório de BLOB remoto (RBS)

Para uma comparação destes dois recursos, consulte esta postagem de blog da equipe de RBS: Comparação de recursos do Repositório de BLOB Remoto do SQL Server e do FILESTREAM.

Mais informações

FILESTREAM (SQL Server)
FileTables (SQL Server)
RBS (Armazenamento de Blob Remoto) [SQL Server]