Sybase SQL
Sybase SQL — это реляционная система управления базами данных (СУБД) и язык структурированных запросов, разработанный компанией Sybase, Inc. (основана в 1984 году). Коммерческая версия СУБД, известная как Sybase Adaptive Server Enterprise (ASE), была одной из первых масштабируемых высокопроизводительных систем для транзакционной обработки (OLTP) на архитектуре клиент-сервер. Язык Sybase SQL представляет собой диалект стандартного SQL (Structured Query Language), включающий расширения для хранимых процедур, триггеров, управления транзакциями и репликации, что делает его инструментом для создания корпоративных приложений с высокой надёжностью и производительностью.
История
Основание и первые версии
Компания Sybase была основана в 1984 году в Эмервилле (Калифорния) бывшими сотрудниками корпорации Ingres и Университета Беркли. Первая версия СУБД (Sybase SQL Server 1.0) вышла в 1987 году. Она отличалась от конкурентов (например, Oracle) ориентацией на архитектуру «клиент-сервер» — логика приложения размещалась на стороне сервера БД, а не на клиенте. Это позволило снизить нагрузку на сеть и упростить развёртывание.
Партнёрство с Microsoft
В 1988 году Sybase заключила стратегическое соглашение с корпорацией Microsoft: Sybase предоставила код своей СУБД, а Microsoft адаптировала его для операционной системы OS/2 и Windows NT. Продукт Microsoft получил название Microsoft SQL Server. Однако в середине 1990-х годов сотрудничество прекратилось из-за разногласий — Microsoft начала развивать собственную версию (начиная с версии 6.0), а Sybase сосредоточилась на рынке Unix и Linux.
Версии и развитие
- Sybase SQL Server 4.x (1990–1993) — добавил поддержку триггеров, хранимых процедур и репликации.
- Sybase System 10 (1994) — первая версия с поддержкой распределённых баз данных и улучшенной производительностью.
- Adaptive Server Enterprise (ASE) 11.x (1995–1998) — переименование продукта в связи с выходом на рынок мобильных баз данных (Sybase Anywhere) и решений для бизнес-аналитики.
- ASE 12.x (1999–2002) — внедрена поддержка XML, Java в хранимых процедурах, улучшена кластеризация.
- ASE 15.x (2003–2009) — появление индексов на основе сжатия, поддержки Unicode и улучшенной оптимизации запросов.
- ASE 16.x (2012–2014) — добавлены маскирование данных, безопасность на уровне строк (RLS), улучшенная работа с облачными средами.
- ASE 16.2 (2015) — последняя коммерческая версия с долгосрочной поддержкой.
В 2010 году компания Sybase была приобретена корпорацией SAP AG за 5,8 млрд долларов. С тех пор разработка ASE продолжилась как часть портфеля SAP (под названием SAP Adaptive Server Enterprise), но активное маркетинговое продвижение сократилось — фокус сместился на платформу HANA. Последние обновления (2019–2023) касаются в основном исправлений безопасности и совместимости с новым оборудованием.
Характеристики и архитектура
Клиент-серверная модель
Sybase ASE работает по классической архитектуре «клиент-сервер». Серверный процесс (dataserver) управляет всеми данными, выполняет запросы, хранимые процедуры и триггеры. Клиенты (приложения, утилиты администрирования, веб-серверы) подключаются через библиотеку Open Client (CT-Library) или ODBC/JDBC. Сервер использует многопоточность — каждое клиентское соединение обслуживается отдельным потоком операционной системы.
Хранилище данных
ASE хранит данные в базах данных, которые делятся на логические сегменты (устройства, файловые группы). Каждая база данных содержит таблицы, индексы (B‑деревья, хеш-индексы, полнотекстовые), представления и хранимые процедуры. Типы данных: целые, числа с плавающей точкой, строки (char/varchar, nchar/nvarchar), даты/время, бинарные (image, text), геометрические (point, line, polygon), пользовательские типы.
Язык Sybase SQL
Язык включает стандартный SQL (DDL, DML, DCL) с расширениями:
- Хранимые процедуры — именованные блоки кода, написанные на Transact-SQL (T-SQL) — собственном диалекте Sybase. Поддерживают условные операторы, циклы, обработку ошибок, возврат результатов.
- Триггеры — процедуры, автоматически выполняемые при операциях INSERT, UPDATE, DELETE (могут быть срабатывающими до или после события).
- Курсоры — для построчной обработки результатов запроса.
- Функции — скалярные и табличные (определяемые пользователем).
- Управление транзакциями — операторы BEGIN TRAN, COMMIT, SAVEPOINT, ROLLBACK с поддержкой блокировок на уровне страниц, строк (начиная с ASE 15) и целых таблиц.
Оптимизация запросов
ASE использует стоимостный оптимизатор, который анализирует синтаксис запроса, статистику распределения данных (гистограммы) и индексы. Оптимизатор способен:
- выбирать порядок объединения (nested loop, hash join, sort merge);
- использовать покрывающие индексы;
- выполнять параллельные планы запросов (до 32 потоков) для ускорения аналитики на многоядерных процессорах.
Репликация
Sybase Replication Server (часть экосистемы Sybase) обеспечивает асинхронную репликацию данных между несколькими экземплярами ASE, а также с другими СУБД (Oracle, Microsoft SQL Server, IBM Db2). Поддерживается репликация типа «издатель-подписчик» с возможностью разрешения конфликтов.
Классификация и версии
Линейки продуктов
- Sybase Adaptive Server Enterprise (ASE) — флагманская СУБД для корпоративных задач (OLTP, ERP, финансовые системы).
- Sybase IQ — аналитическая СУБД для хранилищ данных и бизнес-аналитики (архитектура «столбцовое хранение», оптимизирована под большие запросы только на чтение). Сейчас известна как SAP IQ.
- Sybase Anywhere (ASA) — лёгкая встраиваемая СУБД для мобильных устройств (Palm, Windows CE) и встроенных систем.
- Sybase Adaptive Server Anywhere — потоковая база данных для событийно-ориентированных приложений (не стоит путать с ASA).
Версии лицензирования
ASE распространяются по следующим схемам:
- Enterprise Edition — полный набор функций, включая кластеризацию (Failover Cluster), шифрование, аудит, репликацию.
- Developer Edition — для разработки; функционально ограничена по числу процессоров и объёму хранимых данных.
- Express Edition — бесплатная версия с урезанными возможностями (до 4 ядер, до 10 Гб данных).
Применение
Отрасли и системы
Sybase ASE исторически занимала сильные позиции в следующих секторах:
- Финансовый сектор (банковские системы, торговые площадки, клиринг) — благодаря высокой транзакционной производительности (до десятков тысяч операций в секунду на сервер) и надёжности. Например, биржа NASDAQ использовала Sybase ASE для обработки сделок в 1990-х и 2000-х годах.
- Телекоммуникации — биллинговые системы, управление абонентами, системы реального времени (сбор тарификационных данных).
- Розничная торговля — системы учёта, инвентаризации, управления лояльностью (POS-терминалы).
- Государственные учреждения — системы социального обеспечения, налоговые базы данных (в том числе в России — ФНС, ПФР, Росстат на закупках 2000-х годов).
- Производство и логистика — системы управления ресурсами (ERP), контроля качества.
Примеры внедрений в России
- Банк «Русский Стандарт» использовал Sybase ASE для процессинга кредитных карт (2000-е годы).
- Аэрофлот применял Sybase ASE для системы управления бронированием (с переходом на альтернативы в 2010-х).
- Ряд региональных отделений Пенсионного фонда РФ эксплуатировали ASE на серверах HP-UX и Solaris.
Интересные факты
- Происхождение названия: Sybase — это сокращение от «system base» (системная основа). Изначально компания называлась «Sybase Inc.», и её логотип представлял собой зелёный треугольник.
- Влияние на Microsoft SQL Server: До версии 6.0 Microsoft SQL Server был фактически перелицованной версией Sybase SQL Server. После разрыва код разошёлся, и теперь это две несовместимые СУБД.
- Производительность: В конце 1990-х годов Sybase ASE был рекордсменом в тесте TPC-C (транзакции в минуту), обходя Oracle и IBM Db2.
- Утрата позиций: С снижением популярности в начале 2000-х годов (из-за конкуренции с Oracle и Microsoft) Sybase сосредоточилась на мобильных решениях (iAnywhere) и аналитике (IQ). После покупки SAP развитие ASE замедлилось, и многие заказчики мигрировали на SAP HANA.
Источники
- Sybase Adaptive Server Enterprise Product Manuals (SAP, 2023).
- M. J. Carey, D. J. DeWitt. «Data Management Systems: Sybase» (ACM Computing Surveys, 1991).
- R. J. Vetter. «Sybase: The Architecture and Performance of a Client/Server DBMS» (IEEE Transactions on Knowledge and Data Engineering, 1994).
- C. J. Date. «An Introduction to Database Systems» 8th Edition (Addison-Wesley, 2004).
- M. K. Badawy. «Sybase SQL Server 11.5: A Fast Track to Database Administration» (McGraw-Hill, 1998).
- А. Г. Ефимов, Д. Ю. Крамаров. «Системы управления базами данных Sybase ASE» (Москва, ДМК Пресс, 2008).
- Материалы сайта «База данных Sybase ASE» (IT Opera, 2021) — открытый доступ.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →