Comparar opções de armazenamento de Blobs (SQL Server)
Aplica-se a: 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 os seguintes benefícios:
- 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.
Geralmente, não tem sido conveniente armazenar dados não estruturados em um banco de dados relacional. Não é prático reescrever aplicativos estabelecidos (como Microsoft Word ou Adobe Reader) para interagir por meio de APIs de banco de dados relacional. Esses aplicativos esperam que os dados estejam acessíveis por meio de APIs do Windows. Os aplicativos têm estas expectativas:
- 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.
Há muitos anos, o SQL Server não oferecia qualquer variedade de maneiras de armazenar dados não estruturados em um banco de dados relacional. No entanto, hoje oferece maneiras de armazenar dados não estruturados.
FILESTREAM
O SQL Server já tem o recurso FILESTREAM. O recurso FILESTREAM fornece armazenamento eficiente, gerenciamento e streaming 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 se baseia nos recursos existentes de FILESTREAM. O recurso FileTable permite que os clientes corporativos armazenem dados de arquivos não estruturados e hierarquias de diretório em um banco de dados SQL Server. O recurso aborda os requisitos de acesso não transacional e compatibilidade de aplicativos do Windows para dados com base 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 | No | Sim |
Compatibilidade de aplicativos do Windows | Sim | Não | Sim |
Acesso relacional a atributos de arquivo | Não | No | Sim |
Comparando FILESTREAM e repositório de BLOB remoto (RBS)
Outra opção para armazenar dados não estruturados envolve um RBS (Remote BLOB Store). Para saber mais, confira RBS (Remote BLOB Store (SQL Server).
Mais informações
FILESTREAM (SQL Server)
FileTables (SQL Server)
RBS (Armazenamento de Blob Remoto) [SQL Server]