Семейство СУБД Oracle можно использовать во встраиваемых приложениях, но потребление памяти может оказаться недопустимо большим, а функциональность частично излишней. Сегодня Oracle предлагает другие встраиваемые базы данных (другое название - встроенные базы данных), в том числе TimesTen, Berkeley DB и Oracle Database Lite. Они специально написаны так, что потребляют относительно мало ресурсов, и предназначены для других целей.
Oracle Lite
Oracle Lite – это семейство продуктов для разработки мобильных приложений, нуждающихся в базе данных. Основные компоненты – Oracle Lite Database, Mobile Development Kit и Mobile Server (расширение Oracle Application Server).
Для ядра Oracle Lite Database требуется от 50 Кбайт до 1Мбайт памяти в зависимости от платформы. Обращаться к базе можно с помощью языков Mobile SQL, C++ и Java. Также поддерживается интерфейс ODBC. Поддержка Java включает написанные на Java хранимые процедуры и интерфейс JDBC. Оптимизация и администрирование Oracle Lite Database производятся автоматически. Эта СУБД может работать на карманных устройствах под управлением операционных систем Windows CE, Symbian, Windows и Linux.
Обычно при работе с Oracle Lite пользователь подключает свое карманное или мобильное устройство, в котором установлена база данных Oracle Lite Database, к полноценному серверу Oracle Database Server.
После этого происходит автоматическая синхронизация данных между двумя системами. Затем пользователь может отключить устройство от сети и работать в автономном режиме. Сделав все необходимое, он снова подключается к серверу и синхронизирует данные.
Oracle Lite поддерживает различные механизмы синхронизации:
- двусторонняя синхронизация между мобильным устройством и сервером Oracle;
- синхронизация на базе модели «издатель-подписчик»;
- поддержка протоколов TCP/IP, HTTP, CDPD, 802.1 и HotSync.
Можно задать репликацию подмножеств данных с разными приоритетами. Поскольку нахождение данных в разных точках может приводить к конфликтам (в каком месте находится «правильная» версия?), предоставляется механизм автоматического разрешения конфликтов, допускающий и ручную настройку.
Mobile Server предоставляет единую платформу для публикации, развертывания, синхронизации и управления мобильными приложениями. Для контроля доступа к мобильным приложениям можно использовать развернутый в Сети центр управления. Кроме того, в состав Mobile Server вошел прежний продукт Oracle «Web-to-Go», который обеспечивает централизованный, управляемый мастерами механизм разработки и развертывания приложений.
Oracle TimesTen
Oracle TimesTen – это реляционная база данных, которая находится целиком в физической памяти и обычно применяется для высокопроизводительной обработки транзакций. Доступ к данным, хранящимся в TimesTen, осуществляется посредством SQL, JDBC, JMS и ODBC. База данных под управлением TimesTen может работать в режиме монопольного или разделяемого доступа и создаваться как постоянная или временная.
Обновление базы данных производится путем сбора данных с помощью библиотек TimesTen, скомпонованных с приложением, или из базы данных Oracle посредством механизма Cache Connect. Поскольку данные извлекаются из оперативной памяти и там же обновляются, среднее время считывания или обновления обычно составляет миллионные доли секунды. Механизм Cache Connect поддерживает кэширование данных, полученных из базы Oracle, как при чтении, так и при записи. Синхронизация TimesTen и Oracle может быть двусторонней.
Как и положено встраиваемым базам данных, TimesTen почти не требует администрирования. Возможна репликация из одной базы данных TimesTen в другую с помощью дополнительных средств, причем по умолчанию это делается асинхронно.
Oracle Berkeley DB
Oracle Berkeley DB – это встраиваемый движок базы данных, потребляющий очень мало ресурсов и обеспечивающий блокировку на уровне записей. Поставляется в виде версий для Java и XML. База спроектирована для работы в одном процессе с приложением. Если Berkeley DB развертывается в таком режиме, то никакого отдельного администрирования базы данных вообще не требуется. Для работы может хватить всего 400 Кбайт.
В редакции Berkeley DB Java Edition поддерживаются Java Transaction API (JTA), J2EE Connector Architecture (JCA) и Java Management Extensions (JMX). Продукт в этом случае представляет собой единственный JARфайл размером 820 Кбайт и работает в контексте той же виртуальной Javaмашины, что и само приложение. Для доступа к Java-объектам предназначен слой Direct Persistence Layer (DPL).
Редакция Berkeley DB XML Edition чаще всего применяется в сетевых приложениях для управления контентом. Поддерживаются языки XQuery и Xpath.
Обе редакции можно сконфигурировать для обеспечения высокой доступности за счет репликации. Также поддерживается автоматическое восстановление. Решение о таком способе развертывания принимается на этапе проектирования приложения.