Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 17 BLOB +UDF.doc
Скачиваний:
0
Добавлен:
28.01.2020
Размер:
407.04 Кб
Скачать

Лекция №17 Работа с blob и функции, определенные пользователем. Транзакции. Механизм транзакций

1 Работа с BLOB 1

4

Хранение неструктурированных данных в SQL Server 2012 5

FileTable интеграция БД и файл-сервера 5

Хранить файлы в SQL Server ничуть не хуже, чем в файловой системе 5

На самом деле даже лучше, потому что при этом штатными средствами на раз обеспечивается 5

Транзакционность операций 5

Резервное копирование 5

Сортировка и поиск по атрибутам, полнотекстовый и семантический по содержанию 5

Безопасность, разделение доступа, администрирование на основе политик, ... 5

FileTable – это способ засветить контент, хранящийся в SQLной базе \\<SQL-Server-Machine>\<InstanceShare>\<Database_Directory>\<FileTable_Directory>\ 5

Для Windows-приложения FileTable выглядит как обычная папка общего доступа, и оно может читать оттуда файлы, копировать туда новые, создавать директории и т.д. 5

SQL Server перехватывает эти вызовы и интерпретирует их внутри себя в привычные реляционные операции 5

Также над FileTable доступны прямые запросы, обновления и прочие операции средствами T-SQL 5

Администрирование FileTable 5

5

6

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

6

2 Функции, определенные пользователем (UDF) 6

3 Транзакции. Механизм транзакций 7

1 Работа с blob

Сложности в работе с неструктурированными данными

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

Сложности, связанные с сохранением неструктурированных данных

  • затраты на хранение неструктурированных данных, включающие не только затраты на оборудование, но и накладные расходы на управление;

  • физические хранилища для неструктурированных данных, такие как файловые серверы и устройства хранения данных, подключаемые к сети (NAS);

  • управление политиками хранения и архивации;

  • объединение файлов, содержащих неструктурированные данные, и согласованных с ними реляционными данными, а также обеспечение транзакционной согласованности между источниками структурированных и неструктурированных данных;

  • минимизация накладных расходов на управление, связанных с обслуживанием как структурированных, так и неструктурированных данных;

  • быстродействие и масштабируемость;

  • защита неструктурированных данных и обеспечение согласованной безопасности также для связанных с ними реляционных данных;

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

Сложности, связанные с использованием неструктурированных данных

  • на этапе разработки приложения, в котором используются структурированные и неструктурированные данные, могут возникнуть проблемы, связанные с составлением кода, отвечающего за создание, загрузку, обновление и удаление неструктурированных данных, а также с обеспечением транзакционной согласованности между источниками реляционных и неструктурированных данных;

  • индексирование неструктурированных данных и поиск;

  • извлечение метаданных, доступных в явной форме (например, из полей форм или из атрибутов файлов), и предоставление этих данных пользователю;

  • преобразование содержимого документа в форматы, пригодные для выполнения поиска и составления запросов (например, преобразование звуковых файлов в текстовые, в которых затем может быть выполнен поиск по запросу базы данных или поиск при помощи обработчика полнотекстового поиска).

Сложности, связанные с неструктурированными данными, отражают некоторые общие проблемы, с которыми сталкиваются специалисты, начинающие разработку решений для цифрового содержимого, такие как:

    • управление несколькими платформами, когда приходится иметь дело как с реляционными, так и с нереляционными данными, приводит к неоправданной сложности;

    • раздельные хранилища данных приводят к повышению сложности разработки приложений, а также к проблемам с управлением развертыванием;

    • разработчики и администраторы баз данных должны принимать меры для компенсации недостающих служб, поскольку их набор может быть разным для данных различных типов.

SQL Server ставит своей целью разрешение этих проблем при помощи:

    • снижения затрат на руководство различными типами данных;

    • упрощения разработки приложений, использующих реляционные и нереляционные данные;

    • расширения возможностей, которые доступны на данный момент только для реляционных данных, чтобы они были доступны и для неструктурированных данных.

Хранение неструктурированных данных в SQL Server 2005 и ниже

Приложения, основанные на работе с реляционными и нереляционными данными, в основном используют одну из трех архитектур:

    • реляционные данные находятся в базе данных, а данные в формате больших нереляционных двоичных объектов (BLOB) находятся в файловых системах или на файловых серверах;

    • реляционные данные находятся в базе данных, а нереляционные данные – в хранилище, предназначенном для BLOB-данных;

    • реляционные и нереляционные данные находятся в базе данных.

BLOB-данные в SQL Server

В SQL Server 2005 был использован новый тип данных varbinary(max), который позволяет сохранять большой объем двоичных данных размером до 2 147 483 647 байт в столбце или переменной SQL Server. При использовании модификатора max можно задать значение параметра таблицы large value types out of row, который позволяет контролировать, в каком виде происходит физическое хранение данных. Если значение этого параметра задано как ON, все значения сохраняются на отдельных связанных страницах, а 16-байтовый корневой указатель на них хранится в странице данных для строки. Если значение параметра равно OFF, то значения, размер которых меньше 8000 байт, встраиваются в страницу данных для строки, а значения большего размера сохраняются на отдельных связанных страницах.