Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_morkovskaya_1-13.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
71.8 Кб
Скачать
  1. Архитектуры доступа к данным. Модель баз данных «клиент/сервер». Многоуровневая архитектура. Архитектура, ориентированная на службы.

Прежде всего, SQL Server является сервером баз данных.С технической точки зрения термин «клиент-сервер» связан с двумя взаимодействующими процессами: клиентский процесс запрашивает у серверного некую службу, которая, в свою очередь, обрабатывает запрос клиента. Клиентский и серверный процессы могут быть запущены на разных компьютерах или на одном. Примеры реализации моде­ли "клиент/сервер" -файловые серверы, сер­веры печати и поставщики служб Интернета (провайдеры) . В базах данных архитектуры "клиент/сервер" сервер баз данных обслуживает за­просы к базе от клиентского процесса.

В базах данных с архитектурой "клиент/сервер" клиент подготавливает запрос на языке SQL (небольшое текстовое сообщение) и отсылает его на сервер баз данных, который читает и обрабатывает его. В сервере поддерживается система безопасности, индексиру­ются хранящиеся материалы, заносятся и обрабатываются данные, выполняются серверные программы, и выполняется доставка результатов запросов клиенту.

Вся работа с базой данных выполняется на сервере. Если клиент запрашивает какой-либо набор данных, он подготавливается на сервере, и его копия доставляется клиенту. Реальные данные и индексы никогда не покидают пределы сервера. Когда клиент запрашивает выпол­нение операции вставки, обновления или удаления, сервер получает этот запрос и сам обра­батывает его.

Преимущества клиент-серверной модели.

  • Повышена достоверность данных

  • Ограничения целостности данных и бизнес-правила могут поддерживаться на уровне сервера

  • Повышена безопасность данных, поскольку база данных хранит их в пределах одного сервера.

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

  • В значительной мере сокращаются сетевые потоки.

  • Снижение сетевых потоков в системах "клиент/сервер" приводит к тому, что прило­жения хорошо работают даже в распределенной среде и даже при наличии медленных соединений.

Сервер баз данных отвечает за следующее:

  • обработка запросов на извлечение и модификацию данных;

  • интенсивная обработка данных;

  • поддержание всех правил и ограничений базы данных;

  • поддержание безопасности базы данных.

Клиентский процесс отвечает за следующее:

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

  • обеспечение интерфейса пользователя всевозможными инструментами, данными и от­четами;

  • отправку запросов серверу.

Часто в клиент-серверных приложениях баз данных, кроме клиентского и серверного, за­действованы дополнительные процессы. Для обслуживания подключений и реализации бизнес-логики часто используются процессы среднего уровня.

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

Если доступно больше одного сервера, то объект общего подключения облегчает пере­ключение пользователей между серверами А и Б, если первый внезапно окажется недоступ­ным. Объект подключения становится единственной точкой, которая способна автоматически выявить такую ситуацию и переключиться на второй сервер.

Архитектура, ориентированная на службы (SOA), является альтернативой клиент-серверной архитектуре.SOA использует стандартные вызовы HTTP и XML, позволяя мно­жеству систем взаимодействовать с одной, используя один и тот же интерфейс.

Данные проходят несколько уровней, и при этом выполняется их преобразование. Интерфейс конечного пользо­вателя, использующий SOA, будет испытывать недостаток производительности по сравнению с прямым подключением в архитектуре "клиент/сервер" с использованием библиотеки ADO.NET.

Web-службы SOA больше подходят в качестве вто­ричного метода доступа к данным для облегчения взаимодействия с другими особо крупными системами.

  1. Службы sql- Server. Реляционное ядро. Transact-sql. Visual Studio и clr.

SQL Server—это набор служб и компонентов, связанных с базами данных, которые могут совместно использоваться для построения мощных решений для конечного пользователя. Реляционное ядро SQL Server (ядро базы данных) является сердцем SQL Server. Это процесс, поддерживающий всю реляционную работу базы данных. SQL — декларативный язык, т.е. он описывает ядру базы данных запрос, который тот должен выполнить. Именно он заставляет работать этот механизм.

SQL Server поддерживает установку до пятидесяти экземпляров реляционного ядра на одном физическом сервере..

