Базовая архитектура сервера баз данных

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

Серверы баз данных, интерфейс которых основан исключительно на языке SQL, обладают своими преимуществами и своими недостатками.Преимущество - стандартность интерфейса. В пределе, который вряд ли полностью достижим, клиентские части любой SQL-ориентированной СУБД могли бы работать с любым SQL-сервером вне зависимости от того, кто его произвел.

Недостаток - на стороне клиента работает слишком мало программ СУБД. Это нормально, если на стороне клиента используется маломощная рабочая станция. Но если клиентский компьютер обладает достаточной мощностью, то часто возникает желание возложить на него больше функций управления базами данных, разгрузив сервер, который является узким местом всей системы.

Базовая архитектура сервера баз данных

Типичный сервер баз данных отвечает за выполнение функций:

· поддержание логически согласованного набора файлов;

· обеспечение языка манипулирования данными;

· восстановление информации после разного рода сбоев;

· организацию реально параллельной работы нескольких пользователей.

Архитектура 1 к 1

Для каждого запроса, запускается отдельный процесс.

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

ТЕХНОЛОГИЯ «КЛИЕНТ СЕРВЕР»

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

Преимущества

· Делает возможным распределение функций вычислительной системы между несколькими независимыми компьютерами в сети. Это позволяет упростить обслуживание вычислительной системы. В частности, замена, ремонт, модернизация или перемещение сервера не затрагивают клиентов.

· Все данные хранятся на сервере, который защищён гораздо лучше большинства клиентов. На сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа.

· Позволяет объединить различные клиенты. Использовать ресурсы одного сервера часто могут клиенты с разными аппаратными платформами, операционными системами и т. п.

Недостатки

· Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть.

· Поддержка работы данной системы требует отдельного специалиста - системного администратора.

· Высокая стоимость оборудования.

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

Частные случаи многоуровневой архитектуры:

· Трёхуровневая архитектура

Сеть с выделенным сервером- это локальная вычислительная сеть (LAN), в которой сетевые устройства централизованы и управляются одним или несколькими серверами. Индивидуальные рабочие станции или клиенты (такие, как ПК) должны обращаться к ресурсам сети через сервер.

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

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

В случае с WWW клиентами выступают программы Web-браузеры (например, Microsoft Internet Explorer). Серверами являются Web-серверы, обрабатывающие запросы Web-браузеров и высылающие им требуемые Web-страницы.

С термином «Web-сервер» (как и термином «сервер») существует определенная путаница. Во-первых, так называют компьютер, подключенный к сети Интернет и хранящий на своих жестких дисках файлы Web-страниц. Во-вторых, так называется программа, работающая на этом самом компьютере, принимающая от Web-браузеров запросы и выдающая им соответствующие файлы. Но чаще и компьютер, и программу объединяют в единое целое и называют одним словом – Web-сервер.

Когда вы набираете в поле адреса Web-браузера какой-либо интернет-адрес, Web-браузер обращается к соответствующему Web-серверу. Сервер извлекает со своих дисков нужные файлы (сама Web-страница, изображения, внедренные объекты, архивы, исполняемые файлы) и отправляет их Web-браузеру. В результате получите соответствующую Web-страницу.

Основные технологии построения рапределенных систем (СОМ, DCOM, CORBA).

COM- объектная модель компонентов- это технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих компонентов, каждый из которых может использоваться во многих программах одновременно. Стандарт воплощает в себе идеи полиморфизма и инкапсуляцииобъектно-ориентированного программирования. Стандарт COM закрепился в основном на операционных системах семейства Microsoft Windows. В современных версиях Windows COM используется очень широко. На основе COM были реализованы технологии: Microsoft OLE Automation, ActiveX, DCOM, COM+, DirectX, а также XPCOM.

Принципы работы COM

Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор (GUID) и может одновременно использоваться многими программами. Компонент взаимодействует с другими программами через COM-интерфейсы - наборы абстрактных функций и свойств. Каждый COM-компонент должен, как минимум, поддерживать стандартный интерфейс «IUnknown», который предоставляет базовые средства для работы с компонентом. Интерфейс «IUnknown» включает в себя три метода: QueryInterface, AddRef, Release.

Windows API предоставляет базовые функции, позволяющие использовать COM-компоненты. Библиотеки MFC и, особенно, ATL/WTL предоставляют более гибкие и удобные средства для работы с COM. Библиотека ATL от Microsoft до сих пор остаётся самым популярным средством создания COM-компонентов.

"технология COM- компонентная объектная модель. Суть - Программы строятся из компонент, которые состоят из объектов.

DLL -"двоичный исполняемый модуль"

Вызов процедуры, которая располагается внутри "своего" модуля требует знания только имени этой процедуры, а если процедура располагается в DLL, то нужно знать ещё и имя самой библиотеки. Модель COMпозволяет этого "не знать", т.е. вызов объектов COM из своей программы осуществляется без знания того, где они расположены. Достаточно знать имя объекта.