Тема 7.3.1 Інструментальні засоби для роботи з розподіленими і віддаленими базами даних.




КОНТРОЛЬНІ ПИТАННЯ:

д/з скласти опорний конспект згідно списку та номеру самостійної роботи.

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

dbExpress

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

 

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

Восстановление базы данных Borland InterBase происходит автоматически без вмешательства администратора БД. Транзакции, которые не успели завершиться на момент сбоя, будут полностью отменены, и БД останется в целостном состоянии. Недостатком является отсутствие "частичного" архивирования, т.е. если в результате сбоя был поврежден носитель данных, восстановить удастся только БД в ее последнем полном архивировании. Это компенсируется скоростью выполнения backup, его выполнением "на ходу", а также скоростью восстановления данных.

Delphi не имеет своего формата таблиц БД, однако несмотря на это. обеспечивает мощную поддержку многих СУБД, как локальных (например, DBase и Paradox), так и промышленных (например, Sybase и InterBase). K средствам Delphi, предназначенным для работы с БД, относятся следующие:

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

2. Компоненты, предназначенные для создания приложений, осуществляющих операции с БД

Базы данных могут быть не только локальными или файл-серверными, но и клиент-серверными. При использовании архитектуры клиент-сервер, сами базы данных находятся на ПК, который выполняет роль сервера. При этом сервером называют не только сам компьютер, но и программу, которая обеспечивает работу с базами данных: позволяет подключаться к ним зарегистрированным пользователям, следит за целостностью и непротиворечивостью данных, имеет удобные средства для архивации и восстановления баз данных. В архитектуре клиент-сервер вся работа с данными распределяется между сервером, поставляемым независимыми разработчиками, и клиентским приложением, которое разрабатывается программистом для того или иного предприятия.:


Рис. 14.1. Организация архитектуры клиент-сервер

На рисунке вы можете видеть, что сервер InterBase (или аналогичный) располагается на отдельном компьютере, вместе с самими данными. При этом не используется никаких открытых ресурсов (дисков, папок или файлов), обмен данными происходит только по специально выделенному порту.

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

Работа клиент-серверной БД выглядит совершенно иначе. Компьютер, "выделенный под сервер", не только выполняет все необходимые работы по обслуживанию БД, он еще и обрабатывает запросы от клиентских ПК, и пересылает им не всю таблицу или связанные таблицы, а лишь те сведения, которые были запрошены. В результате многократно снижается нагрузка на сеть, а безопасность работы увеличивается: в файл-серверных БД очень сложно реализовать непротиворечивость данных, если несколько клиентов обращаются к одной записи. Клиент-серверная архитектура же пользуется транзакциями - пакетом запросов, который последовательно производит изменения БД и либо принимается, если все изменения записи подтверждены, либо отвергается, если хоть один запрос завершился неуспешно. Мощным можно оставить лишь один компьютер - сервер. Пользовательские же ПК могут быть неприхотливыми и недорогими. Таким образом, происходит разделение всей работы с базой данных на две части: обслуживание БД, и обслуживание клиентов. Первая часть возлагается на SQL-сервер, вторая - на клиентскую программу.

На рынке имеется немало SQL-серверов самых разных разработчиков. Клиентское приложение, работающее с серверным процессом, может выполнять различные действия с базой данных:

  • Поиск в БД по заданному условию.
  • Сравнение, сортировка и вывод данных в виде таблиц.
  • Редактирование данных (изменение, добавление и удаление).
  • Создание новой базы данных и ее структуры.
  • Выполнение программного кода на стороне сервера.
  • Обмен сообщениями с другими клиентами, которые в данный момент также подключены к серверу.

InterBase

