Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ааа божее, все будет круто.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
278.53 Кб
Скачать

38

Дата ФИО Группа

Лекция № 17

Тема: Структура данных и система запросов в различных СУБД

План лекции:

1.Классификация и сравнительные характеристики СУБД(стр.1)

2.Целевые назначения и функции различных СУБД(стр.13).

3.Полная классификация СУБД(стр.16). Правила Кода(стр.34).

4.Запросы В СУБД( интернет). Языки запросов в различных СУБД(стр.26)

5. Основные выводы и расшифровка используемых терминов.

Выполнение:

1.Классификация и сравнительные характеристики СУБД

Все многообразие применяемых СУБД, можно свести к двум основным их классам:

1) персональные

2)многопользовательские.

К первому классу относятся: СУБД, ориентированные для работы на персональном компьютере (dBASE, FoxPro, MS Access и т.п.). Изначально они поддерживали работу с данными только одного пользователя. Вся СУБД такого класса выполняется как единая программа, таблицы базы данных представляются отдельными файлами на диске того же персонального компьютера. С развитием локальных сетей разработчики СУБД этого класса стали приспосабливать их к работе в сетевой среде, в которой потенциально стало возможным организовать доступ к данным с нескольких персональных компьютеров, включенных в локальную сеть. Файлы базы данных при этом размещаются на файловом сервере. На каждом же рабочем месте работает собственная копия программы-СУБД и прикладная программа, и на их выполнение могут оказывать существенное влияние характеристики компьютера этого рабочего места. Таким образом, при наличии в сети N рабочих мест с одними и теми же данными работают N копий программы-СУБД, одними и теми же данными управляют сразу N копий СУБД. Ошибка в выполнении одной из копий не будет замечена другими копиями. При выполнении запросов к базе данных копия СУБД может либо производить поиск данных в удаленных файлах на файловом сервере, либо копировать все файлы, в которых ведется поиск в свою локальную файловую систему. В первом случае возникают проблемы одновременного доступа к данным при их изменении. Данные, над которыми производится изменения, должны быть заблокированы. Средства файлового сервера позволяют выполнять блокировку на уровне файлов, но не на уровне записей, что существенно снижает эффективность параллельной работы с базой данных многих пользователей. Во втором же случае, во-первых, требуется передача по сети больших объемов информации, а во-вторых, получается, что разные рабочие места работают с разными копиями данных и эти копии могут стать неидентичными.

СУБД второго класса изначально создавались для выполнения на больших компьютерах и обеспечения параллельной работы многих пользователей. Такие СУБД, как правило, состоят из ядра, постоянно присутствующего в памяти, (сервера) и большого количества программ-агентов, обслуживающих запросы конечных пользователей и прикладных программ (клиентов). В этом случае и ядро СУБД, и данные находятся на одном и том же компьютере. Одна копия СУБД управляет одной копией данных. Единая управляющая система позволяет эффективно организовать одновременный доступ к данным многих агентов, предотвращая конфликты между ними. Ошибка в работе СУБД локализована и может быть эффективно исправлена самой же СУБД. При работе в условиях сети ядро СУБД выполняет запросы агентов на выборку данных и передает по сети только результаты выборки. Поскольку быстродействие современных дисковых систем обычно выше, чем скорость передачи данных по сети, уменьшение объема передаваемых данных существенно увеличивает общую эффективность работы системы. При этом не накладывается никаких ограничений на масштаб сети, агенты могут быть связаны с ядром СУБД через любую сеть и любые протоколы передачи данных. Многопользовательские СУБД обладают также неоспоримыми преимуществами в таких аспектах, как надежность, безопасность, доступность. Многопользовательские СУБД с самого начала своей истории использовали в качестве интерфейса запросов язык SQL, отсюда произошло одно из их альтернативных названий - SQL-серверы. Хотя в последнее время подмножества SQL становятся доступными и в персональных СУБД, но в эти подмножества не включаются средства обеспечения безопасности и параллельного доступа к данным - те средства, которые персональные СУБД обеспечить просто не могут.

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

  1. максимальное число пользователей одновременно обращающихся к базе;

  2. характеристики клиентского ПО;

  3. аппаратные компоненты сервера;

  4. серверную операционную систему;

  5. уровень квалификации персонала.

На сегодня известно большое число различных серверов баз данных SQL. В качестве вариантов построения системы остановимся более подробнее на следующих четырех ведущих серверных СУБД - Oracle, IBM DB2, Microsoft SQL Server и Informix - и сравним их в работе на каждом из основных этапов функционирования:

  1. конфигурирование системы,

  2. мониторинг,

  3. настройка,

  4. обработка запросов,

  5. разработка серверных и клиентских модулей.

