(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Руководство по технической оценке продукта SQLBase от компании Gupta Technologies. Часть 1

Сурен Бехари (Suren Behari), менеджер по продуктам группы разработчиков
Чарльз Маклаут (Charles McLouth), менеджер по продуктам - SQLBase

Эффективный, безопасный перевод транзакций с настольных компьютеров на веб-серверы, работающие под управлением Linux или Windows

Введение

GuptaТехнологическая основа любой корпоративной системы основана на надежном, гибком хранении данных и их быстром извлечении. Много лет единственным решением для использования критически важных специализированных систем оставался универсальный компьютер. Но со временем рыночные приоритеты в значительной степени сместились к использованию архитектуры клиент/сервер, и не только для крупных организаций и транснациональных компаний. Не так давно постоянно возрастающее влияние интернета снова изменило технологическую и конкурентную картину.

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

СУБД SQLBase стала первой реляционной базой данных (RDBMS) для окружения на базе персональных компьютеров. Она являет единственной реляционной базой данных, в которой развивается и совершенствуется архитектура клиент/сервер, при этом СУБД позволяет успешно решать проблемы разработки приложений. С выпуском в 2004 г. СУБД SQLBase 9.0 компания Gupta Technologies продолжила традицию создания надежных, компактных встроенных баз данных для нескольких платформ. Данная производительная СУБД благодаря своей усовершенствованной архитектуре, цельным интерфейсам и "простоте использования" требует минимального администрирования. Комплект СУБД SQLBase представляет разработчикам готовую к эксплуатации систему для создания и гибкого развертывания приложений на любых компьютерах, начиная с настольных и заканчивая веб-серверами на платформах Windows и Linux. Все больше корпораций сталкиваются с необходимостью создания приложений, способных хранить и быстро извлекать данные с соблюдением мер безопасности. SQLBase представляет собой встроенную базу данных, не только удовлетворяющую этим требованиям, но и предоставляющую независимым поставщиками программного обеспечения не имеющую аналогов современную систему защиты.

Независимо от того, используется СУБД в собственных приложениях или встроена в программные системы, SQLBase предоставляет:

  • Производительность: Настоящая реляционная база данных с расширенными возможностями, например, усовершенствованный оптимизатор запросов на основе стоимости позволяет избежать ручной настройки, занимающей много времени.
  • Безопасность: В SQLBase поддерживается множество функции обеспечения безопасности, включая защиту сервера, шифрование страниц баз данных, защиту страниц баз данных от изменений, безопасную передачу данных и усовершенствованную технологию проверки паролей
  • Минимальные требования к аппаратному обеспечению: СУБД SQLBase может работать на компьютерах с минимальной памятью и более медленными процессорами. СУБД совершенствовалась для поддержки новых окружений и функциональных возможностей, но по-прежнему оставалась компактной, что делает ее пригодной для нового поколения портативных, настольных и серверных систем.
  • Автоматизация: Общие административные задачи, связанные с реляционной базой данных, выполняются в неявном виде, другие функции, например, оперативное резервное копирование, могут беспрепятственно встраиваться в приложение, что уменьшает число задач, выполняемых администратором базы данных (DBA).
  • Согласование: СУБД SQLBase разработана для платформ Windows и Linux и построена на одном базовом коде, что предоставляет совместимую функциональность для обеих систем. Это позволяет программистам, независимо от окружения разработки, использовать общий набор функций SQL/API и исключает проблемы, связанные с обработкой различных баз данных для разных платформ. При этом сокращается время на проверку качества и снижаются затраты на обслуживание приложения.
  • Устойчивость к ошибкам: Целостность транзакций обеспечивается ядром SQLBase, что гарантирует высокий уровень защиты данных. Новые усовершенствованные возможности регистрации транзакций позволяют в случае сбоев системы выполнять автоматическое восстановление.
  • Совместимость: СУБД SQLBase поддерживает большое количество стандартных интерфейсов, включая ODBC, OLE DB, JDBC Type 4, поставщик данных .NET и C/API, что позволяет разработчикам сосредоточиться на создаваемых приложениях, а не проблемах работы с базой данных.
  • Способность к нововведениям: Компания GUPTA постоянно улучшает СУБД SQLBase в соответствии с изменениями в требованиях разработчиков.
  • Надежность: Более 18 лет компания GUPTA занимается разработкой реляционных баз данных для рынка приложений клиент/сервер, за это время объем продаж составил более одного миллиона СУБД. Персонал службы технической поддержки оказывает помощь в успешной реализации проектов.
  • Благодаря этим функциям и улучшенным функциональным возможностям SQLBase обладает самой низкой совокупной стоимостью владения (TCO) среди ведущих систем управления реляционными базами данных. Поставщики больших систем управления реляционными базами данных, традиционно ориентированные на системы на базе больших ЭВМ, в последнее время пытаются масштабировать свои продукты для удовлетворения потребностей рабочих групп рынка приложений клиент/сервер, упрощая свои системы управления реляционными базами данных. Используя SQLBase в клиент/серверной или однопользовательской среде, пользователям не придется беспокоиться о производительной и незаметно работающей системе управления реляционными базами данных.
  • Мобильные и удаленные пользователи: Благодаря своей компактности и поддержке платформ Windows и Linux, СУБД SQLBase представляет собой идеальное решение для приложений, развертываемых в изолированном окружении при отсутствии администратора баз данных, например, в филиалах компании или мобильных портативных компьютерах.
  • Веб-приложения баз данных: Появилось новое поколение приложений, работающих в сетях интранет или экстранет, которые заменяют или дополняют клиент/серверные приложения с помощью браузера или интернет-технологий. Однако по-прежнему сохраняется потребность в надежных хранилищах данных с низкими затратами на обслуживание. СУБД SQLBase с открытыми интерфейсами (.NET, OLE DB, ODBC, JDBC и PHP) полностью соответствует такой потребности на платформах Windows или Linux.
  • Промежуточные базы данных в среде веб: Во многих компаниях требуется сделать часть внутренней базы данных видимой через интернет для новых групп пользователей, но без риска доступа к производственной базе данных. В качестве промежуточной базы данных отличным решением является сервер SQLBase Server, на котором данные можно хранить и сделать их доступными с малыми затратами и риском.

Надежность и производительность сохраняется при масштабировании между однопользовательским и многопользовательским режимами, между Windows и Linux

Часть 1 - Архитектура SQLBase

Производительные базы данных, например, СУБД SQLBase построены на базовой архитектуре манипулирования данными. Такая архитектура расширяется с помощью специальных функциональных возможностей и дополняется интерфейсами и инструментами, обеспечивающими доступ и использование всех функций базы данных. Эффективность базы данных измеряется такими функциональными возможностями как производительность, надежность, управляемость, безопасность данных и др. Способность обрабатывать сложные запросы и удовлетворять потребностям разработчиков определяют, насколько все эти возможности подходят для совместной работы.

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

Расширения ядра SQLBase:

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

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

Настоящая серверная архитектура

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

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

Обеспечение межплатформенной целостности с помощью общих строк кода

СУБД SQLBase разработана специально для операционных систем Windows и Linux на платформе Intel. Для всех платформ используется один исходный код, что обеспечивает целостность функциональных возможностей и интерфейсов. Требования к дисковому пространству и памяти минимальны (см. Приложение). В результате разработчики приложений используют один исходный код, что позволяет снизить затраты на разработку, обеспечение качества и поддержку.

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

Компоненты СУБД SQLBase

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

  • Драйвер JDBC 4 уровня для SQLBase компании GUPTA: обеспечивает доступ к SQLBase для любых Java приложений на любой платформе.
  • оставщик OLE DB: совместимость практически со всеми доступными интерфейсами IDE, включая Visual Studio, Visual Studio.NET и Delphi.
  • Поставщик данных .NET: обеспечивает собственную совместимость .NET с любым .NET языком программирования.
  • Драйвер ODBC: обеспечивает совместимость с диспетчерами драйверов Windows или Linux.
  • Администратор обмена данными: Утилита, автоматически запускающая центр справки, облегчающий процесс установки и конфигурирования. Данную утилиту можно запустить в любое время из группы программ GUPTA.
  • Консоль управления SQLBase (SMS): Консоль управления SQLBase представляет собой оснастку консоли управления Microsoft и выглядит и ведет себя подобно инструментам управления Windows. В консоли отображаются подробные сведения статистики базы данных, например, размер базы данных, файлы журналов и статистика по выполненным или восстановленным транзакциям Microsoft Transaction Server (MTS).
  • SQLConsole: Полностью графическое средство управления базами данных для администрирования и мониторинга производительности SQLBase.
  • SQLTalk для Windows: Утилита Windows, предоставляющая интерактивный пользовательский интерфейс для выполнения команд SQL. Обширная справочная система содержит всю необходимую информацию.
  • SQLTalk для Linux: Утилита оболочки Linux, предоставляющая интерактивный пользовательский интерфейс для выполнения команд SQL и сценариев.

Язык структурированных запросов (SQL)

В отличие от баз данных, преобразующих язык SQL из других парадигм, например, системы с индексно-последовательным методом доступа, СУБД SQLBase имеет собственную поддержку SQL. С помощью SQLTalk администраторы баз данных и разработчики могут использовать SQL в интерактивном режиме. SQLTalk предоставляет синтаксис для доступа к данным, используемый приложениями на программном уровне. Помимо поддержки основного стандарта ANSI-92 SQL, в СУБД SQL реализованы различные функции, позволяющие более эффективное и удобное использование этого стандарта по сравнению с другими системами управления базами данных:

  • Декларативная ссылочная целостность гарантирует целостности баз данных.
  • Хранимые процедуры и триггеры баз данных позволяют использовать специализированные правила и операции.
  • Расширяемость баз данных за счет внешних функций.
  • Множество операторов языка определения данных (DDL) (например, для переименования таблиц и столбцов) и отката DDL, облегчающих разработку прототипов сценариев и системы.
  • Позиционируемые вперед и назад курсоры для обеспечения оптимальной производительности приложений Windows.
  • Возможность выполнения нескольких независимых транзакций с различными курсорами на одном клиентском приложении обеспечивает максимальную гибкость для приложения и разработчиков.

Программируемые базы данных

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

  • Ссылочная целостность (RI)
  • Хранимые процедуры
  • Внешние функции
  • Триггеры баз данных
  • Хранимые команды
  • Поддержка транзакций
  • Поддержка многопоточных приложений
  • Точка сохранения
  • Откат DML
  • Поддержка распределенных транзакций (двухфазная фиксация транзакции)

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

Функция/Функциональная возможность

Преимущество

Инкапсуляция бизнес-функций
  • Обеспечивает централизованное эффективное обслуживание
  • Повышенная безопасность
  • Менее сложные приложения
  • Возможность централизованного обслуживания
  • Меньшие затраты на обслуживание и разработку
  • Практическое использование денормализации
  • Улучшенная производительность
  • Низкие затраты на обслуживание
  • Улучшенное обслуживание
  • Упрощенная разработка приложений
  • Решение проблемы нерегламентированного доступа
  • Обеспечение целостности данных
  • Разработчики приложений затрачивают меньше усилий
  • Улучшенное обслуживание
  • Более низкие затраты
  • Ссылочная целостность (RI)

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

    Синтаксис и семантика декларативной ссылочной целостности SQLBase совместимы с DB2: поддерживаются ограничительные, каскадные и неопределенные параметры. Декларированные для базы данных правила хранятся в таблицах каталогов, обеспечивая основной уровень самодокументирования. В качестве альтернативы с помощью триггеров можно использовать процедурную ссылочную целостность.

    Хранимые процедуры

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

    Что такое хранимые процедуры?

    В SQLBase хранимые процедуры представляют собой именованный набор процедурных операторов, записанный в базе данных. Подобно обычным операторам SQL, хранимые процедуры можно использовать для выполнения операций и формирования результирующих наборов с несколькими строками. В хранимые процедуры можно передавать параметры и возвращать несколько значений. Приложения могут в явной форме вызывать хранимые процедуры с помощью ODBC, OLE DB, .NET или SQL/API, или автоматически с помощью использования триггеров.

    Хранимые процедуры записываются с помощью подмножества SQLWindows Application Language (SAL), эффективного простого процедурного языка, лежащего в основе SQLWindows/32 и GUPTA Team Developer. Используя SAL, компания GUPTA дополняет свой практический опыт и технологию и предоставляет разработчикам SQLBase эффективную и надежную инфраструктуру. С помощью этих средств пользователи легко могут выполнить миграцию кода существующих приложений.

    Зачем использовать хранимые процедуры?

    Хранимые процедуры позволяют использовать существующий код GUPTA Team Developer, что обеспечивает следующие преимущества:

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

    Внешние функции

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

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

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

    Триггеры

    Триггеры обеспечивают выполнение готового набора процедурного кода при каждой попытке изменения отдельного элемента данных. Триггеры полезно использовать в следующих случаях:

    • Применение бизнес-правил, выходящих за рамки стандартной декларативной ссылочной целостности.
    • Распространение изменений в базе данных на связанные таблицы.Ш Полное предотвращение изменений в случае нарушения бизнес-правил. Задание значений по умолчанию в соответствии со бизнес-правилами.
    • Добавление журналов аудита к таблицам с помощью записи старых значений в таблицы "истории".
    • Реализация столбцов первичных ключей с численным "автоинкрементом".

    В СУБД SQLBase реализована полная и гибкая поддержка триггеров, позволяющая разработчикам баз данных решать практически любые задачи:

    • Запуск INSERT, UPDATE или DELETE. Запуск на уровне строки или оператора.
    • Возможность вызова внешних функций. Возможность запуска до или после применения изменений.
    • Доступность в пределах триггера старых и новых значений. Несколько триггеров (включая триггеры одного типа) для таблицы и операции. Рекурсия (триггеры могут запускать другие триггеры в той же самой или в другой таблице).
    • Программируемое прерывание и откат операции в случае ошибки, определенной пользователем.

    Хранимые команды

    Хранимые команды используются для обеспечения наилучшей производительности часто используемых операторов SQL. Хранимые команды аналогичны хранимым процедурам, за исключением того, что в них содержится один оператор SQL (команда SELECT или DML). Они также компилируются, оптимизируются и хранятся в базе данных. После записи команды в базу данных приложения могут вызывать ее без передачи по сети служебной информации, компиляции и оптимизации запросов. По одному запросу можно вызвать несколько хранимых команд (данный процесс называется сцеплением), например, для формирования последовательного идентификатора одной таблицы для вставки записи в другую таблицу. Это позволяет уменьшить количество сетевых сообщений и общую нагрузку на сеть. Хранимые команды обеспечивают максимальную производительность для приложений оперативной обработки транзакций (OLTP).

    Поддержка транзакций

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

    Поддержка многопоточных приложений

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

    Пример 1: Пока в одном окне выполняется длительный процесс обработки набора операций базы данных, пользователь может продолжать работать с другими частями приложения.

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

    Точки сохранения

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

    Откат DML

    В отличие от большинства других баз данных в SQLBase возможен откат изменений структуры базы данных без изменения данных. Это крайне полезная функция при разработке схем и обновлении развернутых баз данных.

    Поддержка распределенных транзакций (двухфазная фиксация транзакции)

    Двухфазная фиксация обеспечивает высококачественную серверную функциональность в простых для использования программных системах. Целостность транзакций для нескольких баз данных в SQLBase поддерживается с помощью технологии двухфазной фиксации. Эта технология позволяет одной транзакции выполнять изменения в нескольких базах данных SQLBase, расположенных на различных аппаратных системах. Это происходит, если базы данных функционально связаны в одной сети, что ранее было возможно только с помощью больших дорогих систем со сложными базами данных и сетевыми компонентами.

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

    Поддержка бизнес-транзакций с помощью Microsoft Transaction Server MTS

    Интеграция СУБД SQLBase в корпоративные транзакции. Выполнение транзакций больше не ограничивается базой данных. Теперь транзакции охватываются сложные бизнес-процессы, включающие обновление баз данных от различных поставщиков и расположенных в различных узлах. Поддержка MTS позволяет полностью интегрировать SQLBase в COM+ транзакции, включая поддержку полной фиксации и отката для всех транзакций. Для создания MTS транзакций можно использовать различные языки программирования, включая Team Developer. Например, одна объединенная транзакция может переводить деньги с локальной учетной записи SQLBase в центральную учетную запись на сервере SQL Server. Транзакция либо выполняется успешно, либо, в случае сбоя, выполняется откат во всех задействованных базах данных.

    Эффективность и производительность

    СУБД SQLBase представляет собой оптимизированную высокопроизводительную систему управления базами данных на платформе Intel, более миллиона развертываний доказали, что SQLBase прекрасно работает в реальных условиях, а не только в лабораториях. Превосходная производительность и набор функций SQLBase отвечает всем требованиям современных пользователей.

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

    Многострочный доступ

    SQLBase обеспечивает приложения данными по запросу. Большинство СУБД разработаны для предоставления по каждому запросу приложения отдельной строки из базы данных. Это происходит потому, что многие системы управления базами данных, которые разрабатывались для окружений на базе больших или мини-ЭВМ, были предназначены для работы с приложениями, расположенными на сервере (без использования технологии клиент/сервер) или с простыми приложениями командной строки.

    СУБД SQLBase изначально разработана для работы в действительном окружении клиент/сервер. Она оптимизирована для буферизации нескольких строк, которые затем можно передать с серверной части приложений на клиентскую в одном сетевом сообщении. Это позволяет значительно сократить сетевой трафик и нагрузку и обеспечивает более быстрый отклик на многострочные запросы.

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

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

    Оптимизатор на основе затрат и статистики

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

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

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

    Возможности языка SQL зачастую позволяют извлекать информацию из базы данных SQL с помощью различных способов задания оператора SELECT. Оптимизатор запросов СУБД SQLBase может проверять запросы и делать их более эффективными с помощью изменения их внутренней структуры.

    Регистрация восстановления данных

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

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

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

    продолжение статьи

    Ссылки по теме


     Распечатать »
     Правила публикации »
      Написать редактору 
     Рекомендовать » Дата публикации: 22.12.2005 
     

    Магазин программного обеспечения   WWW.ITSHOP.RU
    SAP® Crystal Presentation Design 2016 WIN INTL NUL
    КОМПАС-3D v17 Home
    IBM Domino Messaging Client Access License Authorized User License + SW Subscription & Support 12 Months
    ABViewer Professional пользовательская
    IBM Domino Messaging Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
     
    Другие предложения...
     
    Курсы обучения   WWW.ITSHOP.RU
     
    Другие предложения...
     
    Магазин сертификационных экзаменов   WWW.ITSHOP.RU
     
    Другие предложения...
     
    3D Принтеры | 3D Печать   WWW.ITSHOP.RU
     
    Другие предложения...
     
    Новости по теме
     
    Рассылки Subscribe.ru
    Информационные технологии: CASE, RAD, ERP, OLAP
    Новости ITShop.ru - ПО, книги, документация, курсы обучения
    Программирование на Microsoft Access
    CASE-технологии
    СУБД Oracle "с нуля"
    Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
    Новые программы для Windows
     
    Статьи по теме
     
    Новинки каталога Download
     
    Исходники
     
    Документация
     
     



        
    rambler's top100 Rambler's Top100