InterBase представляет собой полнофункциональный SQL-сервер. Сервер баз данных - это программа или служба, которая выполняется на сетевом компьютере (сервере), где физически расположена сама база данных InterBase - очень надежный сервер БД, при этом он не требователен к ресурсам ПК, благодаря чему является одним из самых популярных SQL-серверов на рынке программного обеспечения. Благодаря тому, что InterBase обеспечивает автоматическое восстановление и готовность к работе после сбоев системы, он используется во многих военных проектах США. Во многом из-за этого InterBase так поздно появился на нашем рынке.

InterBase выгодно отличается от многих других серверов следующими качествами:

  • Высокая производительность и надежность при минимальных требованиях к ПК.
  • Поддержка стандарта SQL-92, что позволяет обеспечить переносимость программ.
  • Относительно низкая стоимость продукта (с Delphi поставляется сервер InterBase с бесплатной лицензией на 5 клиентов, этого достаточно для разработки БД и приложения, но обычно недостаточно для развертывания сервера в организации).
  • Простота управления и поддержки сервера. InterBase имеет простой и удобный механизм администрирования БД, не требующий специальных знаний.

Если же у вас установлена Windows NT, 2000 или XP, то загрузите Панель управления (Пуск -> Настройки -> Панель управления). Среди прочих имеющихся служб вы увидите и InterBase Manager:


Рис. 14.4. Панель управления в Windows XP SP-2

Щелкните дважды по этой службе, чтобы открыть ее.


Рис. 14.5. Окно службы InterBase Manager

В группе Startup Mode этого окна вы можете выбрать одну из радиокнопок: Automatic (Сервер запускается автоматически) и Manual (Сервер запускается вручную). Если вы установили InterBase на ПК, который действительно будет сервером, то лучше оставить включенной кнопку Automatic. Но если же это ваш рабочий ПК, на котором вы лишь разрабатываете приложение, используя локальный сервер, то запускать его лучше вручную. Дело в том, что запущенный сервер пусть немного, но отнимает оперативную память. Кроме того, сервер постоянно "прослушивает" свой порт, по которому к нему может обращаться клиентское приложение, что также незначительно снижает производительность ПК. Данные между компьютерами передаются "пакетами", которые в служебной части содержат и номер порта. Порт - это целое число, которое используется при приеме и передаче данных для идентификации процесса (программы), которая этими данными обменивается. Например, протокол HTTP использует порт 80. Сервер InterBase использует порт 3050. (Все установленные порты описаны в файле SERVICES, расположенном в одном из папок Windows. Для Windows XP это адрес C:\WINDOWS\SYSTEM32\DRIVERS\ETC).

Ниже расположен раздел Root Directory (корневая папка сервера). В этом разделе указан адрес, по которому была произведена установка InterBase.

Еще ниже расположен раздел Status. Если сервер находится в рабочем состоянии, то зеленым цветом выводится Running (выполняется), а кнопка справа имеет название Stop (остановить). Если же сервер не работает, то красным цветом выводится надпись Stopped (остановлено), а кнопка справа содержит надпись Start (запустить). Вы можете безбоязненно попробовать нажимать на эту кнопку, запуская или останавливая сервер. "Галочка" Run the InterBase server as a service on Windows NT (Загружать сервер InterBase как службу Windows NT) позволяет вам указать способ загрузки сервера: как службу Windows (при отмеченном состоянии) или как простое приложение. Рекомендуется запускать сервер, как службу.

В самом низу расположен раздел Properties (Свойства), где вы можете посмотреть или изменить текущие свойства сервера или служебной программы InterBase Guardian.

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


Рис. 14.11. Недоступность локального сервера (локальный сервер уже зарегистрирован)

Если вам нужно зарегистрировать локальный сервер заново, то предыдущую регистрацию следует вначале удалить. Для этого нужно щелкнуть правой кнопкой по строке "Local Server" (рис. 14.7) и отключить его командой "Logout", а затем удалить регистрацию командой "Un-Register". После этих действий вы вновь получите возможность зарегистрировать новый локальный сервер.

Удаленных же серверов может быть множество.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: