Do que se trata o artigo

Armazenamento de dados se refere às facilidades que o SQL Server disponibiliza para manter arquivos em sua base de dados. Veremos como isso se comporta na mais nova versão do SQL Server. Além disso, este artigo também apresenta como estes arquivos podem ser consultados e manipulados utilizando as facilidades providas pelo uso conjunto de filetable, full text search e semantic search.

Em que situação o tema útil

As facilidades disponibilizadas pelo SQL Server 2012 apresentadas neste artigo são úteis para todos que tenham interesse em trabalhar com a manipulação de documentos utilizando como interface o próprio SQL Server. Além disso, a discussão deste tema também é útil para entendermos como realizar consultas textuais envolvendo tabelas e documentos texto como arquivos .doc e apresentações .ppt.

Resumo DevMan

Neste artigo vamos abordar a nova plataforma de dados da Microsoft: o SQL Server 2012. Neste sentido, conheceremos dois novos conceitos: FileTable e Semantic Search. Em complemento, conheceremos também as novidades do full text search e como este se integra ao filetable e semantic search.

Segundo estudos da Microsoft, cerca de 80% dos dados atualmente presentes no mundo da informação não estão armazenados em bases de dados, ou seja, a grande maioria destes dados não está estruturada. Entende-se que dados não estruturados são aqueles dados provenientes de documentos no formato doc, docx, ppt, pdf, avi, XML, HTML, entre uma infinidade de outros formatos. Até o presente momento, a forma com que as aplicações de computador podiam interagir, estudar e até mesmo trabalhar com os dados estava limitada aos dados que estivessem armazenados em tabelas de banco de dados. Trabalhar com dados não estruturados não era uma maneira confiável, escalável e segura impossibilitando então uma maior variedade de fontes de dados.

Neste artigo vamos abordar a nova plataforma de dados da Microsoft: o SQL Server 2012. Esta plataforma introduz dois novos conceitos, conhecidos como FileTable e Semantic Search. Neste artigo também iremos mostrar como a funcionalidade conhecida como Full Text Search está totalmente preparada e voltada para trabalhar com este novo conjunto de funcionalidades presentes no SQL Server 2012. Vamos apresentar também um pouco dos conceitos dos novos recursos e, por fim, mostrar como habilitar e preparar seu ambiente para suportar esse novo conjunto de funcionalidades.

FileTable

A nova funcionalidade FileTable traz consigo o suporte do Windows Namespace e compatibilidade com aplicações Windows que acessam dados presentes em tabelas do banco de dados no SQL Server. O FileTable permite que uma aplicação desenvolvida possa usufruir não apenas dos dados armazenados em tabelas de banco de dados, mas, além disso, possa realizar a integração com documentos nos mais diversos formatos como docx, txt, ppt e xlsx, entre outros. As aplicações agora podem melhorar o trabalho com esses tipos de dados utilizando componentes integrados do SQL Server 2012 como o FileTable, Full Text Search e Semantic Search sobre dados não estruturados e ainda sobre os metadados desses documentos que poderíamos exemplificar com propriedades como: Titulo, Autor e Tags.

Em outras palavras, o FileTable permite que você faça o armazenamento de arquivos e documentos em tabelas especiais do SQL Server e, ao mesmo tempo, deixando esses mesmos documentos também acessíveis através do Windows. Desta forma, não é necessária nenhuma modificação nas aplicações cliente para suportar esse novo conceito de armazenamento.

Como demonstra a Figura 1, o FileTable cria diretórios compartilhados no sistema operacional para que você possa então armazenar seus documentos.

Figura 1. Arquitetura do FileTable.

Benefícios da funcionalidade FileTable

Abaixo vamos listar os principais benefícios de se utilizar a funcionalidade FileTable. Iremos exemplificar quais os avanços mais nítidos:

Acesso não transacional e atualizações do conteúdo in-place: Quando falamos em acesso não transacional estamos nos referindo à possibilidade de não somente o Windows através dos diretórios acessarem o arquivo, como também o próprio SQL Server realizar o acesso ao mesmo tempo. Sabemos que o SQL Server aplica o conceito de bloqueios quando um dado está sendo modificado de forma que nenhuma outra transação pode acessar o dado. Entretanto, isso não acontece na tabela do tipo FileTable, o acesso através de consultas do SQL Server e através do sistema operacional pode ser realizada ao mesmo tempo. Outro fato interessante é a possibilidade de realizarmos a mudança de propriedades de um documento como titulo e conteúdo a qualquer momento, sem a necessidade de parar o serviço do SQL Server ou qualquer outra operação;

Estrutura hierárquica de diretórios e arquivos: Assim como temos os documentos estruturados por pastas e diretórios como se possuíssemos uma estrutura de FileServer dentro da empresa, no FileTable podemos trabalhar da mesma maneira. O SQL Server 2012 se encarrega de mapear e mostrar toda a estrutura criada;

Armazenamento dos atributos dos arquivos, como data de criação e data de modificação: Com o FileTable, os arquivos que estão mapeados não perdem suas características e metadados, ou seja, é possível que atributos como data de criação ou data da última modificação do arquivo estejam disponíveis para serem consultadas posteriormente.

Pré-requisitos para habilitar o FileTable

Para que seja possível utilizar essa nova funcionalidade, é necessário que alguns recursos sejam habilitados primeiramente, a saber:

Habilitar o Filestream no serviço do Database Egine: A tecnologia Filestream permite que as aplicações que utilizam o SQL Server como repositório de dados possam também armazenar dados não estruturados como documentos e imagens diretamente no sistema de arquivos do sistema operacional como arquivos. Isso sem a necessidade de deixar esses dados, que em sua maioria das vezes são pesados, dentro de tabelas do banco de dados;

Fornecer o Filestream Filegroup em nível de base de dados: Filegroups são coleções de arquivos utilizadas para ajudar no gerenciamento e colocação destes arquivos em disco. Esse recurso contribui para que tarefas como backup e restore sejam realizadas de maneiras mais otimizadas. Sendo assim, é necessário que se possua um Filegroup que seja apenas destinado a trabalhar com dados do tipo Filestream;

Habilitar acesso não transacional na base de dados: Como mencionado anteriormente, para o FileTable funcionar corretamente é necessário que o acesso não transacional seja habilitado. O acesso não transacional permite que não somente Windows, mas também o SQL Server possa fazer o acesso aos documentos armazenados.

Habilitando a funcionalidade FileTable

A seguir vamos demonstrar como habilitar este novo recurso. Primeiramente você deve possuir acesso ao SQL Server Configuration Manager, que é o responsável por gerenciar todos os serviços de Banco de Dados. Para visualizá-lo, você deverá acessar: ...

Quer ler esse conteúdo completo? Tenha acesso completo