Рефераты. Перенос Базы Данных на WEB-сервер p> Оригинальная версия SQL – это интерпретируемый язык, предназначенный для выполнения операций над базами данных. Язык SQL был создан в начале 70- х как интерфейс для взаимодействия с базами данных, основанными на новой для того времени реляционной теории. Реальные приложения обычно написаны на других языках, генерирующих код на языке SQL и передающих их в СУБД в виде текста в формате ASCII. Нужно отметить также, что практически все реальные реляционные (и не только реляционные) системы помимо реализации стандарта
ANSI SQL, известного сейчас в последней редакции под именем SQL2 (или SQL-
92), включают в себя дополнительные расширения, например, поддержка архитектуры клиент-сервер или средства разработки приложений.

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

Microsoft SQL Server 7.0 входит в состав семейства Microsoft
BackOffice, объединяющего пять серверных приложений, разработанных для совместного функционирования в качестве интегрированной системы. Она позволяет пользователям повысить производительность процесса принятия решений средствами систем, базирующихся на архитектуре клиент-сервер. Кроме того, Microsoft SQL Server 7.0 завершает линию средств разработки, включающих Microsoft Access, Visual FoxPro®, Visual Basic и Visual C++™.

Расширенные возможности масштабирования и высокая производительность.

Особое внимание, которое было уделено повышению производительности
СУБД, позволило повысить скорость выполнения некоторых операций почти на
400% на многопроцессорных компьютерах. Это достигается активным использованием многопроцеcсорной архитектуры компьютера и многопоточной архитектуры операционной системы. Среди операций, выполняющихся параллельно, можно назвать сканирование таблиц, загрузку, создание/восстановление страховочной копии. Все это позволяет обеспечить высокопроизводительную работу с большими и очень большими базами данных.

Поддержка очень больших баз данных и съемных носителей.

Для версии 4.21а очень большой считалась база данных размером 10-15 Гб
(хотя некоторые организации, например, Sprint, работали с базами данных размером 60 Гб и более). Высокоскоростная параллельная обработка делает возможной поддержку работы с базами данных размером 100 Гб и более на соответствующим образом конфигурированных системах. Не только процесс создания страховочных копий выполняется быстрее, но и такие операции, как проверка целостности базы данных (выполняется командой DBCC), сильно выигрывают от использования параллельного сканирования и увеличенных блоков ввода/вывода. Возможность сохранения в страховочной копии (восстановления из копии) индивидуальных таблиц позволяет сократить время, необходимое на сохранение (восстановление) отдельных таблиц базы данных. Поддержка распространения баз данных на съемных носителях (таких как CD-ROM) позволяет выпускать различного рода справочники или информационные материалы. Интересно отметить, что гибкость SQL Server проявляется и при работе с очень маленькими объемами информации. Так, для того чтобы базу данных можно было сохранить на дискете, ее минимальный размер снижен до 1
Мб.

Расширение возможностей языка и программного доступа.

Существующая версия SQL Server снабжена мощным языком программирования
-Transact-SQL, позволяющим создавать сложную логику триггеров и хранимых процедур. В новой версии язык значительно расширен, теперь он соответствует стандарту ANSI-92, и программисты получили новые возможности (такие как новые, соответствующие ANSI-стандарту, типы данных и соответствующая стандарту ANSI поддержка декларативной целостности данных). Помимо перечисленных возможностей, программист может воспользоваться генератором, автоматически создающим уникальные значения для ключевых полей таблицы, возможностью передавать идентификаторы и данные типа TEXT и IMAGE как параметры хранимым процедурам и многое другое. Использование хранимых процедур, которые запускаются автоматически при каждом старте SQL Server, позволяет создавать системы, способные выполнять различного рода задания без участия администратора. Наиболее же интересным нововведением являются скроллируемые, двунаправленные курсоры. Курсоры SQL Server поддерживают все режимы, определенные расширенными требованиями ANSI, а также и ODBC семантику; они совместимы с существующими курсорами, поддерживаемыми API в
DB-Library.

Производительность и масштабируемость.

Microsoft SQL Server 7.0 имеет параллельную архитектуру, интенсивно использующую много поточность операционной системы для обеспечения высокой производительности и масштабируемости на многопроцессорных системах. Все управление задачами SQL Server организовано вытесняющим для повышения надежности и изолирования возможных сбоев. За счет динамического распределения нагрузки на процессоры SQL Server достигает автоматической балансировки загрузки всех ЦП компьютера. Microsoft называет это
"симметричной архитектурой сервера".

Преимущества симметричной архитектуры.
Симметричная архитектура Microsoft SQL Server предоставляет следующие преимущества:

- снижает сложность системы.

SQL Server не дублирует службы операционной системы (такие как диспетчирование, распределение памяти, управление очередями), что делает архитектуру системы более эффективной и стабильной;

- повышает производительность .

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

- адаптируется к росту нагрузки.

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

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

7.0 .

У SQL Server 7.0 Microsoft еще более расширила возможности параллельной обработки симметричной архитектуры сервера. За счет параллельного выполнения широкого диапазона внутренних функций СУБД с использованием множественных потоков операционной системы при работе на много процессорных системах резко возрастает производительность и масштабируемость многих операций (таких как определенные типы запросов, сканирование таблиц, создание индексов, создание/восстановление страховочных копий, проверка целостности базы данных и т.д.).

Параллельное сканирование и асинхронное опережающее чтение.

Параллельное сканирование и асинхронное опережающее чтение повышает на
40 - 400% скорость выполнения некоторых типов запросов и других операций над базой данных в многопроцессорных системах. Повышение производительности достигается за счет использования 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 файлы.

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.