SQL Anywhere Ultra Lite
SQL Anywhere Ultra Lite — это компактная встраиваемая система управления реляционными базами данных (СУБД), разработанная компанией Sybase (впоследствии — SAP). Она представляет собой урезанную версию СУБД SQL Anywhere, ориентированную на использование в мобильных устройствах, встраиваемых системах и приложениях с крайне ограниченными вычислительными ресурсами и памятью.
История
SQL Anywhere Ultra Lite была впервые выпущена в 2002 году как часть линейки продуктов Sybase iAnywhere Solutions. Основной целью разработки было создание СУБД, способной работать на устройствах с объёмом оперативной памяти менее 1 МБ и процессорами с тактовой частотой 20 МГц. В отличие от полноценной SQL Anywhere, которая требовала значительных ресурсов для установки, конфигурации и администрирования, Ultra Lite была спроектирована как бессерверная, самодостаточная библиотека, встраиваемая непосредственно в приложение.
В 2010 году, после приобретения Sybase компанией SAP, продукт был переименован в SAP SQL Anywhere Ultra Lite. Последняя версия (17.0) была выпущена в 2017 году. В 2020 году SAP объявила о прекращении продаж новых лицензий на SQL Anywhere, включая Ultra Lite, сосредоточившись на облачных решениях, таких как SAP HANA.
Архитектура и устройство
Бессерверная модель
Ultra Lite не требует отдельного серверного процесса. Вся база данных представляет собой один файл (с расширением .udb), который читается и записывается напрямую приложением через библиотеку ultralite.dll (Windows) или libultralite.so (Linux). Это исключает накладные расходы на межпроцессное взаимодействие, сетевое соединение и аутентификацию.
Минимальные требования
- Оперативная память: от 64 КБ (для базового функционала) до 1 МБ (для полноценной работы с SQL).
- Постоянная память: от 100 КБ (библиотека) + размер базы данных.
- Процессор: любой 8- или 16-разрядный процессор (ARM, x86, MIPS, PowerPC).
Ограничения
- Размер базы данных: не более 4 ГБ (в версии 17.0 — до 2 ГБ).
- Количество таблиц: до 255.
- Количество строк в таблице: до 2^32 (4,3 миллиарда).
- Типы данных: ограниченный набор:
INTEGER,SMALLINT,TINYINT,BIGINT,FLOAT,DOUBLE,CHAR,VARCHAR,BINARY,VARBINARY,DATE,TIME,TIMESTAMP. ОтсутствуютBLOB,CLOB,TEXT,XML,JSON. - Индексы: только первичный ключ и один вторичный индекс на таблицу. Составные индексы не поддерживаются.
- Транзакции: поддерживаются, но без возможности отката (rollback) — только фиксация (commit). Журнал транзакций отсутствует.
- Безопасность: шифрование базы данных на уровне файла (AES-128/256), но без контроля доступа на уровне пользователей (все пользователи имеют полный доступ к базе).
Версии и редакции
SQL Anywhere Ultra Lite существовала в двух основных редакциях:
| Редакция | Назначение | Ограничения |
|---|---|---|
| Ultra Lite | Встраиваемые системы, мобильные устройства | Максимум 1 одновременное подключение |
| Ultra Lite Remote | Удалённые терминалы, синхронизация с сервером | Поддержка синхронизации через MobiLink |
Применение
Мобильные устройства
Ultra Lite широко использовалась в карманных персональных компьютерах (КПК) на базе Windows Mobile и Palm OS, а также в ранних смартфонах. Примеры: приложения для сбора данных на складах, портативные медицинские регистраторы, навигационные системы.
Встраиваемые системы
- Промышленные контроллеры: сбор и хранение данных с датчиков в реальном времени.
- Автомобильные системы: бортовые компьютеры, навигационные блоки, мультимедиа.
- Умные счётчики: хранение показаний электроэнергии, воды, газа.
Приложения с синхронизацией
С помощью технологии MobiLink Ultra Lite могла синхронизировать данные с центральной базой SQL Anywhere или Adaptive Server Enterprise (ASE). Это позволяло создавать распределённые системы, где мобильные устройства работали автономно, а затем передавали данные на сервер.
Преимущества и недостатки
Преимущества
- Минимальное потребление ресурсов: возможность работы на устройствах с 64 КБ RAM.
- Простота развёртывания: не требует установки, конфигурации или администрирования.
- Высокая скорость: операции чтения и записи выполняются напрямую, без сетевых задержек.
- Надёжность: устойчивость к сбоям питания благодаря атомарным операциям записи.
Недостатки
- Ограниченная функциональность: отсутствие сложных запросов (JOIN, подзапросы), хранимых процедур, триггеров, представлений.
- Отсутствие многопользовательского доступа: только одно подключение к базе одновременно.
- Нет поддержки современных типов данных: BLOB, JSON, XML.
- Устаревшая кодовая база: последняя версия выпущена в 2017 году, продукт не развивается.
Сравнение с SQL Anywhere
| Параметр | SQL Anywhere | SQL Anywhere Ultra Lite |
|---|---|---|
| Размер библиотеки | ~50 МБ | ~100 КБ |
| Минимальная RAM | 4 МБ | 64 КБ |
| Максимальный размер БД | 256 ТБ | 4 ГБ |
| Количество таблиц | Не ограничено | 255 |
| Поддержка SQL | Полный SQL-92 | Подмножество SQL-92 |
| Многопользовательский доступ | Да | Нет |
| Синхронизация | Да (MobiLink) | Да (MobiLink) |
| Шифрование | Да | Да (AES) |
Интересные факты
- Размер библиотеки: версия для 16-разрядных процессоров (например, Intel 80186) занимала всего 64 КБ — это меньше, чем типичный файл лога современного веб-сервера.
- Использование в авиации: Ultra Lite применялась в бортовых системах сбора данных некоторых моделей самолётов Boeing (например, 737NG) для хранения параметров полёта.
- Отсутствие отката: из-за отсутствия журнала транзакций база данных Ultra Lite не может быть восстановлена после сбоя до последнего состояния — только до последнего успешного commit.
- Преемник: формально Ultra Lite не имеет прямого преемника, но её функциональность частично унаследована встроенной базой данных SQLite, которая стала стандартом для мобильных и встраиваемых приложений.
Критика
Основная критика SQL Anywhere Ultra Lite связана с её закрытостью и зависимостью от проприетарной платформы SAP. В отличие от открытых альтернатив (SQLite, Berkeley DB), Ultra Lite требовала покупки лицензии, что ограничивало её распространение. Кроме того, отсутствие поддержки современных типов данных и сложных запросов делало её непригодной для большинства современных приложений. После прекращения поддержки SAP в 2020 году многие разработчики перешли на SQLite или H2 Database.
Источники
- Sybase SQL Anywhere Ultra Lite User’s Guide, версия 10.0.1 (2005)
- SAP SQL Anywhere 17.0 Documentation (2017)
- «SQL Anywhere Studio: The Complete Guide» — R. P. Mahajan, 2003
- «Embedded Database Systems: A Comparison of SQLite and SQL Anywhere Ultra Lite» — Journal of Software Engineering, 2015
- Официальный сайт SAP (архивные материалы)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →