Открыть сервис

IBM DB2 Everyplace

IBM DB2 Everyplace — это реляционная система управления базами данных (СУБД) корпорации IBM, предназначенная для работы на мобильных и встраиваемых устройствах. Она представляет собой лёгкую версию СУБД DB2, оптимизированную для ограниченных вычислительных ресурсов, таких как малый объём оперативной памяти, низкая производительность процессора и ограниченное энергопотребление. Основное назначение IBM DB2 Everyplace — обеспечение хранения, синхронизации и управления данными на портативных устройствах (карманные персональные компьютеры, смартфоны, планшеты) и в промышленных встраиваемых системах.

История

Разработка IBM DB2 Everyplace началась в конце 1990-х годов, когда рынок мобильных устройств переживал бурный рост. Компания IBM стремилась расширить функциональность своей флагманской СУБД DB2 на мобильные платформы, где требовались небольшие размеры и низкое потребление ресурсов. Первая версия продукта была выпущена в 1999 году под названием DB2 Everyplace, и она базировалась на ядре, полученном от компании Cloudscape (позже приобретённой IBM). В 2000 году вышла версия 7.1, которая поддерживала операционные системы Palm OS, Windows CE и EPOC (Symbian). В 2003 году была представлена версия 8.1, добавившая поддержку платформы Linux для встраиваемых устройств. В 2005 году продукт был переименован в IBM DB2 Everyplace, а в 2006 году вышла версия 9.1, которая включала поддержку Java Micro Edition (Java ME) и улучшенную синхронизацию с серверными базами данных. В 2007 году IBM объявила о прекращении активной разработки DB2 Everyplace, сосредоточив усилия на облачных и мобильных решениях, таких как IBM MobileFirst. Последняя версия, DB2 Everyplace 9.5, была выпущена в 2008 году, после чего продукт был переведён в режим поддержки без выпуска новых функций.

Архитектура и устройство

IBM DB2 Everyplace имеет клиент-серверную архитектуру, но с возможностью работы в автономном режиме на устройстве. Основные компоненты включают:

  • Ядро СУБД — компактный реляционный движок, поддерживающий подмножество SQL (язык структурированных запросов). Ядро реализовано на языке C++ и занимает от 500 КБ до 2 МБ в зависимости от платформы.
  • Менеджер синхронизации — компонент, отвечающий за двустороннюю синхронизацию данных между мобильным устройством и серверной базой данных DB2 (или другой СУБД через шлюзы). Синхронизация может выполняться по расписанию, по запросу или при подключении к сети.
  • Клиентский интерфейс — API (интерфейс прикладного программирования) для доступа к данным из приложений, написанных на Java (JDBC), C/C++ (ODBC) или встроенных языках (например, для Palm OS).
  • Хранилище данных — данные хранятся в виде файлов в собственном формате, оптимизированном для чтения и записи на флеш-памяти. Поддерживается сжатие и шифрование данных.

Характеристики

  • Размер базы данных — до 2 ГБ (в зависимости от версии и платформы).
  • Поддержка SQL — базовые операции SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, CREATE INDEX, транзакции с поддержкой ACID (атомарность, согласованность, изоляция, долговечность).
  • Типы данных — INTEGER, SMALLINT, DECIMAL, FLOAT, CHAR, VARCHAR, DATE, TIME, TIMESTAMP, BLOB (двоичные большие объекты) до 2 ГБ.
  • Индексы — B-деревья, хеш-индексы.
  • Безопасностьаутентификация по паролю, шифрование данных (AES-128), контроль доступа на уровне таблиц.
  • Платформы — Palm OS, Windows CE, Windows Mobile, Symbian (EPOC), Linux (ARM, x86), Java ME.

Классификация

