Поделиться через


Сравнение параметров для хранения больших двоичных объектов (SQL Server)

Рассматриваются и сравниваются параметры, доступные для хранения файлов и документов в SQL Server.

Хранение файлов в базе данных — преимущества и ожидания

Большая часть корпоративных данных является по своей природе неструктурированной и обычно хранится в виде файлов и документов в файловой системе. Большая часть этих данных производится, управляется и используется приложениями, осуществляющими доступ к файлам через API-интерфейсы Windows. Обычно компании хранят эти данные в файловой системе, а метаданные для них — в реляционной базе данных.

Интеграция неструктурированных данных в реляционную базу данных дает большие преимущества. К таким преимуществам относятся следующие.

  • Возможности интегрированного хранения и управления данными, например резервное копирование.

  • Интегрированные службы, такие как полнотекстовый поиск и семантический поиск в данных и метаданных.

  • Простота администрирования и управления политиками для неструктурированных данных.

Однако в большинстве случаев нет смысла хранить такие неструктурированные данные в реляционных базах данных. До сих пор не было возможности запускать существующие приложения Windows поверх реляционных систем. Переписывать работающие приложения (Microsoft Word, Adobe Reader и т. д.) для обеспечения возможности работать поверх API-интерфейсов реляционной базы данных непрактично. Этим приложениям просто нужно, чтобы данные были доступны через API-интерфейсы Windows. Иными словами, имеются следующие ожидания.

  • Приложения Windows не поддерживают транзакции в базах данных и не требуют их.

  • Приложения Windows требуют совместимости с API-интерфейсами файловой системы для данных из файлов и каталогов.

FILESTREAM

SQL Server уже имеет функцию FILESTREAM, которая обеспечивает эффективное хранение, управление и потоковую передачу неструктурированных данных, хранящихся в файловой системе в виде файлов. Тем не менее для решения FILESTREAM требуется дополнительное программирование, оно не удовлетворяет требованиям полной совместимости с приложениями Windows, описанным выше.

Таблицы FileTable

Функция FileTable основана на существующих возможностях FILESTREAM, что позволяет корпоративным клиентам хранить неструктурированные файловые данные и иерархии каталогов в базе данных SQL Server, устраняя требования к нетранзакционному доступу и совместимости приложений Windows для файловых данных.

Сравнение FILESTREAM и таблиц FileTable

Компонент Файловый сервер и решение для базы данных Решение FILESTREAM Решение FileTable
Одно решение для задач управления нет Да Да
Один набор служб: поиск, отчеты, запросы и т. д. нет Да Да
Интегрированная модель безопасности нет Да Да
Обновление на месте для данных FILESTREAM Да Нет Да
Иерархия каталогов и файлов сохраняется в базе данных нет Нет Да
Совместимость с приложениями Windows Да Нет Да
Реляционный доступ к атрибутам файлов нет Нет Да

Сравнение FILESTREAM и удаленного хранилища больших двоичных объектов (RBS)

Сравнение этих двух средств см. в статье в блоге группы RBS: SQL Server Remote BLOB Store and FILESTREAM feature comparison.

Дополнительные сведения

FILESTREAM (SQL Server)
Таблицы FileTable (SQL Server)
Удаленное хранилище больших двоичных объектов (SQL Server)