SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР Операционная система реального времени QNX
Инструменты для создания надёжных встраиваемых систем и
интеллектуальных устройств любой сложности
QNX Software Systems - разработчик встраиваемой операционной системы QNX
  Стандартная версия

Компания Empress предлагает эффективное решение для построения встраиваемых БД

Встраиваемые базы данных помогают управлять данными в системах, которые должны работать по принципу "настрой и забудь". В этой статье мы рассмотрим возможности Empress, одной из лучших встраиваемых СУБД.

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

Что же представляет собой встраиваемая база данных? Встроенная система управления базой данных - это система, которая может быть связана с клиентским приложением таким образом, чтобы приложение и СУБД работали в едином адресном пространстве. Вместе со встроенной базой данных приложение может быть развернуто как единая программа, которая функциональна, эффективна и автономна. Этот подход отличается от стандартных систем управления базами данных - например, DB2, Oracle или SQL Server - которые запускаются как отдельный процесс и требуют наличия соединения между приложением и СУБД посредством одной из форм межпроцессного взаимодействия.

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

Для примера рассмотрим требования по обработке данных в автономных приложениях или устройствах. Сегодня встроенные базы данных применяются для обработки данных в самых различных приложениях: начиная от интеллектуальных коммутаторов и маршрутизаторов и банковских терминалов и заканчивая потребительскими устройствами (например, цифровыми видеомагнитофонами) и сложными медицинскими инструментами и оборудованием. Можно с уверенностью сказать, что большинство людей используют технологии на основе встроенных баз данных как минимум раз в неделю или даже ежедневно.

По мере того как высокие технологии все глубже проникают в сферу потребительских устройств, мы чаще и чаще слышим о встраиваемых базах данных. Конечно, для вашего тостера вовсе не нужны все те "навороты" (а следовательно, и связанные с ними накладные расходы), которые требуются для корпоративной СУБД! Однако небольшая встроенная база данных, подключенная к вашему телевизору и способная запоминать настройки изображения, просматривать программу передач и рекомендовать вам программы для просмотра, была бы весьма полезна. Фактически мое DVD-записывающее устройство TiVo это и делает, правда, оно не встроено в телевизор, а присоединяется к нему. Со временем эта технология будет настолько простой и автоматической, что ее можно будет внедрять в домашнюю электронику без каких-либо проблем для ее функционирования. То есть, вам не придется объяснять вашей маме, что телевизор не работает, и она не сможет посмотреть свой любимый сериал из-за сбоя во встроенной в телевизор базе данных.

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

Однако следует иметь в виду, что мир встраиваемых баз данных довольно разнообразен. Одно встроенное приложение может хранить большой объем данных и требовать при этом небольшой объем оперативной памяти. А для другого, наоборот, может понадобиться только небольшая среда постоянного хранения. Гибкость и одновременно минимальные требования к ресурсам и администрированию - вот, что необходимо на рынке встраиваемых СУБД.

Знакомство с Empress

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

Одним из успешных поставщиков на рынке встраиваемых СУБД является компания Empress Software, Inc. Основанная в 1979 году, эта частная компания поставляет встраиваемую СУБД Empress как напрямую конечным пользователям, так и через различных OEM-производителей, системных интеграторов и своих дистрибьюторов по всему миру.

Встраиваемая СУБД Empress обеспечивает высокую степень надежности и производительности, занимая при этом очень небольшой объем памяти, что и требуется для встраиваемой СУБД. База данных Empress является конфигурируемой и объем занимаемой ею памяти зависит от выбранных настроек. Обеспечение производительности и сервиса в пределах небольшого объема памяти и размера диска является отличительной чертой устройства СУБД Empress.

Функциональность

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

Кроме того, СУБД Empress обладает такими функциями обеспечения целостности данных, как декларативная целостность ссылочных данных, условия проверки диапазонов и триггеры, которые зачастую отсутствуют в ранних или "компактных" СУБД.

Кроме того, СУБД Empress поддерживает надежную реализацию SQL. Наличие таких возможностей, как внешнее соединение, EXCEPT и INTERSECT, а также хороший набор агрегатных и встроенных функций, значительно упрощает в Empress написание программ на SQL, если вы уже знакомы с реализацией SQL, используемой в других популярных СУБД.

Более того, в СУБД Empress вы можете обращаться к данным, используя свой любимый язык программирования. СУБД Empress поддерживает целый ряд различных API для нескольких языков программирования, что дает программистам гибкость и возможность выбора. Имеются API для Java, C, C++, HTML и Fortran. Для C есть даже несколько API на выбор. Приложения, разработанные с применением этих API, могут работать как в автономном, так и (или) в серверном режиме.

В качестве вспомогательного средства для встраивания БД Empress вы можете использовать дополнительный набор утилит Embedded Real-Time (ERT) Toolkit. Этот набор представляет собой API для языка C, который упрощает разработку посредством набора абстрактных объектов данных.

Требования к ресурсам

Исходя из требований, которые предъявляются к встраиваемым базам данных, наиболее важным для них является минимальное расходование вычислительных ресурсов. СУБД Empress в высокой степени является модульной системой; ее минимальный размер зависит от базовой операционной системы и от опций, выбранных для данной реализации. Фактически Empress может работать с памятью размером всего 1 Мб, в то время как невстраиваемые СУБД требуют много мегабайт памяти при начальной загрузке для хранения ядра базы данных, а также при кэшировании и буферизации.

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

