Сравнение параметров для хранения больших двоичных объектов (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)