Данный анализ проведем с учетом того, что число клиентских мест составляет от 50 до 500, а управление СУБД должно быть максимально эффективно. Управление системами было возложено на ОС Windows и Linux.

Oracle

Общая характеристика

Oracle занимает лидирующие позиции на рынке СУБД и, что особенно важно, лидирует на

платформах Unix и Windows. В России также обозначилось лидерство Oracle, особенно в области крупномасштабных информационных систем государственных структур. Фактически в нашей стране СУБД Oracle стала стандартом для государственных информационных систем.

Причина широкой распространенности Oracle заключается прежде всего в высоких

эксплуатационных характеристиках СУБД, большом количестве подготовленных отечественных специалистов по Oracle, наличию поддерживающей инфраструктры – учебных центров, широкой сети партнеров Oracle, большому числу технических курсов по Oracle в высших учебных заведениях и т.д. Так, только в Москве имеется более десятка учебных центров, предоставляющих широкий спектр технических курсов практически по всем линиям программных продуктов Oracle. Партнерская сеть по всей стране насчитывает более 160 организаций, что гарантирует поддержку ПО Oracle практически в любой точке страны. На русском языке уже издано достаточно много качественных книг по СУБД Oracle.

Служба технической поддержки Oracle построена на профессиональной основе. В Центре

технической поддержке в Москве работает более 20 сертифицированных технических специалистов,

занятых только поддержкой пользователей Oracle (по телефону, электронной почте и с выездом к заказчику). Служба технической поддержки в России сертифицирована по стандарту ISO 9000. Важным является и то, что наряду с СУБД, компания Oracle поставляет центральный инфраструктурный продукт – Internet Application Server, сервер приложений, функционирующих в средеInternet/Intranet.

Поддержка большинства платформ

С технической точки зрения важно то, что Oracle функционирует практически на всех

существующих компьютерных платформах, в том числе и на больших ЭВМ (OS/390) и на еще

сохраняющих популярность системах Vax VMS, не говоря уже о Windows NT и различных

разновидностях Unix, в точ числе Solaris, HP-UX, AIX, Linux, SCO Unix и т.д.

Другой важной характеристикой является поддержка Oracle всех возможных вариантов архитектур, в том числе симметричных многопроцессорных систем, кластеров, систем с массовым параллелизмом и т.д. Очевидна значимость этих характеристик для систем масштаба корпорации, где эксплуатируется множество компьютеров различных моделей и производителей. В таких условиях фактором успеха является максимально возможная типизация предлагаемых решений, ставящая своей целью существенное снижение стоимости владения программнымобеспечением.Унификация систем управления базами данных – один из наиболее значимых шагов на пути достижения этой цели. Ядром СУБД Oracle является сервер базы данных, который поставляется в одном из четырех вариантов в зависимости от масштаба информационной системы, в рамках которой предполагается его применение. Для систем масштаба крупной организации предлагается продукт Oracle Database Enterprise Edition (корпоративная редакция), для которого имеется целый набор опций, архитектурно

и функционально расширяющих возможности сервера. Именно Oracle Database Enterprise Edition устанавливается на кластерах (с опцией Parellel Server), позволяя создавать системы высокой готовности. Продукт Oracle Database Standard Edition (стандартная редакция) ориентирован на организации среднего масштаба или подразделения в составе крупной организации. Для персонального использования предназначен продукт Oracle Database Personal Edition (персональная редакция).

Выбор СУБД как основы информационной системы организации DB_REPORT/DES/001

Важнейшим преимуществом Oracle перед конкурентами (и, прежде всего, перед SQL Server) является идентичность кода (в оценке Gartner Group - консолидация кода) различных версий сервера баз данных Oracle для всех платформ, гарантирующая идентичность и предсказуемость работы Oracle на всех типах компьютеров, какие бы не входили в ее состав. Все варианты сервера Oracleимеют в своей основе один и тот же исходный программный код и функционально идентичны, за исключением некоторых опций, которые, например, могут быть добавлены к Oracle DatabaseEnterprise Edition и не могут - к Oracle Database Standard Edition. Таким образом, для всех платформ существует единая СУБД в различных версиях, которая ведет себя одинаково и предоставляет одинаковую функциональность вне зависимости от платформы, на которой она установлена. Разработку серверных продуктов в составе СУБД выполняет единое подразделение корпорацииOracle, изменения вносятся централизовано, после этого подвергаются тщательному тестированию в базовом варианте, а затем переносятся на все платформы, где также детально проверяются. Возможность переноса Oracle обеспечивается специфической структурой исходного программного кода сервера. Приблизительно 80% программного кода Oracle – это программы на языке программирования C, который (с известными ограничениями) является платформо-независимым. Примерно 20% кода, представляющее собой ядро сервера, реализовано на машинно-зависимых языках и эта часть кода, разумеется, переписывается для различных платформ.

