Профессиональные СУБД: какие они?
Сергей Кривошеев
Роль современных информационных технологий в нашей жизни трудно переоценить. Та часть области человеческой деятельности, в которой не используется вычислительная техника, стремительно сокращается. С возрастанием объемов информационных потоков увеличивается и ответственность, возлагаемая на программные средства для оперативной обработки и хранения данных.
Программных средств для автоматизации хранения и обработки информации существует предостаточно. Каждая из таких систем управления базами данных (СУБД) имеет свои преимущества и недостатки. Выбор СУБД для решения конкретной задачи - одно из основных решений, принимаемых при создании информационной системы.
Сколько голов - столько мнений
Как всегда, у каждой из заинтересованных сторон - своя точка зрения.
Точка зрения разработчика. Разработчику желательно иметь удобный и обладающий широким набором возможностей механизм хранения и обработки информации. Его совершенно не волнует тот факт, что стоимость системы составляет десятки тысяч долларов. Он знать не хочет, во что обойдется приобретение соответствующего аппаратного обеспечения. Для него главное - удобный интерфейс разработчика, богатые возможности языка манипулирования данными, поддержка механизмов триггеров, представлений (view) и т.п.
Точка зрения администратора. Администратора заботит совсем другое: насколько легко настраивать операционную систему, которая будет управлять сервером? Устойчива ли она к сбоям? Поддерживается или нет механизм транзакций? А как насчет журнализации? Список можно продолжить, но ведь есть еще и...
Точка зрения заказчика. Этого господина меньше всего волнует, легко ли разработчику создать информационную систему на основе выбранной СУБД. Главное, чтобы она была дешевой (в идеале - бесплатной), непривередливой в плане аппаратных средств, надежной и требовала минимум администрирования.
Предположим, заказчику требуется информационная система для доступа к базе данных через Internet. Опытный разработчик может решить такую задачу с помощью СУБД MySQL и языка PHP. Найти недорогой хостинг с такими параметрами сегодня не проблема. Однако MySQL имеет ряд недостатков. И вот уже разработчик "раскручивает" заказчика на покупку Oracle и организацию собственного Web-сервера. Если впоследствии проект будет приносить большую прибыль, он покроет расходы на реализацию. А если нет?.. Я думаю, вы убедились, что для каждой заинтересованной стороны (разработчик, заказчик, сотрудник отдела сопровождения, поставщик программного обеспечения) очень важно уметь аргументировать свой выбор.
Профессиональная или "настольная"?
Прежде всего, проанализируем преимущества, предоставляемые нам профессиональными СУБД по сравнению с их "настольными" аналогами (такими как FoxPro или Clipper). Какие преимущества получаем мы, выбирая профессиональный сервер баз данных?
Одно из важнейших требований, предъявляемых сегодня к информационной системе, - оптимизированный многопользовательский режим работы с развитой системой транзакционной обработки, позволяющий многочисленным пользователям работать с базой данных, не мешая друг другу.
Надежные механизмы защиты информации (учитывая стандартную трехзвенную архитектуру защиты: на уровне сети, на уровне сервера БД и на уровне клиентской ОС).
Эффективные инструменты для разграничения доступа к БД.
Поддержка широкого диапазона аппаратно-программных платформ.
Распределенная обработка данных.
Возможность построения гетерогенных и распределенных сетей.
Развитые средства управления, администрирования, контроля и мониторинга сервера БД.
Поддержка таких эффективных механизмов, как: словари данных, триггеры, функции, процедуры, пакеты и т.п.
Все это обусловило широкое распространение профессиональных СУБД в крупных организациях. Однако несмотря на явные преимущества профессиональных серверов баз данных, многие предприятия продолжают использовать информационные системы предыдущих поколений. Попробуем разобраться, почему такие программные продукты, как FoxPro или Clipper, неохотно сдают свои позиции. Как правило, использование таких систем обусловлено не столько их преимуществами, сколько недоверием к новым технологиям.
Вот наиболее распространенные стереотипы, зачастую препятствующие построению информационных систем на основе профессиональных СУБД.
Относительно высокая цена. Однако в настоящее время поставщики практически всех профессиональных серверов баз данных предлагают масштабируемые решения. К примеру, для крупных систем - Enterprise Edition, а для средних и малых - WorkGroup Edition и/или Desktop Edition, причем цена последних сегодня сравнима с ценами на локальные СУБД.
Высокие требования к аппаратным средствам. В связи с резким ростом производительности Intel-ориентированных аппаратных платформ сейчас большинство производителей профессиональных СУБД выпустило версии для Intel-серверов, в том числе и для ОС Linux. С учетом того, что эта операционная система, обладая мощностью UNIX, практически бесплатна, решение на ее основе, как правило, не повлечет больших финансовых затрат. Это позволяет ориентироваться при построении информационных систем не только на высокопроизводительные многокластерные RISC-серверы, но и на серверные Intel-платформы.
Сложность администрирования. Часто можно встретить утверждение, что профессиональные автоматизированные информационные системы (АИС) сложны и дороги в администрировании. Как правило, сложность администрирования зависит от конкретной АИС. Кроме этого, эксплуатация АИС на многопрофильном предприятии и на UNIX-платформе снимает многие локальные проблемы за счет широких возможностей удаленного администрирования из центра.
Высокая стоимость разработки. Многие считают, что разработка АИС на базе современной профессиональной СУБД стоит неприемлемо дорого. Действительно, проектирование современных интегрированных систем - процесс трудоемкий и требующий высокой квалификации разработчиков. Это находит отражение в цене. Но не настолько, чтобы цена разработки перекрывала преимущества системы по сравнению с ее предшественниками.
Дороговизна и низкое качество сопровождения. Бытует мнение, что сопровождение систем на базе профессиональной платформы неоправданно дорого, а его качество зачастую оставляет желать лучшего. Во многом такое мнение сложилось на основании опыта эксплуатации АИС зарубежного производства. Можно указать на целый ряд случаев, когда зарубежные поставщики либо отказывались своевременно вносить в систему исправления, обусловленные изменениями в законодательстве, либо требовали за них неоправданно крупные суммы. Однако к отечественным системам нового поколения, изначально рассчитанным на необходимость форсированного изменения принципов расчетов, это не относится. Лично я столкнулся с такой ситуацией при разработке информационной системы по учету расхода электроэнергии.
Итак, анализ рынка показывает, что современная АИС должна представлять собой интегрированный комплекс аппаратно-программных средств, реализующих многопредметную информационную систему, обеспечивающую современные финансовые, управленческие, проектирующие, производ- ственные и сбытовые технологии в режиме реального времени при транзакционной обработке данных. В принципе, это вполне закономерно. Персональные СУБД (Clipper, Clarion, FoxPro) совершенно не приспособлены для создания интегрированных систем, работающих с общей базой. Эти СУБД в принципе не поддерживают понятие "база данных", работая на уровне индивидуальных таблиц-файлов.
Профессиональная...
Но какая?
Если бы проблема выбора сервера баз данных ограничивалась таким решением, то жизнь была бы намного проще. Однако нельзя просто так взять и сказать: "Для нашего проекта потребуется профессиональная реляционная СУБД". Серверов баз данных много, и у каждого из них - свои достоинства и недостатки. Причем, то, что для одной задачи достоинство, может оказаться недостатком для другой.
Выбор конкретной архитектуры при построении информационной системы - это выбор двух основных компонентов:
серверной платформы (серверной ОС и СУБД);
платформ клиентских рабочих мест.
При выборе сервера баз данных очень важно остановиться на таком программном обеспечении, которое в наибольшей степени соответствует требованиям, предъявляемым к информационной системе. Для этого необходимо определить модель автоматизации (автоматизация документооборота или бизнес-процессов). В первую очередь здесь следует учитывать следующие факторы:
максимальное число пользователей, одновременно обращающихся к базе;
характеристики клиентского ПО;
аппаратные компоненты сервера;
серверная операционная система;
уровень квалификации персонала.
С другой стороны, следует принимать во внимание такие характеристики программного обеспечения СУБД, как
производительность;
масштабируемость;
высокая доступность данных в оперативном режиме;
функциональные возможности сервера;
средства безопасности;
средства разработки.
Среди всего многообразия серверных СУБД я выделю, на мой взгляд, наиболее распространенные. Это Informix Dynamic Server, Microsoft SQL Server, Oracle 9i и IBM DB2. Их характеристики мы и сравним в данной статье.
Знакомьтесь...
Для начала - несколько общих слов о рассматриваемых программных продуктах.
Informix. Работы над системой управления базами данных Informix начались еще в 1980 г. Первоначально этот программный комплекс рассматривался как сервер реляционных баз данных для UNIX. И в среде UNIX Informix действительно стала одной из основных СУБД. Среди других платформ она поддерживает NetWare, Windows 9х, Windows NT и DOS.
Программное обеспечение Informix состоит из серверов баз данных, средств разработки и отладки, коммуникационных средств. Характерной особенностью этого ПО является наличие нескольких типов серверов. Одним из основных достижений фирмы является выпуск сервера базы данных Informix Dynamic Server (IDS). Этот продукт основан на так называемой "динамически масштабируемой архитектуре" (Dynamically Scalable Architecture, DSA), специально ориентированной на многопроцессорные системы. Informix Dynamic Server обеспечивает повышение производительности за счет гибкости использования ресурсов СУБД и многопоточной архитектуры. Фактически IDS берет на себя многие функции операционной системы по распределению ресурсов. В результате - уменьшение нагрузки на ОС и как следствие - рост производительности. На мой взгляд, из всего многообразия продукции фирмы Informix Dynamic Server представляет наибольший интерес.
В настоящее время Informix поддерживает две основные версии серверов баз данных, а именно: IDS версия 7 и IDS версия 9. IDS 7 является реляционным сервером баз данных, обеспечивающим высокую производительность и масштабируемость. IDS 9 обладает всеми функциями IDS 7, плюс имеет приложения для Internet, включая объектно-реляционные технологии, помогающие пользователям хранить, искать и управлять видео-, HTML, XML и картографическими данными и изображениями.
DB2 Universal Database - объектно-реляционная СУБД, один из лидеров в производительности OLTP. Обеспечивает стандарт SQL, обеспечение доступности (в том числе и на кластерных решениях с высокой доступностью на платформах IBM, Microsoft, Sun), широкие возможности управления системой, богатые средства разработки приложений, в том числе и для Intrenet/intranet. Интегрирована с хранилищем данных DB2 Warehouse. Легко масштабируется. Включает в себя возможность работы с "федеративной базой данных" - данными, источником которых являются другие СУБД (Oracle, Informix, etc.). Включает в себя также: процессы репликации, возможности соединения DB2 для поддержки широкого набора платформ, поддержку популярных сетевых протоколов, поддержку стандартных API, интегрированный доступ к данным, возможности поддержки мобильных пользователей.
Среди технологий, обеспечивающих высокую производительность UDB DB2, можно назвать такие, как:
параллельное резервное копирование, восстановление и загрузка;
сегментирование данных и параллельная дисковая система ввода-вывода;
установление приоритетов задач;
регулирование производительности;
асинхронная запись;
последовательная упреждающая выборка из памяти;
набор технологий индексации;
оптимизированное объединение распределенных таблиц;
блокирование на уровне строки/таблицы;
перезапись запросов, автоматическое создание сводных таблиц.
В базовый комплект UDB DB2 входят также инструментальные средства разработки и управления, такие как Command Center (с функцией SQL Assist), Control Center (включающий в себя средства управления Warehouse и OLAP, а также Visual Explain), Мастер хранимых процедур для процедурного SQL и Java, и т.д.
Oracle 9i. В области разработки промышленных систем управления информацией Oracle считается (и не без основания) лидером. Лично я впервые услышал об этой компании как о производителе серверов баз данных. Однако сегодня она производит полный спектр продуктов для управления предприятием: базы данных и специальные сервера, средства разработки приложений и систем принятия решений, а также приложения для управления бизнесом. Oracle - одна из немногих компаний, способных предложить полное программное решение для создания информационной инфраструктуры предприятия и готовых приложений в глобальном масштабе.
Программное обеспечение Oracle работает на сетевых компьютерах, PDA, телевизионных приставках, ПК, рабочих станциях, миникомпьютерах, мэйнфреймах и системах с массивным параллелизмом.
Появление Internet позволило перенести обработку данных и управление ими с клиентских машин на серверы, доступ к которым осуществляется через Сеть. Такая архитектура накладывает на сервер базы данных новые требования. Технология тонких клиентов позволила перенести приложение с настольного ПК на сервер баз данных и, как результат, - создавать и обслуживать гораздо более сложные приложения. И хотя простота установки таких приложений позволяет большему числу пользователей получить доступ к системе, при этом на сервер ложится большая нагрузка.
Ядром СУБД является сервер базы данных, который поставляется в одной из четырех редакций в зависимости от масштаба информационной системы, в рамках которой предполагается его применение. Для Интернет-систем (public) систем масштаба крупной организации (Enterprise) предлагается продукт Oracle 9i Database Enterprise Edition (корпоративная редакция), для которого имеется целый набор опций, архитектурно функционально расширяющих возможности сервера. Продукт Oracle 9i Database Standard Edition (стандартная редакция) ориентирован на организации среднего масштаба или подразделения в составе крупной организации (workgroup). Для персонального использования предлагается "персональный Oracle" (Oracle 9i Database Personal Edition) и для систем мобильной связи небольших офисов - Oracle 9i Database Lite. В стандартной версии акцент сделан на невысокую стоимость, простоту установки сопровождения. При этом все варианты сервера Oracle имеют в своей основе один и тот же исходный код, функционально идентичны, за исключением некоторых дополнительных опций, которые необходимы для специфических конфигураций (например, для поддержки кластерных архитектур необходима опция Oracle 9i Real Application Clusters). Основное преимущество такого подхода к построению СУБД - это идентичность кода для всех вариантов сервера баз данных. Для всех компьютерных платформ архитектур существует единая СУБД Oracle, поставляемая в различных версиях, которая ведет себя одинаково, предоставляет одинаковую функциональность вне зависимости от платформы, на которой она установлена.
Развитая файловая система Internet File Systems (IFS) позволяет хранить в БД документы различных типов форматов, легко предоставлять их пользователям через различные интерфейсы (web, электронная почта, FTP, стандартные приложения Microsoft файловая система Microsoft). Независимо от способа доступа пользователей к содержимому iFS - через "Проводник" (Windows Explorer), Web-браузер, клиентское ПО, FTP или по электронной почте - файлы выглядят для них абсолютно одинаково. Реляционные данные выглядят и управляются как файлы, что позволяет создавать "гибридные" документы, объединяющие реляционные и не реляционные данные.
С точки зрения разработчика, iFS - это среда хранения с единственной точкой загрузки данных, содержащая информацию для множества различных программ и значительно облегчающая разработку приложений и интерфейсов. Для администратора системы iFS - это единая система для хранения файлов и обмена сообщениями, а не множество отдельных систем, каждой из которых нужно управлять отдельно.
Microsoft SQL Server. Наконец, добавим к "подопытной" группе СУБД, которая, по определению, может работать только под управлением операционной среды Windows, да к тому же создана одним из наиболее известных (причем, не только в положительном смысле этого слова) производителей программного обеспечения - Microsoft SQL Server. Остановимся на ее 2000-й версии. Не секрет, что к продукции фирмы Microsoft большинство из нас испытывает двойственное чувство: с одной стороны, программное обеспечение от Microsoft - одно из наиболее распространенных, а с другой - никогда не знаешь, действительно ли то или иное приложение работает именно так, как описано в документации.
Источник: "Компьютер Price", http://www.comprice.ru
|