Иерархическая структура оказалась очень удобной для хранения данных во многих случаях. Например, практически все файловые системы построены по иерархическому принципу. Всем известный реестр Windows - также иерархическая база данных. Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь только одного предка; в сетевой структуре данных такая запись может иметь любое число предков. Типичным представителем таких систем является продукт Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенный для использования на мэйнфреймах IBM. Впервые сетевые системы появились в 70-х годах, среди них была и IDMS. Среди достоинств ранних СУБД можно отметить низкоуровневые средства управления данными во внешней памяти, а также возможность построения эффективных прикладных систем вручную. Однако эти сильные места являются также и недостатками, поскольку при создании приложений СУБД были очень сложны в применении (фактически были необходимы знания о физической организации), а прикладные программы сильно зависели от этой организации. Тем не менее первые хранилища данных сыграли важную роль в развитии систем хранения и обработки информации. Некоторые же из этих продуктов успешно используются до сих пор.
Все решают отношенияВ основу создания реляционных БД были заложены положения реляционной алгебры, причем первые теоретические обоснования в этой области БД были сделаны еще в 70-х. Хотя прототипы реляционных СУБД появились в то же время, процесс их совершенствования занял довольно длительный период времени. И только к середине 80-х годов реляционные системы практически вытеснили с мирового рынка ранние СУБД. В реляционных cистемах структура базы данных построена на отношениях (реляциях) между таблицами данных. Набор повторяющихся данных выносится в отдельную таблицу-справочник, благодаря чему исключено или сведено к минимуму дублирование информации. Таким образом, структура ранее упомянутой телефонной базы 09 при реляционном подходе изменяется. Все наименования улиц переносятся в отдельный справочник, где будут содержаться только уникальные значения, а в таблицу телефонов вместо названия улицы помещается уникальный код улицы в справочнике (первичный ключ), то есть ссылка на записи этого справочника. Каждая запись в справочнике должна ссылаться на одну или более записей в основной таблице данных либо не ссылаться ни на что. Это условие называется требованием целостности по ссылкам. Практически все современные персональные и промышленные СУБД построены по реляционному принципу. Для текстовых и числовых значений такие системы являются идеальным выбором. И только лишь когда речь заходит о хранении крупных бинарных объектов, например, видео- и аудиофайлов, такой тип СУБД оказывается неоптимальным в использовании. Более приемлемым в этом случае оказываются объектно-ориентированные СУБД.
Объектно-ориентированные СУБДПрогресс в области реляционных хранилищ данных и следующее хронологически за ними семейство БД, в которых поддерживается управление сложными объектами, привели к новому типу СУБД - объектно-ориентированным базам данных (ООБД). При разработке таких систем были задействованы принципы объектно-ориентированных языков программирования, в частности, немалое влияние на создание ООБД оказал язык Smalltalk. Само направление объектно-ориентированных баз данных возникло сравнительно недавно - в середине 80-х годов. Любая сущность реального мира в объектно-ориентированных языках и системах моделируется в виде объекта. Любой объект при своем создании получает генерируемый системой уникальный идентификатор, который связан с объектом все время его существования и не меняется при изменении состояния объекта. Реакцией производителей РСУБД на растущую популярность объектной технологии стало появление реляционно-объектных СУБД. В ядро таких БД добавлены объектные расширения, что позволяет определять любые типы данных. Однако основная ориентация ядра такой универсальной СУБД на реляционную модель отрицательно сказывается на его производительности.
Распределенные системыДовольно актуальной для различных компаний является проблема интеграции применяемых разнородных информационных систем с целью создания распределенной базы данных. Отдельные БД подключаются друг к другу через локальную или глобальную сеть, при этом, с точки зрения пользователя, они представляют собой единое целое. Распределенные базы данных бывают однородными и неоднородными. В однородной - каждая локальная база данных управляется одной и той же СУБД. В неоднородной системе БД могут управляться СУБД разных производителей и даже разных типов. Интеграция неоднородных баз данных - сегодня очень актуальная и сложная проблема. И хотя во многих случаях удается найти компромиссное решение, все же такие интегрированные системы часто не обладают достаточной эффективностью. Высокая потребность в продуктах управления и хранения данных как в крупных корпорациях, так и в малых предприятиях, привела к появлению двух типов систем управления базами данных - мощных промышленных СУБД и гораздо менее функциональных настольных систем (desctop-класс)
Склад данных на столеСистемы управления базой данных desktop-класса предназначены для персонального использования или создания решений автоматизации для небольших рабочих групп. Как правило, настольные СУБД поставляются в составе офисных пакетов, например: MS Office, Corel PerfectOffice, Lotus SmartSuite. Такие системы обладают гораздо меньшими возможностями по сравнению с мощными профессиональными продуктами, но в то же время отличаются легкостью в использовании, простым и удобным интерфейсом, наличием автоматизированных инструментов для быстрой разработки приложений. MS AccessСамым популярным пакетом в секторе настольных СУБД является MS Access. Одной из причин этого является, конечно, огромная популярность офисных пакетов от Microsoft, с другой стороны, среди desktop-систем этот продукт обладает наибольшей функциональностью и возможностями. Например, еще Access 97 поддерживал репликацию данных, а ведь эта функция не всегда присутствует даже в гораздо более мощных системах. При разработке приложений можно использовать как макросы, так и довольно мощный язык программирования Visual Basic for Application (VBA), который позволяет создавать массивы, собственные типы данных, контролировать работу приложений с помощью OLE Automation. При необходимости можно целиком создать базу данных посредством программирования. Одно из основных преимуществ MS Access - это тесная интеграция с MS Office и MS SQL Server 2000. Благодаря последнему, настольную БД на MS Access довольно легко превратить в клиент-серверное приложение, в котором MS Access будет играть роль клиента. FoxProДовольно известный продукт FoxPro ведет свое происхождение от настольной СУБД FoxBase фирмы Fox Software. При разработке FoxBase в конце 80-х годов эта компания преследовала цель создать СУБД, функционально совместимую с dBase, но существенно превышающую ее по производительности. Некоторое время спустя это продукт был выкуплен компанией Microsoft, на основе которого она выпустила новую СУБД Visual FoxPro. В отличие от MS Access, в котором вся БД заключена в одном файле, здесь каждая таблица и индексы для них хранятся в отдельном файле (обычно имеют расширение *.dbf), BLOB- (Binary Large Objects) и Memo-поля также хранятся в отдельных файлах (обычно с расширением *.dbt). Среди основных функций можно отметить средства публикации данных в Интернете и создания вэб-клиентов, инструменты создания ASP-компонентов и вэб-приложений. Visual FoxPro cодержит средства, позволяющие взаимодействовать с другими приложениями Windows, а также получать доступ к SQL-серверам баз данных посредством ODBC. ParadoxПервая версия разработанной компанией Ansa Software СУБД Paradox увидела свет в 1985 году. Впоследствии продукт был приобретен компанией Borland, а с 1996 года он принадлежит компании Corel и поставляется в комплекте офисного пакета Corel PerfectOffice. Этот продукт является полноценной системой управления реляционными базами данных, предназначенной для автоматизации делопроизводства небольших рабочих групп. Программа отличается визуальным режимом разработки форм, запросов и отчетов БД, возможностью публикации данных и отчетов в Интернете, создания вэб-клиентов. Для доступа к данным формата Paradox из Windows-приложений присутствует ODBC-драйвер, есть также средство для доступа к данным из Java-приложений. Популярность Paradox в последнее время значительно снизилась, главным образом за счет роста популярности MS Access. Однако в мире эксплуатируются еще немало информационных систем, созданных с его помощью. Промышленные СУБДНа рынке мощных многопользовательских коммерческих СУБД игроков не так уж много, фактически cегодня можно выделить лишь четырех основных производителей: Oracle, IBM, Microsoft и Sybase. OracleЦелью основанной Ларри Эллисоном в 1977 году компании Oracle было создание коммерческой реляционной базы данных. В то время реляционная модель была принципиально новым подходом к хранению структурированной информации, и Oracle стала первым (и основным) поставщиком этой технологии для бизнес-приложений. Продукт очень быстро добился всеобщего признания, и в 1983 году СУБД была портирована с мэйнфрейма на VAX и переписана на языке C. В 1986 году база данных стала клиент-серверным приложением (до того Oracle была библиотекой на VAX, правда, работающей в кольце защиты, недоступном напрямую для пользовательского кода). Язык PL/SQL, процедурная надстройка над SQL с синтаксисом, очень близким к синтаксису языка Ada, был реализован в 1988 году. Современный сервер базы данных Oracle 9i R2 включает в себя виртуальную машину Java (в дополнение к PL/SQL), процессор XML, контейнер EJB, средства работы с медиа- и пространственными данными. Начиная с Oracle 8i начали поддерживаться объектные средства. Oracle уделяет огромное внимание надежности продукта. Версия 9i дает возможность производить резервное копирование (и получать непротиворечивые снимки) на работающей СУБД. Возможна онлайн-репликация рабочей БД, содержащей актуальную копию данных. Oracle применяется для организации больших баз данных (хотя существует и Oracle Personal Edition), эффективно поддерживает кластеры и многопроцессорные машины. Для поддержки хранилищ данных был создан модуль Oracle Data Mining, позволяющий классифицировать, предсказывать поведение и выявлять взаимосвязи больших объемов данных. Oracle работает на основных коммерческих UNIX, при этом ведущей платформой разработки является SUN Solaris. Для компьютеров на процессорах Intel выпускаются версии для Windows NT и Linux. Нужно отметить, что Oracle активно поддерживает Linux, вплоть до того, что выпуск базы для других UNIX, работающих на платформе ПК, был прекращен (Oracle сертифицирован для работы под Linux Kernel Personality под SCO Unixware 7.x, то есть под эмулятором Linux). Стоимость лицензии на Oracle 9i зависит от количества пользователей, либо же от мощности cервера, на который СУБД будет устанавливаться. Cуществуют три разные редакции продукта. Oracle 9i Database Enterprise Edition - самый полный вариант СУБД, Standard Edition может быть установлена на компьютеры, содержащие не более четырех процессоров, и, наконец, версия Personal Edition предназначена для использования на рабочей станции пользователя. Кластерная технология от Oracle называется Oracle Real Application Clusters и лицензируется отдельно.
Sybase ASEСУБД SQL Server от компании Sybase была первой базой, ориентированной на он-лайн-обработку большого потока транзакций. Версия 4.2, портированная на OS/2 1.x совместно с Microsoft, впоследствии стала называться MS SQL Server. Начиная с версии 11.5, продукт был переименован в Sybase Adaptive Server Enterprise (ASE). Основной областью применения текущей версии 12.5 является обработка транзакций в реальном времени в критически-важных приложениях. Это обусловливает высокую популярность ASE в банковской сфере. ASE 12.5 включает в себя EJB-контейнер и поддержку XML. Для программного доступа к базе Sybase предлагает OpenClient - набор клиентских библиотек. Также присутствуют ODBC- и JDBC-драйверы. Нужно отметить, что протокол доступа к серверу TDS (Tabular DataStream) является общим для Sybase и MS SQL Server. Поэтому иногда возможно нестандартное использование библиотек OpenClient, например, для доступа к MS SQL Server с UNIX-машин. Продукт предлагается для всех основных коммерческих UNIX, Windows NT/2000 и Linux. Версия 11.0 для Linux бесплатна для любого (в том числе и коммерческого) использования. Версия 11.9 для Linux и FreeBSD бесплатна для разработчиков.
InformixОдна из гигантов рынка СУБД Informix была изначально ориентирована на платформу промышленных UNIX. Но когда сегмент рынка Windows стал расти, компания портировала свой продукт на эту ОС. Система команд и управления Informix для обеих ОС совершенно одинакова, поэтому с точки зрения администрирования они очень похожи. Текущая версия Informix IDS 9.30 поддерживает как внутренние, так и внешние типы данных, то есть фактически любые. Для предопределения внешних типов данных и методики их обработки в СУБД используется фирменная технология DataBlades (<лезвия данных>). Данная технология позволяет расширить функциональность ядра БД на разных аппаратных платформах. Кроме того, Informix предлагает технологию разработки <лезвий данных> для своих собственных целей. Другой особенностью Informix является динамическая масштабируемая архитектура (DSA), которая позволяет использовать линейку серверов БД как в настольных, так и в мощных системах SMP и MPP. В конце квартала текущего года ожидается новый релиз Informix 9.40, а также планируются к выпуску версии 9.50 и 9.60. В последующих версиях будет повышена безопасность данных, увеличен макcимальный объем хранимых данных. Так, уже версия 9.40 на одном узле будет обрабатывать до 128 петабайт информации, что в десятки тысяч раз больше, чем содержимое, к примеру, библиотеки конгресса США. DB/2Разработанная IBM система управления данными DB/2 изначально использовалась на мэйнфреймах, однако со временем она была портирована на платформу промышленных UNIX. Начиная с версии 7.2 присутствует возможность обработки в одном узле информации, которая хранится в других базах данных, - то, что называется федеративным свойством БД. То есть, в DB/2 встроен механизм, который позволяет напрямую работать с Oracle, MS SQL Server, Sybase. Эта особенность очень важна для построения распределенных хранилищ данных. DB/2 является самоадаптивной и самонастраиваемой СУБД. Продукт содержит функции, которые позволяют тонко настраивать ядро сервера БД. Помимо этого имеется специальный пакет, который облегчает администрирование многих узлов в рамках корпорации, что приводит к снижению общей стоимости обслуживания. DB/2 с самого начала проектировалась для работы с большими объемами оперативной памяти, эта особенность и сейчас позволяет ей оптимально использовать большие объемы ОЗУ (от 2 ГБ и выше). Кроме того, у DB/2 очень мощный оптимизатор. Для обработки внешних типов данных DB/2 использует технологию extenders, то есть Plug-in-модулей, которые встраиваются в базу данных и позволяют работать с различными типами данных - XML-документами, мультимедийной информацией и т. д. Однако в отличие от Informix, DB/2 не предлагает инструментальные средства для создания таких модулей расширения силами сторонних разработчиков. И DB/2, и Informix - это открытые СУБД, которые поддерживают стандарты JDBC, ODBC, CLI. Для разработчиков у Informix есть свои решения 4GL, а также собственный инструментальный пакет Informix Client SDK, который поддерживает доступ к ядру БД на языках С, С++, JDBC. Кроме того, имеется пакет DataBlade Development Kit для разработки модулей DataBlade. В апреле 2001 года СУБД Informix IDS была выкуплена компанией IBM. Причиной послужили, во-первых, желание приобрести фирменные технологии DataBlade и DSA, во-вторых, намерение IBM занять более уверенные позиции на рынке СУБД для промышленных UNIX. Еще некоторое время и DB/2, и Informix IDS будут развиваться независимо, однако в 2004 году планируется выход совершенно новой СУБД BlueArrow Ahead, которая будет содержать лучшие свойства обоих продуктов. Новая СУБД будет представлять собой универсальную среду обработки и хранения любых типов данных, используемых в реальности, с возможностью использования от КПК до мэйнфрейма.
MS SQL ServerВ 1988 году совместно Microsoft и Sybase была разработана первая версия СУБД MS SQL Server для платформы OS/2. В начале 90-х Microsoft разработала новую версию продукта, но уже для платформы Windows NT. В 1992 году были выпущены Windows NT 3.1 и SQL Server 4.2 для NT, а в 1994 году партнерство Microsoft и Sybase было формально прекращено. В 1995 году была выпущена следующая версия 6.0 однако, начиная с версии 4.2 продукт работает исключительно на платформе Windows. Самый последний релиз системы вышел в 2000 году. SQL Server 2000 предоставляет расширенную поддержку XML, обеспечивает одновременное функционирование многих копий сервера на одном компьютере, обладает модернизированными мастерами. В новой версии улучшены средства бизнес-анализа с помощью дополнительной программы Analisis Services - средства анализа OLAP-данных посредством доступа к блокам информации через Интернет. Кроме того, продукт отличается возможностью симметричной мультипроцессорной обработки (на платформе Windows NT/2000 Server), поддерживает объем ОЗУ до 64 ГБ, динамическое управление памятью и удаленный контроль. Благодаря дополнительному модулю MS Cluster Server обеспечивается более надежная защита SQL Server от сбоев. Одно из основных преимуществ SQL Server 2000 - развитые графические средства визуального администрирования, благодаря которым можно значительно снизить административную нагрузку при обслуживании решения. Стратегия Microsoft, состоявшая в сочетании высокой производительности c удобством и простотой пользовательского интерфейса, оказалась весьма успешной. Сегодня этот продукт уверенно занимает первое место среди СУБД для платформы Windows. В будущем Microsoft планирует выпустить новую версию СУБД, которая сейчас известна под кодовым названием Yukon. Новая система будет являться максимально универсальным хранилищем данных, более масштабируемым, надежным и удобным для работы с системами анализа данных. Кроме того, эта СУБД будет использоваться в качестве файловой системы для будущей ОС Windows.
Бесплатные СУБДПо аналогии с ОС, среди систем управления БД также есть бесплатные и свободные продукты. Часть из них разрабатывается программистами - cторонниками открытого ПО, исходный код некоторых других продуктов был открыт самими производителями. Мощная и открытаяСвободно-распространяемая PostgreSQL начала разрабатываться как следующее поколение системы Ingress в университете Калифорнии в Беркли. Текущая версия 7.3.1. распространяется под новой BSD-лицензией, т. е. на использование кода не накладывается никаких ограничений. PostgreSQL - клиент-серверная система. Сервер работает под всеми основными вариантами UNIX-подобных систем и на Windows NT/2000/XP под реализацией Posix cygwin. Имеются библиотеки для разработки клиентских приложений для языков C, C++, perl, python, tcl для UNIX и Win32. Есть также драйверы ODBC и JDBC. Сервер поддерживает ANSI SQL 92, транзакции, триггеры, вложенные запросы и т. д. Кроме того, программа обладает такими уникальными средствами, как наследование таблиц, массивы и определяемые пользователем типы данных. PostgreSQL работает с множеством процедурных языков, основной среди которых - PL/PgSQL. Продукт очень быстро развивается. Семейство 7.2.x зарекомендовало себя как быстрый и надежный сервер. Из новых возможностей версии 7.3 прежде всего нужно отметить поддержку схем (пространств имен), подготовленных запросов и автоматическое отслеживание зависимостей. В этой версии исправлены проблемы с так называемым вакуумированием (специальная процедура в PostgreSQL, предназначенная для сборки "мусора" и фиксации id-транзакций). В PostgreSQL не реализована репликация и поддержка распределенных хранилищ. Отсутствует инкрементное резервирование и возможность восстановления базы по журналу до выбранной оператором даты. Однако эта СУБД прекрасно подходит для использования в средних и крупных проектах, в которых важна надежность, простота эксплуатации и полный контроль разработчиков и заказчика над применяемыми средствами. Ориентация на ИнтернетСУБД MySQL достаточно интересна как своими техническими характеристиками, так и политикой лицензирования. Продукт разрабатывается компанией MySQL AB (Швеция). Сервер общедоступен под лицензией GPL, компания продает коммерческие лицензии и поддержку. Прежде всего, нужно отметить, что MySQL более похожа на структурированное хранилище записей, а не на реляционную базу. Ядро сервера MySQL, обрабатывающее запросы, отделено от процедур управления таблицами. Текущая стабильная версия 3.23.x не обладает такими возможностями, как View, триггеры или хранимые процедуры. Все это обещано в следующих версиях - уже доступной как гамма 4.0.7, находящейся в стадии разработки 4.1 и планируемой 5.0. Зато MySQL уже сейчас поддерживает репликацию. С сайта MySQL можно скачать исходный код продукта, но разработчики рекомендуют пользоваться готовыми сборками. Продукт работает под различными UNIX- и Windows-системами. MySQL очень популярна как быстрое и надежное решение для вэб-сайтов. К примеру, ресурс www.slashdot.org использует MySQL. Но отсутствие таких средств, как целостность по ссылкам или триггеры исключает применение MySQL во многих других случаях.
Родители и потомкиДетище компании Borland - СУБД InterBase - до версии 5.6 распространялась на коммерческой основе. Однако в начале 2000 года Borland приняла неожиданное решение открыть коды своего продукта. Так появилась бесплатная версия 6.0, которая распространялась по лицензии InterBase Public License, в соответствии с которой код InterBase разрешалось использовать для создания коммерческих продуктов, в том числе и с закрытым кодом. На основе InterBase 6.0 была построена СУБД FireBird, которая содержит некоторое количество небольших технических изменений в сравнении с оригиналом. Вскоре после этого Borland приняла решение закрыть код своей СУБД. Поэтому новая InterBase 7.0 продается за деньги. Firebird является реляционной СУБД, которая работает на платформе Linux, Windows и многих промышленных UNIX. Система обладает высокой производительностью, мощной языковой поддержкой для хранимых процедур и триггеров, кроме того, довольно легка в инсталляции и обслуживании. Как InterBase, который на протяжении уже нескольких лет поставляется в составе инструментальных средств Borland, так и FireBird, в основном, используются огромной армией разработчиков на Delphi. По данным одной из исследовательских компаний в области ИТ на каждого человека Земли на сегодняшний день приходится в среднем около 20 МБ информации. Учитывая стремительный рост объема мультимедиа-данных в Интернете, эта цифра в ближайшие годы увеличится в несколько раз. Поэтому будущее - за универсальными СУБД, поддерживающими большие объемы информации и способными работать с разными типами данных. Автор: Константин Белоусов, Олег Пилипенко
|