Жесткая технологическая схема разработки Oracle, опирающаяся на принципы идентичности

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

Суммируя все сказанное выше, можно утверждать, что СУБД Oracle обладает уникальными

качествами переносимости а также предоставляет открытую платформу для разработки

переносимых приложений клиент/сервер и Internet/Intranet-приложений. Наличие нескольких

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

 

 

Пакет Oracle, наделенный самым развитым набором функций для работы с языком Java и доступа к данным через Интернет, системой оптимизации одновременного доступа. Единственным недостатком данной СУБД является сложность администрирования, однако все затраты на ее внедрение и освоение в последствии окупятся эффективной и надежной работой. В нашей стране на протяжении уже многих лет целым рядом специалистов культивируется негативное отношение к СУБД Oracle, как к дорогой и сложной СУБД. Оба эти тезиса являются спорными. Во-первых, уровень сложности понятие относительное. При использовании СУБД Oracle на платформе NT, она потребует практически тех же усилий, что и при использовании MS SQL Server. В случае же работы на UNIX-платформе, можно с уверенностью отметить, что для профессиональных юниксоидов среда Oracle является простой, понятной и доступной. Что касается дороговизны, то и тут наметились положительные сдвиги. Кроме того, что компания Oracle предлагает ряд различных масштабируемых решений в зависимости от числа обслуживаемых клиентов. Последняя версия Oracle 9i, на сегодняшний день считается самой быстрой СУБД. Среди основных свойств СУБД Oracle следует отметить такие, как:

  1. Высочайшая надежность.

  2. Возможность разбиения крупных баз данных на разделы (large-database partition), что дает возможность эффективно управлять гигантскими гигабайтными базами;

  3. Наличие универсальных средств защиты информации;

  4. Эффективные методы максимального повышения скорости обработки запросов;

  5. Индексация по битовому отображению;

  6. Свободные таблицы (в других СУБД все таблицы заполняются сразу при создании);

  7. Распараллеливание операций в запросе;

  8. Наличие широкого спектра средств разработки, мониторинга и администрирования;

  9. Поддержка известных платформ: Windows, AIX, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, Sun Solaris

  10. Ориентация на интернет технологии.

  11. Поддержка XML в хранимых процедурах, позволяющая разработчикам (традиционных) баз данных непосредственно использовать преимущества языка XML, применяя привычный механизм хранимых процедур

  12. Доступ по протоколу HTTP, поддерживающий отправку SQL-запросов к БД с применением URL-адресов

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

  14. Связанные базы данных OLAP - это, в первую очередь, кубы OLAP, применяемые для реализации новых возможностей анализа данных; они позволяют повысить ценность данных за счет предоставления возможностей анализа OLAP через Web

  15. Доступ к кубам данных по протоколу HTTP, обеспечивающий просмотр и управление многомерными кубами данных в Web и через брандмауэры при помощи встроенного в БД средства поддержки протокола HTTP

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

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

  18. Улучшенные средства отказоустойчивости, упрощающие создание и управление отказоустойчивыми кластерами, переключение между узлами кластера при сбое и восстановление узла кластера, не оказывающее влияния на остальные узлы

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

  20. Поддержка протокола VI SAN (Virtual Interface System Area Network), позволяющая эффективно использовать сети SAN (System Area Network - системная сеть) со встроенным интерфейсом VIConsumer, который позволяет устанавливать прямую связь (в режиме пользователя) с дисковыми устройствами SAN

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

  22. Инструментальные средства, включающие графические средства разработки схем, генерации запросов и кода

Ориентация на интернет технологии - основной девиз современных продуктов Oracle. В этой связи можно отметить пакеты interMedia, обеспечивающее обработку данных в мультимедийных форматах, и Jserver, встроенное средство для работы с языком Java, которое объединяет возможности языка Java с возможностями реляционных баз данных (возможность составлять на языке Javaне только внутренние программы для баз данных (хранимые процедуры и триггеры), но и разрабатывать компоненты Enterprise JavaBeans и даже запустить их на сервере). Компоненты EnterpriseJavaBeans представляют собой базовые модули из которых складываются Интернет-приложения на языке Java.

Фирма Oracle придерживается принципа, что всеми важными функциями необходимо управлять из единого центра, поэтому предлагаемый модуль interMedia предоставляет в распоряжение пользователей самые передовые возможности для работы с мультимедийными объектами:

  1. Очень развитые средства для обработки аудио клипов;

  2. Неподвижных изображений;

  3. Видеофрагментов;

  4. Географических данных (с целым набором функций связанных с определением местонахождения входящих в состав модуля Locator ).

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

Также необходимо отметить, что разработанная фирмой Oracle система оптимизации одновременного доступа (multiversioning concurrency) является одной из важнейших характеристик архитектуры Oracle (подобная функция есть лишь в СУБД InterBase компании InterBase компании Inprise). Данная функция позволяет исключить ситуацию, когда одному пользователю приходится ждать, пока другой завершит изменения в содержимое баз данных (т.е. в Oracle отсутствуют блокировки на чтение). Эта функция позволяет СУБД Oracle выполнять за секунду больше транзакций в расчете на одного пользователя, чем любая другая база данных. По уровню производительности при работе в WEB среде под LINUX Oracle занимает ведущие места и при этом значительно превосходит все другие СУБД по надежности и безопасности.

СУБД Microsoft SQL Server

Важнейшие характеристики данной СУБД - это:

  1. простота администрирования,

  2. возможность подключения к Web,

  3. быстродействие и функциональные возможности механизма сервера СУБД,

  4. наличие средств удаленного доступа,

В комплект средств административного управления данной СУБД входит целый набор специальных мастеров и средств автоматической настройки параметров конфигурации. Также данная БД оснащена замечательными средствами тиражирования, позволяющими синхронизировать данные ПК с информацией БД и наоборот. Входящий в комплект поставки сервер OLAP дает возможность сохранять и анализировать все имеющиеся у пользователя данные. В принципе данная СУБД представляет собой современную полнофункциональную база данных, которая идеально подходит для малых и средних организаций. Необходимо заметить, что SQL Server уступает другим рассматриваемым СУБД по двум важным показателям: программируемость и средства работы. При разработке клиентских БД приложений на основе языков Java, HTML часто возникает проблема недостаточности программных средств SQL Server и пользоваться этой СУБД будет труднее, чем системами DB2, Informix, Oracle или Sybase. Общемировой тенденцией в XXI веке стал практически повсеместный переход на платформу LINUX, а SQL Serverфункционирует только в среде Windows. Поэтому использование SQL Server целесообразно, по нашему мнению, только если для доступа к содержимому БД используется исключительно стандарт ODBC, в противном случае лучше использовать другие СУБД.

Сравнительные результаты быстродействия

Ниже приведены сравнительные таблицы перфоманса ряда СУБД для больших объемов данных, основанные на данных независимого издания Transaction Processing Performance Council(www.tpc.org)

Объем данных порядка 100 GB

Rank

Company

System

QphH

Price/QphH

Database

Operating System

Cluster

1

AutoShape 1

HP AlphaServer ES45 Model 68/100

5,578

358 US $

Oracle 9iR2 w/Real Application Cluste

HP Tru64 Unix V5.1A/IPK

Y

2

HP Proliant DL760 G2 8P

3,346

65 US $

Microsoft SQL Server 2000 Enterprise Edition

Microsoft Windows Server 2003 Enterprise Server

N

3

AutoShape 3

IBM eServer xSeries 440

3,342

131 US $

IBM DB2 UDB 8.1

Microsoft Windows Server 2003 Enterprise Edition

N

4

AutoShape 4

SunFire V480

1,760

60 US $

Sybase IQ 12.5

Sun Solaris 9

N

5

HP Proliant DL580 G2

1,695

66 US $

Microsoft SQL Server 2000 Enterprise Edition

Microsoft Windows 2000 Advanced Server

N

 

Объем данных порядка 1000 GB

Rank

Company

System

QphH

Price/QphH

Database

Operating System

Cluster

1

HP 9000 Superdome Enterprise Server

25,805

203 US $

Oracle 9i Database Enterprise Edition v9.2.0.2.0

HP UX 11.i 64-bit

N

2

HPProLiant DL760 X900-128P

22,361

253 US $

IBM DB2 UDB 7.2

Microsoft Windows 2000 Advanced Server

Y

 

Выводы.

В сводной таблице представлены сравнительные характеристики этих двух СУБД. Клиентские места при этом могут функционировать практически на любой платформе, средством доступа клиентов к СУБД является либо CGI (Perl) либо JAVA приложения.

Сравнительные характеристики

Microsoft SQL Server

Oracle

Административное управление

Хорошо

Отлично