IBM DB2 Everyplace относится к классу мобильных СУБД (mobile DBMS) и встраиваемых СУБД (embedded DBMS). В зависимости от сценария использования выделяют:

  • Персональные мобильные базы данных — для хранения личных данных на смартфонах и КПК (контакты, заметки, календари).
  • Корпоративные мобильные решения — для синхронизации данных с серверными системами, например, для полевых работников (инвентаризация, заказы, отчёты).
  • Встраиваемые системы — для промышленных контроллеров, медицинских приборов, автомобильных навигационных систем.

Применение

IBM DB2 Everyplace использовалась в различных отраслях:

  • Логистика и транспорт — для управления складскими запасами, отслеживания грузов, сбора данных с мобильных терминалов.
  • Здравоохранение — для хранения медицинских карт пациентов, рецептов, результатов анализов на портативных устройствах врачей.
  • Розничная торговля — для мобильных касс, инвентаризации, управления ценами.
  • Промышленность — для сбора данных с датчиков, управления производственными процессами на встраиваемых контроллерах.
  • Финансовый сектор — для мобильного банкинга, обработки транзакций в офлайн-режиме.

Примеры использования

  • В 2002 году компания UPS (United Parcel Service) внедрила DB2 Everyplace на КПК для водителей, чтобы синхронизировать данные о доставках.
  • В 2005 году компания Siemens использовала DB2 Everyplace в медицинских мониторах для хранения данных пациентов.
  • В 2007 году российская компания «1С» выпустила мобильное решение «1С:Предприятие 8. Мобильное приложение», которое использовало DB2 Everyplace в качестве встроенной СУБД для хранения справочников и документов на устройствах под управлением Windows Mobile.

Критика и ограничения

Несмотря на инновационность для своего времени, IBM DB2 Everyplace имела ряд недостатков:

  • Ограниченная функциональность SQL — отсутствовали хранимые процедуры, триггеры, представления, что усложняло разработку сложных приложений.
  • Производительность — на устройствах с малым объёмом ОЗУ (менее 32 МБ) скорость выполнения запросов была низкой, особенно при работе с большими таблицами (более 100 000 строк).
  • Синхронизация — механизм синхронизации требовал постоянного сетевого подключения и был чувствителен к разрывам связи, что приводило к конфликтам данных.
  • Поддержка платформ — с уходом Palm OS и Symbian с рынка в 2010-х годах продукт потерял актуальность для большинства современных мобильных устройств.
  • Конкуренция — на рынке мобильных СУБД её вытеснили более лёгкие и гибкие решения, такие как SQLite (с 2000 года) и Berkeley DB (Oracle).

Интересные факты

  • IBM DB2 Everyplace была одной из первых коммерческих СУБД, поддерживающих синхронизацию с серверными базами данных через протокол HTTP (HyperText Transfer Protocol) и HTTPS (HyperText Transfer Protocol Secure).
  • Ядро DB2 Everyplace было основано на коде СУБД Cloudscape, которая позже стала основой для Apache Derby — открытой реляционной СУБД на Java.
  • В 2004 году IBM выпустила версию DB2 Everyplace для Linux на архитектуре ARM, что позволило использовать её в ранних версиях планшетов и промышленных контроллеров.
  • Продукт был интегрирован в IBM WebSphere Everyplace Access — платформу для мобильных корпоративных приложений, которая включала сервер синхронизации, шлюзы и средства разработки.

Источники

  • IBM Corporation. «IBM DB2 Everyplace: Introduction and Planning». IBM Redbooks, 2003.
  • IBM Corporation. «DB2 Everyplace Version 8.1: Administration Guide». IBM, 2004.
  • IBM Corporation. «DB2 Everyplace Version 9.1: SQL Reference». IBM, 2006.
  • Томас К. «Мобильные базы данных: обзор и сравнение». Журнал «Открытые системы», № 5, 2005.
  • Документация IBM по DB2 Everyplace на сайте IBM Knowledge Center (архивная версия, 2008).
  • Статья «IBM DB2 Everyplace: A Mobile Database for the Enterprise» на сайте DeveloperWorks, 2002.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →