СУБД Oracle – надежность, безопасность и отказоустойчивость Вашего бизнеса Игорь Мельников Старший консультант Oracle СНГ
План Обзор СУБД корпорации Oracle Возможности Oracle Database 11g Опции Oracle Database 11g Преимущества выбора СУБД от Oracle
Обзор линейки СУБД корпорации Oracle
У Oracle много СУБД Oracle 11g TimesTen Berkeley DB Oracle Lite Встраиваемые СУБД Унаследованные СУБД Oracle Databases CODASYL Express RDB Специальные Hyperion
Oracle TimesTen – СУБД реального времени
Oracle TimesTen Основы технологии Высоко-производительная БД, целиком размещаемая в RAM Гибкие возможности для сохранения данных на диск Оптимизация структур и алгоритмов для размещения в памяти Легкая установка и конфигурирование Disk Persistence/ Recovery TimesTen
Почему TimesTen быстрее Дисковая СУБД Hash Function Linked Lists Into Buffers Buffer Pool Приложение SQL Копирование записей в Private Buffer Data Page Предположим, что страница уже в памяти... Пересылка буфера в приложение (via IPC) Table#Page# Query Optimiser /Executor Определение адреса искомой страницы на диске Вычисление указателя на адрес страницы (Page Pointer) с использованием хэширования и линейного поиска IPC
Почему TimesTen быстрее: TimesTen Memory-Resident Database Приложение SQL Вся БД загружена с диска в память до начала работы Memory Address Query Optimiser / Executor Data Store Вычисление прямого адреса в памяти для искомой записи Копирование данных в буфера приложения
Архитектура систем реального времени Работает синхронно с оборудованием Содержит дополнительные и исторические данные. Работает асинхронно с оборудованием
TimesTen Cache Connect to Oracle Кеширование множества таблиц из Oracle Database Только чтение или изменения Двунаправленные изменения: Из TimesTen в Oracle Из Oracle в TimesTen Несколько экземпляров TimesTen для одной Oracle DB Режимы репликации Cache Connect to Oracle Oracle In-Memory Database Network In-Memory Database Application-Tier Platforms Application Program TimesTen Application Program TimesTen
Быстродействие Увеличение быстродействия с Cache Connect to Oracle 275,000 2,497, ,000 1,000,000 1,500,000 2,000,000 2,500,000 3,000,000 Oracle Oracle +TimesTen Transactions per Minute Oracle Oracle+TimesTen
Oracle Berkeley DB
Berkeley DB Описание Гибкий и быстродействующий механизм (engine) доступа к данным Программные библиотеки, которые компонуются в приложение Расширенные возможности для встроенных приложений: Не нужно администрирования Программное конфигурирование и управление из приложения Возможность выбора только нужных библиотек Управление данными скрыто в приложении !
Oracle Berkeley DB Механизм работы с БД для программ на Java Berkeley DB расширения для XQuery-доступа к XML-документам Механизм работы с БД для программ на C, C++, Java, PHP, Perl, etc.
Oracle Database Lite Edition
Oracle Database Lite Задача: Обеспечить доступ к информации предприятия мобильным пользователям Sync Layer Oracle Lite Database Мобильные клиенты Mobile Server Data and Applications Синхронизация данных Mobile Server Repository Windows, Windows Mobile, Symbian, Linux, Embedded Linux, etc.
Telecom OSS/BSS Core Networking Systems Securities Trading Call Centers / CRM Supply Chain / Logistics Reservations Gateways / Routers / Switches Storage & Systems Management Security / Authentication Mobile Services Software Appliances E-business Mobile Devices Consumer Electronics Embedded Applications Полная линейка СУБД Core Applications Edge Applications Devices Business Application
Новые возможности Oracle Database 11g
Oracle Database 11g Result Cache
Кэширование запросов join T1GBY join T2T3 GBY join T4join T5T6 join T1GBY join T2T3 GBY join T4join T5T6 Q1: build query cache join T1GBY join T2T3 GBY Q2: Использует это прозрачно cache Автоматически кэширует результаты запросов, подзапросов (query blocks) Кэш совместно используется различными SQL операторами и сессиями пользователей Значительное ускорение для операций чтения (read-only / read- mostly data) Буферный кэш прикладного уровня уровня
Кэширование запросов Контроль актуальности кэша Несколько уровней контроля Оператор – hints Таблица – table caching DDL Сессия – параметр Автоматически заставляет оптимизатор запросов определять стратегию кэширования Размер памяти для кэша задается DBA Полная согласованность результата Кэш обновляется при изменении таблиц, из которых получен кэшируемый результат
Вычисление функции Функция уже вызывалась c такими аргументами? Result Cache Вызов функции Func1 PL/SQL VM SGA Да Нет Кэширование результатов в PL/SQL Принципы работы
Кэширование на клиенте OCI Client Result Cache Кэширует результаты запроса на клиенте Улучшает производительность работы с таблицами, используемыми в основном для чтения (read-mostly) Более быстрое время отклика – исключается передача по сети Уменьшает нагрузку на процессоры сервера Согласован с сервером Кэш проактивно обновляется, когда изменяется выборка Сихронизация кеша (как в RAC) Application Server Database Связанное кэширование
Real Application Testing
Real Application Testing Задачи по сопровождению бизнеса Remediate TestTest Deploy Как тестировать изменения на промышленной системе: Нельзя трогать production-систему Как воспроизвести окружение на другом сервере (нагрузка, число пользователей, SQL-запросы и т.) ? Необходимо делать это быстро Меняются приложения и их версии Меняется нагрузка Необходимо решение для быстро изменяющегося бизнеса ! Change
Тестовая БД Эксплуата- ционная БД ЗАХВАТ Re c ПРОИГРЫВАНИЕ Real Application Testing Database Replay – схема работы File 1 Файл с записью нагрузки
Захват информации о нагрузке Записывает информацию о нагрузке СУБД, включая важную информацию об одновременности нагрузки Database Replay - проигрывание Воспроизводит нагрузку в реальном времени (workload with actual timing) Анализ и отчетность Отчеты об ошибках Изменение данных Изменение производительности Использование ADDM для дальнейшего анализа производительности Rec Анализ и отчетность Запиши и проиграй Real Application Testing Database Replay - Захват и воспроизведение нагрузки СУБД
Active DataGuard
Передача журналов Oracle DataGuard (StandBy) До Oracle Database 11g Переключение Отказ сервера! Недостаток: вторичный сервер недоступен ! Находится в режиме приема и наката изменений с основной БД Если перевести его в read-only, то НЕ применяются изменения
Физический standby с real-time query Новая опция в 11g – Active DataGuard Вторичная БД (Standby DB) Primary БД Непрерывная передача и применение изменений Запросы в режиме реального времени Запросы только на чтение на вторичном сервере одновременно с передачей и применением изменений с primary БД: Поддержка RAC на primary и/или standby Запросы получают согласованный по транзакциям результат (consistent transactions) Поддержка всех типов данных (это физический стенбай !)
Oracle Active DataGuard Области применения Полностью используется оборудование: Позволяет использовать простаивающие серверы для решения задач бизнеса Для заказчиков решает их проблемы: Перенос получения отчетности на standby ( разгрузить основной сервер !) Модули просмотра данных (например: просмотр каталога продукции) на standby Отличие от систем зеркалирования на уровне дисковых массивов Данные в процессе синхронизации доступны и согласованны по времени
Безопасность
19 сертификатов безопасности !!!
Разработчик Пользователь Сервер приложений БД Администратор Backup Инфраструктура
Разработчик Пользователь Сервер приложений БД Администратор Backup Безопасность в БД Virtual Privat Database Oracle Lable Security Encryption (TDE/crypto)
Разработчик Пользователь Сервер приложений БД Администратор Backup Безопасность при передаче данных encrypted (Network encryption)
Разработчик Пользователь Сервер приложений БД Администратор Backup Защита данных от привилегированных пользователей encrypted Database Vault
Разработчик Пользователь Сервер приложений БД Администратор Backup Securing Backup encrypted Защищено Database Vault Защищено Database Vault Защищено Secure Backup encrypted
Advanced Compression Option
До 11g сжатие работало только на операциях массовой загрузки: Применялось в хранилищах данных и архивах В 11g сжатие доступно для всех типов приложений Например: при обновлении (update) также работает В среднем - уменьшение объема в 2-3 раза Данные читаются в память без распаковки Стратегия – сжать 10 самых больших таблиц в БД Уменьшение размера в 2 раза, увеличение загрузки процессора примерно на 3%-5% Сокращение затрат на: диски, маг. ленты, сетевой трафик и т.д. Увеличение производительности Advanced Compression Option Сжатие всех данных
Преимущества выбора СУБД от Oracle
Корпорация Oracle сегодня Крупнейший производитель ПО в мире 275,000 заказчиков 30,000 заказчиков Oracle Applications 190,000 заказчиков в SMB секторе 68,000 сотрудников; 7,500 сотрудников поддержки 19,000 партнеров 9,000 ISV парнеров Работает в 145 странах
30 лет непрерывных инноваций 1970s 1980s 1990s 2000… Total Recall Total Recall SOA Suite SOA Suite Audit Vault Apps Integration Arch Business Process Mgmt Self Managing Database Grid Computing Oracle Data Guard Real Application Clusters Audit Vault Apps Integration Arch Business Process Mgmt Self Managing Database Grid Computing Oracle Data Guard Real Application Clusters First Comprehensive CRM Suite Flashback Query First Internet Applications Built-in Java VM Partitioning Support First Comprehensive CRM Suite Flashback Query First Internet Applications Built-in Java VM Partitioning Support Full Applications Implementation Methodology Industry-Specific Business Applications Object Relational Support Multimedia Support Data Warehousing Optimizations Full Applications Implementation Methodology Industry-Specific Business Applications Object Relational Support Multimedia Support Data Warehousing Optimizations First Unix-Based Applications Parallel Operations Distributed SQL & Transaction Support Cluster & MPP Support Multi-version Read Consistency Client/Server Support Platform Portability Commercial SQL Implementation First Unix-Based Applications Parallel Operations Distributed SQL & Transaction Support Cluster & MPP Support Multi-version Read Consistency Client/Server Support Platform Portability Commercial SQL Implementation
Oracle: N1 на рынке СУБД Oracle 48,6%48,6% IBM 22% Microsoft 15%15% Другие14,4%14,4% Источник: Gartner May 2006, Worldwide RDBMS Total Software Revenue
Сетевые протоколы TCP/IP LU6.2 SPX/IPX OSI DECnet Другие Независимость от платформ ПК-Клиенты MS Windows Web-браузер Разные ОС Оборудование Compaq Sun HP IBM Mac Intel Другие Операционные системы z/390 TRU64 Solaris AIX HP UX Windows Linux Другие
Игорь Мельников Старший консультант Oracle СНГ Phone: +7 (495) Direct: +7 (495) Mobile: +7 (915)
48