Графические инструменты

Отлично

Хорошо

Простота обслуживания

Отлично

Отлично

Механизм данных

Хорошо

Отлично

Работа с несколькими ЦП

Приемлемо

Отлично

Функция соединения и выбор индексов

Отлично

Отлично

Одновременный доступ нескольких пользователей

Хорошо

Отлично

Обработка мультимедиа-даных

Плохо

Отлично

Подключение к Web

Приемлемо

Отлично

Обработка аудио, видео, изображений

Плохо

Отлично

Поиск по всему тексту

Хорошо

Отлично

Функциональная совместимость

Хорошо

Хорошо

Сопряжение с другими БД

Хорошо

Хорошо

Единая регистрация

Хорошо

Хорошо

Работа под управлением различных ОС

Приемлемо

Хорошо

Возможности программирования

Приемлемо

Отлично

Хранимые процедуры и триггеры

Хорошо

Отлично

Внутренний язык программирования

Приемлемо

Отлично

Построение баз данных

Хорошо

Отлично

Язык SQL

Отлично

Отлично

Объектно-ориентированные системы

Приемлемо

Отлично

Работа с филиалами

Отлично

Отлично

Тиражирование

Отлично

Отлично

Распределенная обработка транзакций

Отлично

Отлично

Дистанционное администрирование

Хорошо

Отлично

Организация хранилищ данных и подготовка отчетов

Отлично

Отлично

Средства загрузки

Отлично

Отлично

Средства анализа

Отлично

Отлично

 

Требования заказчика (см. таблицу ниже)

 

Необходимые требования

MS SQLServer 2000

Oracle 9i

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

+

+

поддержка структуры относительных данных

+

+

поддержка технологий пользователя/сервера

+

+

поддержка многопроцессорной архитектуры

+

+

поддержка кластерной архитектуры

+

+

наличие средств для создания индексов и кластеров данных для повышения скорости обработки

+

+

восстановление баз данных с использованием журнала транзакций

+

+

механизм блокировки транзакций при записи или на уровне страницы

+

+

поддержка  ANSI SQL

+

+

поддержка  стандарта SQL-3 (новое название – SQL99)

 + -

+

поддержка ODBC

+

+

контроль целостности базы данных

+

+

включение/выключение утилит резервирования баз данных

+

+

импорт и экспорт таблиц баз данных

+

+

совместимость с предлагаемой операционной системоймодулей как пользователя, так и сервера

+

+

поддержка сетевых протоколов, используемых предлагаемыми операционными системами

+

+

наличие графического интерфейса пользователя для управления базой данных

+

+

контроль доступа к данным. Опознавание с использованием средств СУБД

+

+

централизованное управление пользователями

+

+

наличие оптимизатора запросов для оптимизации пути прохождения данных

+

+

поддержка больших двоичных объектов (BLOB)

+

+

поддержка OLAP-технологий в т.ч. специализированных средств OLAP-анализа

+

+

поддержка протокола VI SAN (Virtual Interface System Area Network)

+

+

отлаженный механизм репликации данных

+

+

поддержка службы единого каталога

+

+

 

 

Microsoft SQL Server и Oracle относятся к классу многпользовательских систем. Они развиваются и совершенствуются уже в течение многих лет и реализуются как коммерческие программные продукты. Эти СУБД можно характеризовать как основу для промышленных решений в области обработки данных. На российском рынке представлены практически все производители и поставщики промышленных СУБД, в том числе Adabas (Software AG), DB2 (IBM), Informix (Informix Software), Microsoft (Microsoft SQL Server), Oracle (Oracle Corporation), Sybase (Sybase).

Для сравнительного анализа этих систем удобна модель (магические квадраты), предложенная аналитической компанией Gartner Group (приведена выше). Из нее следует, что лидерами на рынке СУБД в настоящий момент являются компании IBM, Microsoft и Oracle. Остальные компании характеризуются Gartner Group как “нишевые игроки”.

Наиболее существенным критерием для сравнения СУБД являются эксплуатационные

характеристики, такие как надежность, высокая готовность, производительность,

масштабируемость. В таблице приводится сравнительный анализ основных СУБД по этим показателям (см.табл.1), выполненный на основе экспертных оценок. Каждому показателю была дана оценка по 10-бальной шкале, макимальная оценка 10 баллов.

Табл.1. Экспертная оценка многопользовательских СУБД

СУБД

Производ.

Конкурентный.

доступ

 

По числу

пользов.

 

Большие

БД

 

Готовность

 

Microsoft

SQL Server

 

6

7

5

5

7

Oracle

6

9

8

8

8