В реляционном ядре существует несколько ключевых процессов и компонентов, в том числе следующие:

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

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

  • Lazy Writer. Записывает страницы данных, которые были изменены в памяти, в файл данных.

  • Монитор ресурсов. Оптимизирует кэш планов запросов в соот­ветствии с нагрузкой на память и избирательно удаляет из него старые планы.

  • Диспетчер блокировок. Динамически управляет множеством блоки­ровок, выполняя балансировку количества затребованных блокировок с их размерами.

  • содержит собственный уровень ОС, называемый SQLOS, который управляет всеми внутренними ресурсами.

Язык Transact-SQL(T-SQL) — диа­лект SQL, распознаваемый SQL Server. Ядро SQL Server понимает только этот язык.

Пакеты хранимых команд T-SQL могут выполняться на сервере как хранимые про­цедуры.

Команды SQL и T-SQL можно разбить на три категории.

  • Язык манипулирования данными (DML). Включает в себя популярные инструкции SQL select, insert, update и delete.

  • Язык определения данных (DDL). Содержит инструк­ции, создающие и модифицирующие таблицы данных, ограничения и прочие объекты базы данных.

  • Язык управления данными (DCL). Содержит инструкции управления системой безопасности, такие как grant, revoke и deny.

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

Достаточно важно то, что в SQLOS поддерживается CLR. Это значит, что SQL Server управляет ресурсами CLR. СУБД может разрешить проблемы CLR, завершить выполнение и перезапустить процедуру CLR.

По умолчанию общий интерпретатор языков CLR в SQL Server 2005 отключен. Но при желании его можно специально включить с помощью утилиты Surface Area Configuration Tool или команды T-SQL set. Когда интерпретатор включен, состояние любой сборки или способность доступа к программам вне SQL Server будет тщательно контролироваться.

  1. Службы SQL- Server. Брокер служб. Служба репликаций. Полнотекстовый поиск. Служба уведомлений. Объекты управления сервером (SMO). SQLServerAgent. Координатор распределенных транзакций. SQLMail.

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

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

  • Брокер служб может буферизовать большие объемы вызовов Web-служб HTTP или хранимых процедур. Вызовы Web-служб помещаются в очередь, и хранимые процедуры могут быть вызваны несколькими экземплярами SQL Server.

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

SQL Server содер­жит команды DDL, управляющие брокером служб; есть команды T-SQL, помещающие дан­ные в очередь и извлекающие их из нее. Брокер служб основательно протестирован и спроектирован специ­ально для систем с исключительно большой нагрузкой.

Служба репликаций SQL Server может перемещать транзакции в одностороннем направлении, а также объединять обновления из многих мест с помощью топологии издателя, распространителя и подписчика.

Полнотекстовый поиск индексирует каждое из слов в столбце.Когда полнотекстовый поиск был разработан для столбцов, запросы SQL Server получили возможность использовать при поиске полнотекстовые индексы и быстро находить в строках отдельные слова.

Служба уведомлений может быть запрограммирована для отправки сообщений при возникновении определенных событий с данными.

Server Management Objects (SMO)— это набор объектов, который открывает функции конфигурирования и управления SQL Server для программирования с помощью кода .NET. Объекты SMO не предназначены для разработки приложений баз данных — они используют­ся производителями при разработке инструментария SQL Server, такого как утилита Mana­gement Studio, сторонние интерфейсы управления или утилиты резервного копирования. SMO использует пространство имен Microsoft.SQLServer.SMO.

SQL Server Agent представляет собой дополнительный процесс, который выполняет зада­ния SQL и обслуживает прочие автоматизированные задачи.

Координатор распределенных транзакций (DTC) представляет собой процесс, поддерживающий двухфазные подтверждения для транзакций, которые охватывают несколько серверов. Если приложение регулярно использует распределенные транзакции, то лучше сконфигурировать DTC для автоматического запуска при загрузке опе­рационной системы.

Компонент SQL Mail позволяет серверу отправлять электронные сообщения на внешний почтовый ящик по протоколу SMTP. Почтовые сообщения могут генерироваться множеством источников в SQL Server, в том числе кодом T-SQL, заданиями, предупреждениями, службой интеграции и планами обслуживания.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]