В СУБД Empress есть даже возможность применения операций "грязного" чтения (dirty reads). Эти операции могут повысить производительность за счет чтения данных без учета блокировок. Конечно, это может создать проблемы с целостностью данных, т.к. в этом случае "читатель" может получить доступ к данным, которые еще не зафиксированы или не сохранены. Целью данной статьи не является подробное обсуждение операций "грязного" чтения (которые иногда еще называют "незафиксированные операции чтения"), поэтому ограничимся только высказыванием, что наличие поддержки подобной возможности в СУБД Empress еще раз показывает, что это действительно полнофункциональная, хотя и встраиваемая, СУБД.

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

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

Как мы говорили в начале этой статьи, настоящие встраиваемые решения предъявляют минимальные требования по администрированию баз данных и системному управлению. Тем не менее, для обеспечения необходимой гибкости, СУБД Empress позволяет регулировать различные параметры администрирования БД и системные переменные для осуществления контроля над окружением БД Empress. Используя эти параметры и переменные, администратор БД может устанавливать различные размеры блока, требования по протоколированию и измерительным средствам, конфигурационные характеристики (например, расположение каталогов и файлов), формат даты и другие аспекты функционирования БД. Однако глубокий мониторинг и тонкая настройка параметров, как в большинстве классических СУБД корпоративного уровня, не требуется. Для встраиваемых СУБД главным является принцип "настрой и забудь".

СУБД Empress также имеет дополнительные утилиты для упрощения администрирования и, в том числе, управления построением БД, проверки целостности БД и т.д. Разумеется, в СУБД Empress есть утилиты для перемещения данных, а также резервного копирования и восстановления данных, как положено для любой полнофункциональной СУБД. Более того, если вам нужно продублировать данные из одной БД в другую, вы можете использовать сервер репликации (Empress Replication Server), который обладает мощными возможностями для распределения данных из исходной базы в одну или множество целевых БД.

Поддерживаемые платформы

СУБД Empress гибка и в отношении базовых платформ. Она работает как в режиме клиента, так и в режиме сервера на всех основных платформах типа UNIX, Linux, FreeBSD, Windows и платформах реального времени, включая: основные реализации UNIX (Sun Solaris, HP-UX, IBM AIX, Compaq Tru64 UNIX, SGI IRIX и т.д.), популярные Linux-дистрибутивы (Red Hat, SuSE, FreeBSD и т.д.), Windows (NT, 2000, XP), Mac OS X и множество ОС реального времени (QNX 4 и 6, Lynx O/S, Bluecat, RTLinux, MontaVista и т.д.). Конечно, этот список далеко не исчерпывающий, поэтому для уточнения вопросов поддержки других платформ, обращайтесь в компанию Empress.

СУБД Empress подходит для различных комбинаций оборудования и операционных систем. Она может быть развернута как на минимальных рабочих станциях, так и на высокоуровневых 64-битных многопроцессорных серверах.

Промышленные применения

Компания Empress может похвастаться внушительным списком клиентов, которые используют встроенную СУБД Empress для весьма разнообразных и интересных приложений и систем. Например, в системе Advanced Battlefield Computer System (боевой симулятор ABACUS) встроенная СУБД Empress используется для хранения тысяч видов информации, начиная от типов вооружения и заканчивая погодными условиями и временем загрузки транспортных средств. Боевой симулятор ABACUS - это обучающая программа, которая применяется в странах НАТО по всему миру и может быть конфигурирована в соответствии с требованиями самых различных организаций, как военных, так и гражданских.

Другим интересным применением СУБД Empress является поддержка автоматизированной системы рассылки метеосводок. В системе сбора спутниковых и радиолокационных данных для автоматизированной рассылки метеосводок изображения, полученные с метеоспутников, и обобщенные радиолокационные данные поступают во Всемирный метеорологический центр ВВС США в штате Небраска. Изображения с метеоспутников в этой системе хранятся при помощи СУБД Empress.

СУБД Empress применяется даже в космических исследованиях. Например, встроенная СУБД Empress применялась для системы нацеливания бортовых инструментов и проведения рекогносцировочных наблюдений POINTER (Planetary Observation Instrument Targeting, Encounter Reconnaissance), которая была установлена на исследовательском космическом спутнике "Галилей". СУБД Empress была выбрана для этого проекта благодаря ее способности быстро обрабатывать большие объемы данных, например, таких как характеристики облаков и газовых образований, показания температуры, параметры датчиков и т.д.

Резюме

СУБД Empress является встраиваемой. Это означает, что вы можете включить СУБД Empress в приложение, которое ее использует, т.е. для работы СУБД Empress не требуется отдельный сервер БД. Конечно, если нужно, вы можете использовать Empress в качестве сервера. Однако на рынке встраиваемых систем серверы не нужны из-за их сложности.

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

Одним словом, компания Empress предлагает надежное, мощное и выгодное решение для построения встраиваемых БД на самых разнообразных платформах. Вы сделаете правильный выбор, если решите использовать СУБД Empress для управления данными в вашем встроенном приложении.

Оригинал статьи: http://www.dbazine.com/blogs/blog-cm/craigmullins/blogentry.2005-05-20.0887687749

Автор: Крейг Малинс (Craig Mullins), компания Mullins Consulting, Inc. , 20 мая 2005 г.