Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Начинаем изучать MySQL
<<-[Весь Текст]
Страница: из 157
 <<-
 
долларов.
У больших корпораций и крупных университетов не возникало проблем с тем, чтобы 
потратить за год несколько миллионов долларов на такие комплекты серверов и 
СУБД. Малым организациям и частным пользователям приходилось довольствоваться 
слабыми настольными приложениями. Несколько дешевых СУБД с архитектурой клиент/ 
сервер в то время существовало, но ни в одной из них не использовался SQL в 
качестве языка запросов. Наиболее примечательной из них была Postgres, имевшая 
общее происхождение с коммерческой базой данных Ingres. К несчастью, Postgres 
требовала примерно тех же ресурсов, что и ее коммерческие аналоги, не давая 
преимущества использования SQL в качестве языка запросов. В то время в Postgres 
использовалась разновидность языка QUEL, называвшаяся PostQUEL.
Дэвид Хьюз
Часть диссертации, которую Давид Хьюз (David Hughes) (известный также как 
Bamby) писал в Университете Бонд в Австралии, была посвящена разработке системы 
мониторинга и управления группой систем из одного или нескольких мест. Проект 
носил название Minerva Network Management System. Главным элементом Minerva 
была база данных для хранения данных обо всех компьютерах в сети. Будучи 
студентом университета и не имея доступа к серверам, на которых работали 
большие коммерческие базы данных, Хьюз решил, что Postgres - это очевидное 
решение, вполне отвечающее его потребностям.
Его коллеги предложили сделать SQL стандартным языком запросов для Minerva. В 
конце концов, SQL был и остается самым общепринятым стандартом языка запросов. 
Основываясь на SQL, Minerva могла бы использоваться в любой точке света, где 
установлена поддерживающая SQL СУБД. Иными словами, SQL предоставлял 
возможности Minerva гораздо более широкому кругу пользователей, нежели PostQUEL,
 ограничивавший его пользователями Postgres. В конечном итоге оказалось, что 
сегодня даже Postgres поддерживает SQL.
Желание пользоваться стандартом SQL, с одной стороны, и отсутствие доступа к 
базе данных, поддерживающей SQL, - с другой, поставили Хьюза в трудное 
положение. Если использовать в Minerva язык запросов, основанный на SQL, то не 
удастся найти СУБД с соответствующим механизмом работы. Не имея возможности 
приобрести дорогую РСУБД, Хьюз нашел творческое решение проблемы: выход в том, 
чтобы создать программу, «на лету» транслирующую запросы SQL в запросы PostQUEL.
 Такая программа должна была перехватывать все
посылаемые Minerva предложения SQL, преобразовывать их в PostQUEL и результат 
пересылать дальше в Postgres. Хьюз написал такую программу и назвал ее miniSQL, 
или mSQL.
От транслятора PostQUEL к РСУБД
В течение некоторого времени такая конфигурация удовлетворяла потребности Хьюза.
 Для Minerva было безразлично, какая СУБД используется, если только она 
понимает SQL, и она считала, что Postgres понимает SQL, поскольку в середине 
находился mSQL, производивший трансляцию в PostQUEL. К несчастью, по мере роста 
Minerva ее работа стала значительно замедляться. Стало ясно, что ни Postgres, 
ни другая большая РСУБД не смогут поддерживать тот небольшой набор возможностей,
 который требовался для Minerva, на тех ограниченных ресурсах, которые были ей 
доступны. Например, для Minerva требовалось одновременное подключение к 
нескольким базам данных. Для поддержки этого Postgres требовал одновременного 
запуска нескольких экземпляров* сервера базы данных. Кроме того, несколько 
потенциальных участников проекта не могли принять в нем участие, поскольку 
Postgres не поддерживал их системы, а они не могли позволить себе купить 
дорогую СУБД с поддержкой SQL.
Оказавшись перед лицом этих проблем, Хьюз пересмотрел свое отношение к Postgres.
 По своим размерам и сложности она, возможно, превышала потребности Minerva. 
Большинство запросов, генерируемых Minerva, представляли собой простые 
операторы INSERT, DELETE и SELECT. Все остальные возможности, имевшиеся в 
Postgres и снижавшие производительность, просто не требовались для Minerva.
У Хьюза уже был mSQL, осуществлявший трансляцию SQL. Ему требовалось только 
добавить хранилище данных и возможности извлечения данных, чтобы получить 
сервер базы данных, удовлетворявший его потребности. Эта эволюция привела к 
существующему на сегодняшний день mSQL.
История MySQL
Было бы ошибкой рассматривать MySQL просто как ответ на недостатки mSQL. Ее 
изобретатель Майкл Видениус (известный также как Monty) из шведской компании 
ТсХ работает с базами данных с 1979 г. До недавнего времени Видениус был в ТсХ 
только разработчиком. В 1979 г. он разработал для внутрифирменного 
использования средство управления базами данных под названием UNIREG. После 
1979 года UNIREG была переписана на нескольких разных языках и расширена для 
поддержки больших баз данных.
Каждый из процессов, в котором выполняется одна и та же-программа, называется 
экземпляром этой программы, поскольку он занимает память точно так же, как 
экземпляр переменной занимает память программы.
В 1994 г. ТсХ стала разрабатывать приложения для WWW, используя для поддержки 
этого проекта UNIREG. К несчастью, UNIREG из-за больших накладных расходов не 
могла успешно использоваться для динамической генерации веб-страниц. И ТсХ 
начала присматриваться к SQL и mSQL. В то время, однако, mSQL существовала 
только в виде релизов 1.x. Как мы уже говорили, версии mSQL 1.x не поддерживали 
никаких индексов и поэтому по производительности уступали UNIREG.
Видениус связался с Хьюзом, автором mSQL, чтобы узнать, не заинтересуется ли 
тот подключением mSQL к обработчику В+ ISAM в UNIREG. Хьюз, однако, к тому 
времени уже далеко продвинулся на пути к mSQL 2 и создал средства для работы с 
 
<<-[Весь Текст]
Страница: из 157
 <<-