4. Влияние SQL
Будучи стандартным языком доступа к реляционной базе данных, SQL оказывает большое влияние на все сегменты компьютерного рынка. Компания IBM приняла SQL в качестве унифицирующей технологии баз данных для линии своих продуктов. Все поставщики мини-компьютеров предлагают реляционные базы данных; такие базы данных доминируют и на рынке компьютерных систем, работающих под управлением UNIX. По мере того как отдельные персональные компьютеры уступают дорогу сетям с архитектурой клиент/сервер, SQL видоизменяет рынок баз данных для персональных компьютеров. SQL применяется даже при оперативной обработке транзакций, опровергая бытовавшее ранее мнение, что из-за низкого быстродействия реляционные базы данных никогда не смогут использоваться в приложениях для обработки транзакций.
SQL и спецификация SAA компании IBM
SQL играет ключевую роль в качестве языка доступа к базам данных, объединяющего многочисленные несовместимые компьютерные семейства компании IBM. Эта роль была отведена ему еще в спецификации SAA (Systems Application Architecture — архитектура прикладных систем) компании IBM в 1987 году. Хотя главные цели SAA так и не были достигнуты, объединяющая роль SQL со временем стала еще важнее. Стратегическими программными продуктами компании IBM, предназначенными для работы с базами данных, являются
DB2. Флагманская реляционная СУБД, являющаяся стандартом SQL для мэйнфреймов компании IBM, работающих под управлением ОС MVS.
SQL/DS. Реляционная СУБД для VM, другой ОС мэйнфреймов компании IBM.
SQL/400. Эта реализация SQL для систем среднего уровня поддерживает встроенную реляционную базу данных компьютеров серии AS/400.
DB2/6000. Эта реализация DB2 работает на рабочих станциях и серверах семейства RS/6000, работающих под управлением операционной системы UNIX.
DB2/2. Эта реализация SQL для персональных компьютеров компании IBM основана на реализации DB2 для мэйнфреймов. Она заменила OS/2 Extended Edition, которая была первой реляционной СУБД компании IBM для персональных компьютеров, и обеспечила лучшую совместимость с DB2.
SQL на мини-компьютерах
Сегмент рынка реляционных СУБД для мини-компьютеров начал развиваться одним из первых. Первые продукты компаний Oracle и Ingres предназначались для мини-компьютеров VAX/VMS компании Digital. С тех пор оба продукта были перенесены на множество других платформ. СУБД компании Sybase, появившаяся позднее и предназначенная для оперативной обработки транзакций, работала на нескольких платформах, включая VAX.
Кроме того, поставщики мини-компьютеров разрабатывали на основе SQL собственные реляционные базы данных. Компания Digital на каждую систему VAX/VMS устанавливала собственную СУБД Rdb/VMS. Компания Hewlett-Packard предложила Allbase, СУБД, поддерживающую как собственный диалект HPSQL, так и нереляционный интерфейс. Компания Data General заменила свои старые нереляционные базы данных на СУБД DG/SQL. К тому же многие из поставщиков мини-компьютеров перепродают реляционные СУБД независимых поставщиков.
SQL на сиcтемах UNIX
SQL был однозначно признан лучшим решением в области управления данными для компьютерных систем на основе UNIX. Операционная система UNIX, которая была разработана в Bell Laboratories, в 80-х годах стала завоевывать популярность в качестве стандартной операционной системы. Она работает на разнообразных компьютерных системах, начиная от рабочих станций и заканчивая мэйнфреймами, и стала стандартной ОС для научных и инженерных приложений. В начале 80-х уже были доступны четыре большие СУБД для UNIX-систем. Две из них, производства компаний Oracle и Ingres, были UNIX-версиями продуктов для мини-компьютеров компании DEC, Две другие СУБД, производства компаний Informix и Unify, были созданы специально для UNIX. Вначале ни одна из них не предлагала поддержку SQL, но к 1985 году компании Unify и Informix ввели эту поддержку в свои СУБД. На сегодняшний день существуют версии СУБД компаний Oracle, Sybase, Informix и Ingres для всех ведущих систем на базе UNIX.
SQL и обработка транзакций
В процессе своего развития SQL и реляционные базы данных почти не применялись в приложениях, предназначенных для оперативной обработки транзакций (OLTP — On-Line Transaction Processing). Поскольку в реляционных базах данных упор делается на запросы, такие базы данных традиционно использовались в приложениях, служащих для поддержки принятия решений, и приложениях с маленьким объемом транзакций, где их низкое быстродействие не было недостатком. В области оперативной обработки транзакций, где требовалось обеспечить одновременный доступ к данным сотням пользователей, и время ожидания каждого из них не должно было превышать доли секунды, доминировала нереляционная СУБД IMS (Information Management System — система управления информацией) компании IBM.
В 1986 году компания Sybase, новая на рынке СУБД, представила реляционную базу данных, предназначенную специально для оперативной обработки транзакций. СУБД компании Sybase работала на мини-компьютерах VAX и рабочих станциях Sun и обеспечивала уровень быстродействия, необходимый для обработки больших объемов транзакций. Вскоре вслед за нею компании Oracle Corporation и Relational Technology объявили, что они также выпустят версии своих продуктов Oracle и Ingres для оперативной обработки транзакций. На рынке UNIX-систем компания Informix анонсировала OLTP-версию своей СУБД под названием Informix-Turbo.
В апреле 1988 года компания IBM присоединилась к поставщикам реляционных СУБД для OLTP, выпустив систему DB2 Version 2. Тесты показали, что на больших мэйнфреймах эта система могла обрабатывать до 250 транзакций в секунду. Компания IBM утверждала, что теперь быстродействие DB2 позволяет использовать ее во всех OLTP-приложениях, кроме наиболее требовательных к быстродействию, и поощряла клиентов использовать ее вместо IMS. После этого тесты стали стандартным маркетинговым инструментом для реляционных СУБД, вопреки серьезным сомнениям в том, насколько они отражают быстродействие реальных приложений.
По мере развития реляционной технологии и увеличения мощности компьютеров роль SQL в оперативной обработке транзакций также возрастает. Теперь для оперативной обработки транзакций часто используются реляционные базы данных, быстродействие которых выросло на несколько порядков.
SQL на персональных компьютерах
С появлением первой модели IBM PC базы данных стали приобретать популярность на рынке персональных компьютеров. СУБД dBASE компании Ashton-Tate была инсталлирована более чем на миллионе PC, работавших под управлением MS-DOS; другие продукты, такие как R-BASE, PFS: File и Paradox, также достигли значительного успеха. На компьютерах семейства Macintosh такие СУБД, как 4th Dimension, объединили в себе управление данными и графический интерфейс пользователя. Хотя в большинстве СУБД для персональных компьютеров данные хранились в табличной форме, эти СУБД не обладали полной мощью реляционной базы данных и не поддерживали SQL.
До конца 80-х SQL мало использовался на персональных компьютерах. К тому времени обычным явлением стали персональные компьютеры, поддерживающие дисковые устройства объемом в десятки и сотни мегабайтов. Однако вскоре пользователи начали объединять персональные компьютеры в сети, и появилась необходимость в совместном использовании данных. В результате персональные компьютеры стали нуждаться в возможностях, которые могли обеспечить реляционные базы данных и SQL.
Первые СУБД для персональных компьютеров представляли собой соответствующим образом переработанные версии известных СУБД для миникомпьютеров и с трудом умещались на персональных компьютерах. Система Professional Oracle, анонсированная в 1984 году, требовала двух мегабайтов памяти на IBM PC, a Oracle for Macintosh, представленная в 1988 году, имела схожие требования. Версия СУБД Ingres для PC, выпущенная в 1984 году, едва удовлетворяла ограничению MS-DOS на объем используемой оперативной памяти (640 Кб). СУБД Informix-SQL для MS-DOS была выпущена в 1986 году и представляла собой версию популярной СУБД, работавшей под управлением UNIX. В том же 1986 году компания Gupta Technologies, основанная бывшим менеджером из Oracle, выпустила SQLBase, СУБД для локальных сетей, которая одной из первых реализовала архитектуру клиент/сервер и была прототипом нынешних СУБД для ЛВС.
С появлением в апреле 1987 года операционной системы OS/2, созданной компаниями Microsoft и IBM, начался рост популярности SQL применительно к персональным компьютерам. Кроме стандартной версии OS/2, компания IBM выпустила расширенную редакцию OS/2 (OS/2 Extended Edition — OS/2 ЕЕ) со встроенной поддержкой реляционных баз данных. Сделав SQL частью операционной системы, компания IBM тем самым вновь подтвердила свою приверженность ему.
Появление OS/2 ЕЕ стало проблемой для компании Microsoft. Поскольку она была разработчиком стандартной OS/2 и продавала ее другим производителям персональных компьютеров, потребовалась альтернатива OS/2 ЕЕ. Ответом Microsoft стала покупка лицензии на СУБД компании Sybase, разработанной для VAX, и перенос этой СУБД в систему OS/2.
В январе
1988 года
Microsoft и
Ashton-Tate неожиданно
объявили, что
они будут совместно
продавать новую
СУБД, получившую
название
SQL Server. Компания
Microsoft будет
продавать
SQL Server вместе
с OS/2 производителям
компьютеров,
а компания
Ashton-Tate будет
продавать
SQL Server по розничным
каналам пользователям
PC. В сентябре
1989 года
компания
Lotus Development внесла
свой вклад в
SQL Server, сделав
инвестицию
в компанию
Sybase. Через
год с небольшим
компания
Ashton-Tate отказалась
от исключительных
прав на распространение
и продала свою
долю компании
Lotus. Хотя успех
SQL Server для
OS/2 был
ограниченным,
она
продолжает
играть ключевую
роль в планах
компании
Microsoft. Эта СУБД
является реляционной
базой данных
для Windows
NT, флагманской
операционной
системы компании
Microsoft, предназначенной
для работы в
среде клиент/сервер.
SQL в локальных сетях
Появление OS/2 Extended Edition и SQL Server привлекло внимание к потенциальным возможностям SQL в локальных вычислительных сетях. Заказчики стали всерьез рассматривать архитектуру клиент/сервер в качестве альтернативы центральному мини-компьютеру или мэйнфрейму.
Вначале на рынке SQL для ЛВС в качестве платформы для сервера баз данных доминировала OS/2. В отличие от MS-DOS, у этой операционной системы не было ограничения на объем ОЗУ (640 Кб), а ее многозадачная архитектура хорошо подходила для создания сервера баз данных. К концу 1989 года компании IBM, Microsoft, Oracle, Gupta и другие представили свои СУБД для OS/2. Однако объемы продаж OS/2 оказались меньше ожидаемых, в то время как объемы продаж Microsoft Windows 3.0 возросли. Вопреки всем попыткам подчеркнуть их различия, между OS/2 и Windows 3.0 возникла конкуренция, которая постепенно привела к разрыву между IBM и Microsoft. В конце концов компания Microsoft признала свою приверженность Windows 3.0 и отказалась от поддержки OS/2, оставив за нею статус "собственности IBM". Хотя OS/2 продолжает занимать важное место в планах компании IBM, ее шанс стать доминирующей промышленной операционной системой для персональных компьютеров — а значит, и наиболее подходящей платформой для SQL в ЛВС — упущен.
В то время
как шла борьба
между
OS/2 и
Windows, стали
расти объемы
продаж реляционных
баз данных для
других сетевых
платформ. Цены
на компьютеры,
работающие
под управлением
UNIX, постоянно
снижались, а
версия
UNIX от компании
Santa Cruz Operation (SCO UNIX) стала
наиболее популярной
платформой
для персональных
компьютеров
на базе процессоров
Intel. В начале
90-х годов
SCO UNIX могла
поддерживать
несколько
процессоров,
что позволило
делить загрузку
компьютера
между двумя,
тремя или более
микропроцессорами.
Имея в своем
распоряжении
вычислительную
мощь четырех-восьми
процессоров,
работающих
параллельно,
СУБД
Oracle, Informix и
Sybase смогли
достичь быстродействия
мини-компьютеров
на
серверах
семейства
PC стоимостью
от $20000.
На сегодняшний
день многопроцессорные
серверы от
компаний
Compaq, Dell, IBM и других
поставщиков
персональных
компьютеров
имеют наилучшее
соотношение
цена/производительность
среди всех
доступных на
рынке компьютерных
систем.
Хотя UNIX стала популярной платформой для серверов баз данных, подавляющее большинство серверов ЛВС все еще применяются только для совместного использования файлов и принтеров, и большинство этих серверов работают под управлением Novell Netware. Серверная операционная система Novell Netware реализует меньшие возможности, чем UNIX или OS/2, но у нее есть одно большое преимущество — объем продаж. Первые реляционные базы данных для Netware котировались хуже, чем СУБД для UNIX и OS/2, однако начиная с 1992 года все ведущие поставщики баз данных представили версии своих продуктов для Netware. Объемы Продаж этих продуктов стали быстро расти, и Netware оказалась жизнеспособной платформой для серверов баз данных.
В противоборстве с UNIX, OS/2 и Netware компания Microsoft сделала упор на Windows NT, клиент/серверную платформу для ЛВС, У Windows NT есть ряд значительных преимуществ над конкурентами; это новая операционная система, не отягощенная "обратной совместимостью". Учитывая вес компании Microsoft на компьютерном рынке, большинство аналитиков полагает, что NT завоюет лидирующее положение в области сетей с архитектурой клиент/сервер. В результате все поставщики СУБД в настоящее время выпускают версии своих продуктов для работы под управлением Windows NT.
Сегодня рынок СУБД для сетей с архитектурой клиент/сервер является наиболее быстро растущим сегментом рынка серверов
... ЭВМ. Приложения, созданные с помощью SQL и рассчитанные на однопользовательские системы, по мере своего развития могут быть перенесены в более крупные системы. Информация из корпоративных реляционных баз данных может быть загружена в базы данных отдельных подразделений или в личные базы данных. Наконец, приложения для реляционных баз данных можно вначале смоделировать на экономичных персональных ...
... , а иногда и невозможным. Недостатки MOLAP-модели: · Многомерные СУБД не позволяют работать с большими базами данных. · Многомерные СУБД по сравнению с реляционными очень неэффективно используют внешнюю память. В подавляющем большинстве случаев информационный гиперкуб является сильно разреженным, а поскольку данные хранятся в упорядоченном виде, неопределенные значения ...
... хранимых процедур на других серверах. RPC представляет собой достаточно удобный способ работы с распределенными данными без необходимости внесения изменений в клиентскую часть приложения. MS Distributed Transaction Coordinator (DTC). Создание распределенных приложений приводит к тому, что транзакции также приобретают распределенный характер. Структуризация приложения в виде многих самостоятельных ...
... Java, JavaScript и встроенные в сервер средства LiveConnect. Более мощными реляционными возможностями доступа к базе данных и более эффективным выполнением виртуальной Java-машины будут расширены услуги разработки приложений, обеспечиваемых в Enterprise Server 2.0,. Сервис управления. В дополнение к использованию встроенной машины каталога LDAP Enterprise Server 2.0 будет управляем через общие ...
0 комментариев