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


Сравните варианты хранения BLOB (SQL Server)

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

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

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

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

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

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

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

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

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

  • Для приложений Windows требуется совместимость с API файловой системы для данных файлов и каталогов.

FILESTREAM

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

FileTables

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

Сравнение FILESTREAM и FileTable

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

Сравнение FILESTREAM и удалённого BLOB-хранилища (RBS)

Сравнение этих двух функций см. в этой записи блога из команды RBS: удаленное хранилище BLOB-объектов SQL Server и сравнение функций FILESTREAM.

Дополнительная информация

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