ASE 15.5 – что нового? Краткий обзор Андрей Хромов, Sybase CIS Конференция «СУБД-2010» Sybase ASE 15.5 • “ASE 15.5” это последняя на сегодня версия СУБД Sybase – Предыдущая версия 15.0.3 была выпущена в Q4 2008 – Последняя «большая версия» ASE 15.0 была выпущена в Q3 2005 • Дата рождения ASE 15.5: – ASE 15.5 Enterprise Edition – вышел в свет (GA) в декабре 2009 – ASE 15.5 Clustered Edition – вышел в свет в марте 2010 – Первый пакет обновлений 15.5 ESD#1 ожидается в июне 2010 (*) • ASE 15.5 это "Interim Release“ (промежуточный) – Переход с 15.0.x на 15.5 не требует процедуры Upgrade – Возможен прямая миграция с 12.5.x на 15.5 ASE 15.5: что нового? Новая функциональность Описание Что это дает In-Memory Database и утилита инкрементного переноса данных Создание баз данных, целиком размещаемых в оперативной памяти, а также возможность инкрементного экспорта/импорта данных из них • Радикальное увеличение скорости транзакционных операций Advanced Backup Services – Tivoli Storage Manager Возможность использования для резервного копирования баз данных ASE внешней системы Tivoli Storage Manager • Упрощение интеграции процесса резервного копирования Sybase с общекорпоративным решением - на базе Tivoli Storage Manager Технология «облегченной» компрессии для Backup Server В Backup Server включена поддержка нового алгоритма компрессии - FastLZ, более экономичного, с точки зрения потребления ресурсов ЦП и ОЗУ • Более эффективное использование системных ресурсов аппаратного сервера Отложенное разрешение имен для Хранимых процедур Разрешение имен объектов (таблиц и т.п) для процедур производится во время первого выполнения процедуры, а не в момент ее создания • Облегчение процесса миграции • Реализация полноценной DDL репликации • Реализация обратного инжиниринга для хранимых процедур любого типа Новые типы данных: BigDateTime и BigTime Поддержка точности хранения времени до микросекунд • Хранение точной временной метки события (например для биржевых событий) без какойлибо потери точности Создание групп для баз TEMPDB Управление пользовательскими временными базами TEMPDB с помощью создания для них пользовательских групп • Более гибкое управление ресурсами временных баз данных TEMPDB Базы Данных в Памяти (In-Memory Databases) Максимальная производительность для систем с интенсивной обработкой данных Где это актуально • Инвестиционные рынки – Приложения для трейдинга (системы «парирования» заявок, трейдинг дериативов, справочные данные, управление рисками) • Телекоммуникации – – – – Системы учета (затрат) и биллинга в реальном времени Предложение дополнительных услуг в реальном времени Аутентификация клиентов, трекинг вызывающих абонентов Регистрация местоположения домашних абонентов и визитеров • Государственные сектор – Системы обработки потоковой информации – Системы мониторинга, военные проиложения • Системы «Фронт-офис», интернет-магазины – Формирование «на лету» персонализированного контента – Актуальная информация о наличии товаров – Выдача «на лету» сводной информации о клиенте Максимальная производительность для систем с интенсивной обработкой данных Основные сложности • С точки зрения «бизнеса» – Требуется учитывать каждую миллисекунду Нужно обрабатывать все больше и больше данных Нужно обрабатывать их все быстрее и быстрее Нужно быть максимально «реактивным» для клиентов • С технической точки зрения – Требуется решение, которое должно Работать Быть экономичным, с минимальным кол-вом нововведений Легко интегрироваться с уже существующей средой Быть достаточно гибким Опция ASE «In-Memory Databases» Что такое «Базы данных в памяти» Базы данных в памяти (In-Memory Database, IMDB) • Функциональность реляционной БД, полностью интегрированная с традиционными базами ASE, размещаемыми на дисках • База данных ASE, полностью размещаемая в оперативной памяти, без каких-либо частей на диске, избавленная от дискового ввода/вывода. • Ослабленные требования к сохранности данных (см. 4 принципа транзакционности ACID: Atomic, Consistent, Isolated, Durable ) ASE 15.5 IMDB – Сценарии использования Сценарий Пример Максимально быстрый доступ к данным, используемым в основном на чтение, особенно - в многопользовательской среде • Справочная информация, проверки на соответствие действующим политикам и правилам (трейдинговые системы) • Клиентские данные, данные о наличии товара (системы электронной коммерции) Обработка больших объемов поточных данных, генерация «на лету» производных данных • Инвестиционные рынки (котировки, сделки, новостные ленты) • Системы мониторинга, информационные панели , ключевые индикаторы Пакетная обработка данных, буферы промежуточной обработки данных, системы «стейжинга» • Многопроходные процедуры очистки данных с сохранением окончательного результата на диске • Длительные пакетные задания, обрабатывающие порожденные данные Распределенные системы • Доставка данных ASE в терминальные системы Бездисковая альтернатива для временных объектов (временные таблицы ASE, рабочие таблицы). • Системы формирования отчетности, DSS-приложения, генерирующие в процессе своей работы множество временных таблиц • Временные таблицы ASE для обмена промежуточными данными между сессиями соседних пользовательских процессов ASE • Данные с коротким временем жизни (например, содержимое «корзины» покупателя в электронном магазине) Преимущества • Минимизация задержек при работе с данными • Способность очень быстро «проглатывать» большие объемы данных • Не нужно тратить дисковый ресурс для хранения временных данных • Полная интегрированность с существующей архитектурой ASE Классическая база данных ASE (на диске) 3: create database выделяет под новую базу место на дисковом устройстве (добавляются строки в sysusages/sysdatabases) 2: disk init создает на части физического диска т.н. дисковое устройство ASE (‘логический диск‘) (добавляется строка в sysdevices) 1: физический диск («железо») База данных в памяти (IMDB) 4: create database выделяет под новую базу место на дисковом устройстве (добавляются строки в sysusages/sysdatabases) 3: disk init создает дисковое устройство ASE (‘логический диск') на специальном кэше (добавляются строки в sysdevices) 2: sp_cacheconfig создает специальный кэш Классическая БД ASE (на диске) 1: Память, доступная ASE imdb named cache ASE IMDB: жизнь без дискового В/В • Механизм восстановления базы после сбоя сервера (recovery) отсутствует => после выключения сервера (shutdown) содержимое базы IMDB «испаряется» – При старте ASE база IMDB всегда пересоздается наново – Для создания IMDB «по образцу» можно указать базу-шаблон • Журнал транзакций на диске отсутствует => нет сохраняемости транзакций – Но данные из IMDB могут выгружаться и затем загружаться в обычную «дисковую» БД • Для DML-команд можно использовать «минимальное журналирование» – Поступаясь при этом еще одним принципом ACID - Atomicity • Максимальный размер IMDB ограничен размером доступной кэш-памяти • Кэш типа nmemory_storage оптимизирован для работы без дисковых операций – Нет механизма «отмывки буферов» и т.п. Базы данных ASE – выбирай на вкус! ASE 15.5 поддерживает следующие виды баз данных • Обычные БД (База данных на диске, DRDB – не новый тип базы) – Принципы ACID или полностью гарантированы, или delayed commit – Восстановление в случае сбоя - гарантировано • IMDB (База данных в памяти) New! – Дисковое пространство не используется; нет дискового В/В; журнал транзакций на диске не используется – Долговременная сохраняемость транзакций не гарантируется – Поддерживаются DML-команды с минимальным журналированием (облегченный принцип атомарность транзакций) – Восстанавливаемость после сбоев - отсутствует, при перезагрузке ASE база всегда пересоздается с нуля, возможно использование для пересоздания базу-шаблон • RDDB (База данных с негарантируемой сохранностью) New! – Полностью на диске, ее размер может превышать размеры памяти – Использует многие возможности и оптимизации баз IMDB – Восстанавливаемость после сбоев не гарантируется; возможно использование базы-шаблона • Временная БД, TEMPDB (не новый тип базы) – Обычная база данных ASE, размещаемая на диске, обычно использует режим delayed commit, обычно большей частью закеширована • Временная БД в памяти New! – Временная база ASE (такая же как Tempdb) со свойствами IMDB ASE IMDB – в чем привлекательность • Элегантность: ASE IMDB это просто база ASE, полностью интегрированная с ASE – Дополнительная сложность, связанная с новым по сути решением, минимальна • Низкий TCO: ASE IMDB не является «еще одним новым отдельным компонентом» – – – – Который потребует интеграции со всем существующим хозяйством … … и отдельного конфигурирования, скриптов запуска/остановки… … и мониторинга системного лога, установки собственных патчей … … как может быть, в случае использования других IMDB решений • Супер-производительность: за счет нестрогого соответствия ACID – ASE 15.5 предлагает компромисс между производительностью и такими характеристиками транзакций как сохраняемость и атомарность • Позволяет использовать излишки большого объема памяти для улучшения производительности записи • Полная поддержка T-SQL, полная поддержка стандартных интерфейсов (Sybase OpenClient, ODBC, JDBC) • Диски при этом не используются вовсе • Создание баз дынных ASE IMDB и дальнейшая работа с ними очень похожа на работу с обычными базами данных ASE ASE IMDB по сравнению с Флеш-дисками Почему бы не размещать базы данных ASE на флеш-дисках (SSDs) вместо использования ASE IMDB? • Флеш-диски обеспечивают гарантированную сохраняемость транзакций • Имеют значительно более высокую производительность, чем обычные диски Отличия IMDB: • Если для дисковых устройств базы используются флеш-диски, то механизм восстанавливаемости БД по-прежнему должен обеспечиваться • С точки зрения Sybase ASE, флеш-диск ничем не отличается от обычного диска с пластинами, только работает быстрее Следовательно: • Флеш-диски по-прежнему требуют дискового В/В (а значит MRU-LRU, wash markers,…) • Необходимо вести дисковый журнал транзакций • Внутренняя оптимизация, используемая для IMDB, не может быть использована Результаты внутренних тестов: • В целом ряде тестов ASE IMDB значительно опередил обычные базы ASE на флеш-дисках Новая опция ASE 15.5: Интеграция с Tivoli Storage Manager Backup Server и Tivoli Storage Manager • В первую очередь предназначено для клиентов, уже использующих TSM • TSM обеспечивает централизированное управление корпоративными дисковыми ресурсами, поддерживает различные типы дисков и накопителей и позволяет эффективно управлять всеми дисковыми ресурсами • TSM умеет работать с различными типами носителей, не только с файлами и лентами • TSM использует в работе модель «клиент-сервер» • В данном случае Sybase Backup Server выступает в роли клиента, а TSM - сервера • Лицензируется как опция ASE: Advanced Backup Services - TSM • Примечание: само ПО TSM Sybase НЕ ПРЕДОСТАВЛЯЕТ dump / load commands (T-SQL) Tivoli Storage Manager Backup Server ASE databases TSM API ASE server TSM Client TSM Server Backup Storage Media Другие нововведения ASE 15.5 Другие нововведения • Пользовательские группы для баз TEMPDB – Позволяет DBA создавать для баз TEMPDB дополнительные группы (кроме Default Group) – Группы баз TEMPDB могут быть привязаны к определенным Логинам или Приложениям – Это позволяет лучше управлять ресурсом пула временных баз • Новые виды компрессии для Backup Server – В 15.5 появились 2 новых уровня компрессии – 100 и 101 (новый алгоритм – FastLZ) – Ранее использовался метод компрессии ZLIB ( уровни компрессии 0 .. 9) – Отличие FastLZ в том, что для его работы требуется заметно меньше ресурсов ЦП и ОЗУ (на 50%) • Отложенное разрешение имен (для хранимых процедур) – Позволяет создавать хр. процедуры, где используются объекты, пока еще реально не созданные – Разрешение имен происходит во врем выполнения процедуры – Облегчает процесс миграции • Новые типы данных – BigTime, BigDateTime – Повышенная точность – до микросекунд (старый тип datetime имеет точность 3 миллисекунды) – Предназначены для хранения очень точных временных отсчетов (timestams), например в системах трейдинга ОТКАЗОУСТОЙЧИВОСТЬ СУБД Практика решений Disaster Recovery Обеспечение отказоустойчивости СУБД Решения Sybase Continuous Multi-Site Availability HA Clusters & Synchronous Replication Multi-Site DR & HA: Synchronous ASE HA Option + Storage Replication + Sybase Mirror Activator Storage Replication + Sybase Mirror Activator Storage & Transaction Replication Multi-Site HA: Asynchronous Transactional Replication Multi-Site File Availability Storage Replication Site Availability HA Clusters & HA Software Server Availability Hardware Redundancy:RAID/Mirroring/ Hot Swap CPUs Server Recovery Cold Standby: Backup / Restore Database & Log Sybase Replication Server Storage Replication ASE HA Option Disk & Hardware Redundancy Sybase backup server, BMC SQL Backtrack, etc… Sybase MirrorActivator Решение класса Business Continuity • Sybase Mirror Activator – решение для повышения эффективности катастрофоустойчивых систем, построенных на основе зеркалирования дисковых массивов на базе СУБД Sybase ASE • Работая совместно с дисковой репликацией обеспечивает поддержку «активной» резервной СУБД с гарантированной транзакционной целостностью Основная площадка «Клиенты» ВебСервер Сервер Приложений СУБД Файловая система Mirror Activator Дисковая репликация Файловая система Веб сервер Поддерживаются: EMC SRDF, IBM PPRC, Veritas Volume Replicator, NetApp SnapMirror, Hitachi TrueCopy и др. СУБД Сервер приложений Резервная площадка MirrorActivator – схема работы Основная площадка Резервная площадка Трейдинговая Система Трейдинговая Система (Отчетность) 4. Транзакция попадает в резервный ASE-сервер, доступный для Отчетов RepServer Дисковая поблочная репликация (EMC SRDF…) ASE 1. Создается новая сделка и пишется в БД Data Device Log device Data Device ASE Log device Mirrored Log device 2. Аппаратная репликация Mirror Activator 3. MA читает зеркало Лога и посылает транзакцию в RS OpenSwitch – прозрачное переключение OpenSwitch - специально разработанное Sybase программное средство для управления подключениями пользователей к ASE и выполнения автоматических действий в случае сбоя одного из серверов OpenSwitch Офис 2 Офис 1 Сеть Приложения Front - Office Сервер 1 Rep Server Сервер 2 Приложения Back - Office При аварии на Cервере 1 OpenSwitch по запрограммированному в нем регламенту без участия администратора на месте выполняет прописанный перечень работ (в частности, восстановление работы Сервера 1) и производит переключение клиентов на второй сервер Балансировка нагрузки Кэширование соединений Преимущества MirrorActivator Требования клиентов: Mirror Activator позволяет: Мгновенная доступность данных в случае отказа Восстановить работоспособность за секунды Меньшая стоимость владения (TCO) Уменьшить нагрузку на сеть до 50% за счет передачи журналов изменений, а не всех данных Выбрать менее дорогостоящую аппаратуру для организации резервирования Иметь 100% защиту от физических повреждений данных на уровне дисков (за счет синхронной поблочной репликации дисковых массивов) Гарантировать логическую целостность данных , за счет репликации транзакций СУБД , что позволяет избежать ошибок при восстановлении из-за потери логической целостности базы Использовать резервные системы для чтения практически идентичной в реальном времени копии данных Отсутствие потерь данных Улучшенный Уровень Сервиса (Service Levels) и лучшая отдача от вложений 25 — February 2, 2010