Перенос Базы Данных на WEB-сервер
ов и других операций
над базой данных в многопроцессорных системах. Повышение производительности
достигается за счет использования SQL Server 7.0 множественных потоков
операционной системы и алгоритмов определения следующего блока данных,
необходимых для вывода в кэш. Эта операция типична для длительного запроса
с вычислениями или операции создания отчета. Подобная технология
обеспечивает резкое повышение производительности для любой операции,
требующей просмотра таблиц, например, SELECT, UPDATE и DELETE с
необходимостью поиска, CREATE INDEX, DBCC, DUMP/LOAD и т.п.
Параллельная загрузка.
При работе с новой версией SQL Server можно запускать несколько
параллельно работающих копий BCP или SQL Enterprise Manager и выполнять
параллельные перекрывающиеся операции загрузки данных в SQL Server.
Подобные возможности оказываются особенно полезными при необходимости
массивного копирования данных в ограниченные сроки.
И конечно же безопасность:
- Улучшенная интеграция с безопасностью NT ;
- Аутентификация средствами NT (как текущий пользователь - без пароля, как
другой - login+pwd) ;
- Mixed (возможна аутентификация средствами SQL Srv) ;
- Полная поддержка пользователей, групп и ролей ;
- Роли могут быть приписаны пользователям и группам NT, а также
пользователям Sphinx ;
- Роли могут быть вложены ;
- Прикладные роли для 3-уровневых систем ;
- Позволяют назначать права при доступе через приложение, а не isql ;
- Гибкая гранулярность прав и системных ролей ;
- Предопределенные роли ServerAdmin, SecurityOfficer, ... ;
- Поддержка делегирования в NT 4.0 ;
- На 2-м сервере не как удаленный пользователь, а под тем же именем ;
- Простое и мощное администрирование.
Потому было принято решение установить сервером базы данных –
Microsoft SQL Server 7.0.
2. Выбор методов доступа к базе данных.
Далее необходимо сравнить способы реализации доступа к базе данных.
Схематически можно представить взаимодействие базы данных и WEB-сервера
так:
[pic]
3.2.1 CGI – Common Gateway Interface.
Первым способом стали приложения Common Gateway Interface (CGI),
поскольку спецификация CGI позволяет браузеру вызвать тот или иной
исполняемый модуль или скрипт на Web-сервере, который мог обратиться с
запросом к базе данных, построить в HTML-кодах страницу результатов и
передать ее обратно Web-серверу, который же, в свою очередь, отсылал
результаты браузеру. CGI-приложения могут содержать вызовы других
программных (написанных, например, на С++) или командных (.bat, .cmd)
файлов. С помощью CGI-cкриптов, а точнее на языке PERL (Practical
Extraction and Reporting Language), построено немало интерактивных Web-
приложений. К сожалению, каждый такой скрипт исполняется как иной, нежели
Web-сервер, процесс, что быстро "съедает" ресурсы даже достаточно
"навороченной" по сегодняшним меркам машины, особенно при большом
количестве заходов на сервер.
3.2.2 PHP - Personal Home Page Tools.
Модуль PHP начал жизнь как простая небольшая CGI оболочка, написанная
на Perl. Чтобы избавиться от значительных непроизводительных затрат из-за
необходимости запуска Perl при каждом обращении к серверу в стандартном
обращении CGI. Первоначально использовался для маленьких Internet-страниц.
Позднее был встроен инструмент для включения SQL в WEB-страницы. Это была
CGI-оболочка, которая анализирует запросы SQL и облегчает создание форм и
таблиц, основанных на этих запросах.
PHP/FI версии 2.0 - полная перезапись из этих двух пакетов,
объединенных в одиночную программу. Это теперь развилось по сути в простой
язык программирования, внедренный внутрь HTML файлов. PHP/FI сегодня
используется больше для создания целых WEB серверов, чем для малых домашних
страниц. Модуль устраняет потребность в многочисленных малых cgi программах
на Perl, позволяя поместить простые скрипт-программы непосредственно в ваши
HTML файлы. Пакет также упрощает управление большими WEB серверами, помещая
все компоненты WEB страницы в одиночном файле HTML. Встроенная поддержка
различных баз данных делает тривиальной разработку WEB страниц с доступом к
базам данных. Многие находят, что иметь дело с внедренным в html-документы
языком намного проще, чем создавать отдельные HTML и CGI файлы.
3.2.3 ISAPI – приложения.
3.2.3.1 dBWeb.
Помимо исполнения CGI-скриптов, Microsoft Internet Information Server
(MS IIS) предоставляет разработчикам возможность создания с помощью
соответствующего API (ISAPI) приложений в виде dll, запуск которых
происходит в ответ на команду или выбор линка на Web-странице. Каждое такое
приложение выполняется в адресном пространстве Web-сервера, что,
естественно, повышает скорость работы и существенно экономит машинные
ресурсы. В зависимости от сложности сайта и приложений, dll могут быть
предзагружены одновременно с запуском сервера, либо
подгружаться/выгружаться из памяти по мере необходимости. К наиболее
известным средствам разработки приложений на основе ISAPI относятся
входящий в состав MS IIS Internet Database Connector (IDC), а также
свободно распространяемый dbWeb.
Microsoft dbWeb представляет собой шлюз между 32-битными ODBC-
ресурсами, в качестве которых могут выступать, например, Microsoft SQL
Server, Microsoft Access, Microsoft Visual FoxPro, Oracle и т.д., и MS IIS.
dbWeb предусматривает создание схемы, содержащей описание данных и
связанных с ними Web-страниц. Он поддерживает исполнение запросов в
реальном режиме времени на основе "pull"-модели публикации, позволяя тем
самым создавать активные Web-страницы.
[pic]
Рис. 1 Структура dbWeb.
Microsoft dbWeb структурно состоит из двух основных компонент: dbWeb
Service и dbWeb Administrator. dbWeb Service является типичным ISAPI-
приложением, которое обрабатывает пользовательские запросы, направляемые
посетителем страницы через браузер, и управляет соединениями между
браузером, ODBC-ресурсом и IIS. К функциям dbWeb Administrator относится
создание HTML-страниц, содержащих результаты выполнения запросов на основе
уже упоминавшихся схем, с помощью которых осуществляется управление
публикуемыми данными. Схемы определяют сам запрос и структуру страниц. При
этом не требуется знания HTML или ISAPI, так как в состав dbWeb
Administrator входит интерактивный мастер-построитель схем (Schema Wizard),
который в традиционной для любой программы-мастера манере позволяет задать
поля поиска по методу Query-by-Example (QBE), выбрать поля для отображения
в таблице страницы результатов и определить переходы из списка записей в
отдельные страницы, содержащие развернутую информацию по текущей записи.
Настройкой соответствующих свойств можно разрешать или запрещать операции
вставки, удаления и редактирования. Для проверки прав пользователя
используется система безопасности той СУБД, к которой происходит доступ.
dbWeb имеет в своем составе широкий спектр шаблонов страниц, которые при
необходимости могут быть легко откорректированы и настроены разработчиком
для более полного соответствия его задачам. Таким образом, dbWeb не
является конечным пользовательским приложением. Скорее его можно
охарактеризовать как достаточно легкий в использовании инструментарий
разработки, который, как всякий мастер, не поддерживает языка
программирования. Тем не менее, эта программа успешно справляется с
автоматизацией большинства рутинных операций по организации соединений и
публикации данных из БД и покрывает, по разным оценкам, порядка 40-60%
потребностей бизнеса среднестатистической фирмы при организации доступа к
своим источникам данных через Internet.
3.2.3.2 IDC.
IDC является другим примером достаточно давно и успешно используемого
ISAPI-приложения. Он входит в состав MS IIS. С помощью вызовов функций ODBC
API IDC обеспечивает прямую связь между полями HTML-формы и соответствующим
ODBC-достижимым источником данных, например, базой данных MS SQL Server,
без необходимости написания замысловатых CGI-скриптов. Схема работы IDC:
[pic]
Рис.2 Схема работы IDC.
Для доступа к данным и публикации на Web IDC использует файлы двух
типов - .idc и .htx. Файл с расширением idc содержит всю необходимую
информацию о соединении с источником данных, текст запроса, а также ссылку
на соответствующий htx-файл. Файл с расширением htx служит шаблоном
страницы, на которой будут опубликованы данные из базы, а также элементы
оформления в виде статического текста, графики, видео и т.п. MS IIS
распознает расширение .idc как вызов httpodbc.dll, которая считывает http-
заголовки из управляющего блока ISAPI для определения параметров запроса.
Httpodbc.dll читает и разбирает idc-файл, указанный в URL. Имя источника,
имя пользователя, пароль и пр. используются для подключения к
соответствующему ресурсу ODBC, после чего httpodbc передает на выполнение
SQL-запрос и получает результаты. Результаты используются для наполнения
заготовки в виде htx-файла, после чего полученный
| | скачать работу |
Перенос Базы Данных на WEB-сервер |