Сравнение параметров для хранения больших двоичных объектов (SQL Server)
Область применения: SQL Server
Обсуждает и сравнивает параметры, доступные для хранения файлов и документов в SQL Server.
Хранение файлов в базе данных — преимущества и ожидания
Большая часть корпоративных данных является по своей природе неструктурированной и обычно хранится в виде файлов и документов в файловой системе. Большая часть этих данных производится, управляется и используется приложениями, осуществляющими доступ к файлам через API-интерфейсы Windows. Обычно компании хранят эти данные в файловой системе, а метаданные для них — в реляционной базе данных.
Интеграция неструктурированных данных в реляционную базу данных дает следующие преимущества:
- Возможности интегрированного хранения и управления данными, например резервное копирование.
- Интегрированные службы, такие как полнотекстовый поиск и семантический поиск в данных и метаданных.
- Простота администрирования и управления политиками для неструктурированных данных.
Однако, как правило, хранить неструктурированные данные в реляционных базах данных было неудобно. Переписывать работающие приложения (Microsoft Word, Adobe Reader и т. д.) для обеспечения взаимодействия через API-интерфейсы реляционной базы данных было непрактично. Этим приложениям нужно, чтобы данные были доступны через API-интерфейсы Windows. Приложения предъявляют указанные ниже требования.
- Приложения Windows не поддерживают транзакции в базах данных и не требуют их.
- Приложения Windows требуют совместимости с API-интерфейсами файловой системы для данных из файлов и каталогов.
В прошлом в SQL Server не были предусмотрены способы хранения неструктурированных данных в реляционных базах данных. Однако в настоящее время такие способы предлагаются.
FILESTREAM
SQL Server уже имеет функцию FILESTREAM. Она обеспечивает эффективное хранение и потоковую передачу неструктурированных данных, хранящихся в виде файлов в файловой системе, а также управление ими. Тем не менее для решения FILESTREAM требуется дополнительное программирование, оно не удовлетворяет требованиям полной совместимости с приложениями Windows, описанным выше.
FileTables
Функция FileTable построена на основе существующих возможностей технологии FILESTREAM. Функция FileTable позволяет корпоративным клиентам хранить неструктурированные данные файлов и иерархии каталогов в базе данных SQL Server. Эта функция обеспечивает доступ к данным без транзакций и совместимость приложений Windows с данными, хранящимися в файлах.
Сравнение FILESTREAM и таблиц FileTable
Функция | Файловый сервер и решение для базы данных | Решение FILESTREAM | Решение FileTable |
---|---|---|---|
Одно решение для задач управления | No | Да | Да |
Один набор служб: поиск, отчеты, запросы и т. д. | No | Да | Да |
Интегрированная модель безопасности | No | Да | Да |
Обновление на месте для данных FILESTREAM | Да | No | Да |
Иерархия каталогов и файлов сохраняется в базе данных | No | No | Да |
Совместимость с приложениями Windows | Да | No | Да |
Реляционный доступ к атрибутам файлов | No | No | Да |
Сравнение FILESTREAM и удаленного хранилища больших двоичных объектов (RBS)
Еще один вариант хранения неструктурированных данных — Удаленное хранилище больших двоичных объектов (RBS). Дополнительные сведения см. в статье Удаленное хранилище больших двоичных объектов (SQL Server).
Дополнительные сведения
FILESTREAM (SQL Server)
FileTables (SQL Server)
Удаленное хранилище больших двоичных объектов (SQL Server)