СУБД Oracle: применение в различных сферах бизнеса

advertisement
<Insert Picture Here>
СУБД ORACLE: применение в различных
сферах бизнеса
Игорь Мельников, Oracle СНГ
igor.melnikov@oracle.com
План
• Линейка СУБД от Oracle Corporation
• Преимущества СУБД от Oracle
• Oracle Database 11g Rel.2 Обновление приложений в “Online”
<Insert Picture Here>
У Oracle много СУБД
Oracle Database
Oracle 11G
Вcтроенные СУБД
TimesTen
BerKeley DB
Oracle Lite
RDB
CODASYL
Hyperion
Oracle Berkeley DB
Oracle Berkeley DB
Описание
• Гибкий и быстродействующий механизм (“engine”)
доступа к данным
• Программные библиотеки, которые компонуются
в приложение
• Расширенные возможности для встроенных
приложений:
• Не нужно администрирования
• Программное конфигурирование и управление из
приложения
• Возможность выбора только нужных библиотек
• Управление данными скрыто в приложении !
Oracle Berkeley DB
Berkeley DB
расширения для
XQuery-доступа к
XML-документам
 Механизм работы с БД
для программ на C, C++,
Java, PHP, Perl, .Net …
 Механизм
работы с БД для
программ на Java
Oracle TimesTen – СУБД реального
времени
Oracle TimesTen
Основы технологии
• Высоко-производительная БД,
целиком размещаемая в RAM
• Гибкие возможности для
сохранения данных на диск
• Оптимизация структур и
алгоритмов для размещения в
памяти
• Легкая установка и
конфигурирование
TimesTen
Disk
Persistence/
Recovery
Почему TimesTen быстрее
Дисковая СУБД
Определение адреса искомой страницы на диске
Приложение
SQL
IPC
Пересылка
буфера в
приложение
(via IPC)
Query
Optimizer
/Executor
Buffer Pool
Hash
Function
Linked
Lists Into
Buffers
Копирование
записей в
Private Buffer
Data
Page
Table#Page#
Предположим, что
страница уже в
памяти...
Вычисление указателя на адрес
страницы (Page Pointer) с
использованием хэширования и
линейного поиска
Почему TimesTen быстрее
TimesTen
Приложение
SQL
Копирование
данных в буфера
приложения
Data Store
Вычисление прямого адреса в памяти для искомой
записи
Query
Optimizer
/Executor
Memory-Resident
Database
Вся БД загружена с
диска в память до
начала работы
Memory Address
Архитектура систем реального
времени
Работает синхронно с
оборудованием
Содержит
дополнительные и
исторические данные.
Работает асинхронно с
оборудованием
TimesTen Cache Connect to Oracle
Application-Tier
Platforms
Network
Application
Program
Application
Program
TimesTen
TimesTen
In-Memory
Database
In-Memory
Database
Cache Connect
to Oracle
Oracle
• Кеширование множества таблиц
из Oracle Database
• Только чтение или изменения
• Двунаправленные изменения:
• Из TimesTen в Oracle
• Из Oracle в TimesTen
• Несколько экземпляров
TimesTen для одной Oracle DB
• Режимы репликации
Быстродействие (Timesten/Database)
₊Transactions per Minute
₊3,000,000
₊2,500,000
Увеличение быстродействия с
Cache Connect to Oracle
Oracle
Oracle+TimesTen
₊2,497,000
₊2,000,000
₊1,500,000
₊1,000,000
₊500,000
₊0
₊275,000
Oracle
Oracle +TimesTen
Oracle Database Lite
Oracle Database Lite
Задача:
Обеспечить доступ к информации предприятия
мобильным пользователям
Мобильные клиенты
Sync Layer
Mobile Server
Data and
Applications
Oracle Lite
Database
Синхронизация данных
Windows, Windows Mobile,
Symbian, Linux, Embedded Linux, etc.
Mobile
Server
Repositor
y
Полная линейка СУБД
Mobile Devices
Consumer Electronics
Gateways / Routers / Switches
Storage & Systems Management
Security / Authentication
Telecom OSS/BSS
Mobile Services Software
Core Networking Systems
Appliances
Securities Trading
E-business
Call Centers / CRM
Supply Chain / Logistics
Reservations
Business Applications
Бизнес-приложения
Высокоскоростные приложения
Устройства
Встроенные приложения
Преимущества Oracle Database
Oracle №1 на рынке RDBMS
Microsoft
18,1%
Other
12,6%
IBM
20,7%
Oracle
48,6%
Source: Gartner DataQuest July 2008, based on Total Software Revenue
Почему Oracle популярен?
•
•
•
•
•
•
•
•
•
•
•
Многоплатформенность
Все типы данных
Производительность
Различные приложения (OLTP, DW, OLAP, Mining)
Масштабируемость (БД 8 экзобайт, десятки тыс польз)
Online тестирование изменений (RAT)
Изменение приложений в Online
Высокая надежность и доступность (24 x 7)
Безопасность
GRID
Управляемость (EM)
Независимость от архитектуры
Один
процессор
Симметричная
многопроцессорная архитектура (SMP)
Слабо сцепленные
процессоры
(кластер)
Можно использовать любые
вычислительные архитектуры.
Массивно
параллельный
компьютер (MPP)
Разработав однажды, запускайте везде
Grid
Cluster
SMP
Uniprocessor
Desktop Server
Single User
• AIX
•
•
•
•
•
•
•
Linux
Solaris
HP-UX
HP Tru64
HP VMS
Windows
OS/390
Производительность
SQL Query Result Cache
• Возможно кэширование результатов запросов,
подзапросов (query blocks)
•
•
Кэш совместно используется различными SQL
операторами и сессиями пользователей
Значительное ускорение для операций агрегации
данных и сложных выборок
• Буферный кэш прикладного уровня
join
join
join
Q2:
Использует
это
Q1:
сохранение
в кэше
join
GBY
join
GBY
join
GBY
прозрачно
cache
join
join
T1
GBY
T1
GBY
T1
GBY
T4
T4
join
join
join
T2
T2
T2
24
T3
T3
T3
join
join
T5
T5
T6
T6
PL/SQL Result Cache
В 11g: Принципы работы
PL/SQL VM
Функция уже вызывалась c
такими аргументами?
Вызов
функции
Func1
Нет
Да
SGA
Result Cache
25
Вычисление
функции
OCI Client Result Cache
Кэширование на клиенте
Application Server
Связанное
кэширование
Database
•
•
Кэширует результаты запроса на клиенте
Улучшает производительность работы с таблицами,
используемыми в основном для чтения (read-mostly)
•
•
•
Согласован с сервером
•
•
26
Более быстрое время отклика – исключается передача по сети
Уменьшает нагрузку на процессоры сервера
Кэш проактивно обновляется, когда изменяется выборка
Сихронизация кеша (как в RAC)
Разработка приложений
Real Native Compilation
В PL/SQL 11g
• В 11.1, СУБД Oracle при компиляции PL/SQL
напрямую может генерировать выполняемый код
DLL программно-аппаратной платформы
• C-компилятор не нужен
• Возможность встроена в СУБД, не нужно никакой
дополнительной настройки
• Только один параметр: включить/выключить,
PLSQL_CODE_TYPE
• INTERPRETED
• NATIVE
28
Преимущества Real Native Compilation
В PL/SQL 11g
• Увеличение быстродействия:
• Компиляция в 2 раза быстрее, чем с переводом на Cисходный код
• Тест Whetstone показывает увеличение
быстродействия в 2.5 раза по сравнению c вариантом
с использованием C-компилятора (нет ненужного
runtime-library и оптимизация)
• На тестах – выполнение в 20 раз быстрее, чем при
использовании режима интерпретации PVM (на чисто
вычислительных задачах)
29
Разработка приложений
Поддержка всех средств разработки
Oracle Application Express
APEX – средство разработки web-приложений
•
•
•
•
•
Web-ориентированное
Декларативное
Мощный framework
Хостинг нескольких сайтов
Средства миграции с MS
Access
• Набор готовых приложений
• Использование всех мощных
возможностей Oracle database
31
Application Express
Декларативность
• Написание кода
сведено к минимуму
• Могут использовать
непрофессиональные
программисты
• Создание сайта на
уровне описаний
• Метаданные о
приложении
32
Разработка приложений
•
•
•
•
•
•
33
Отчеты
Формы ввода данных
Графики
Календари
Защита данных
Навигация
Формы ввода данных
Виды форм ввода
Tabular forms
Master Detail
Формы на основе Webсервисов
Формы на основе отчета
• Расширенные элементы управления
• Pop-Up календарь
• Списки значений
• Проверки (validation) элементов форм ввода
34
<Insert Picture Here>
Безопасность
19 сертификатов безопасности !!!
Инфраструктура
Администратор
Разработчик
БД
Пользователь
Сервер приложений
Backup
Безопасность в БД
Администратор
Разработчик
БД
Пользователь
Сервер приложений
Backup
Virtual Privat Database
Oracle Lable Security
Encryption (TDE/crypto)
Безопасность при передаче данных
Администратор
Разработчик
(Network encryption)
encrypted
БД
encrypted
Пользователь
Сервер приложений
encrypted
Backup
Защита данных от привилегированных
Database Vault
пользователей
Администратор
Разработчик
encrypted
БД
encrypted
Пользователь
Сервер приложений
encrypted
Backup
Securing Backup
Защищено Database Vault
Администратор
Разработчик
Защищено
Database Vault
encrypted
БД
encrypted
Пользователь
Сервер приложений
encrypted
encrypted
Защищено
Secure Backup
Backup
Работа с неструктурированными
данными
Images
Специфические типы данных
RFID
Data Types
DICOM
Medical Images
3D Spatial
Images
Тесты производительности (tpc.org)
Мировой рекорд TPC-C Цена/Производительность
1,80
1,61
1,60
1,40
Single Intel Processor
$/tpmC
1,20
1,00
0,80
0,84
0.54
0,60
0,40
0,20
0,00
Oracle
Microsoft
DB2
Best Price Performance on Linux
As of February 20, 2009: Oracle Database 11g Standard Edition One on Dell PowerEdge 2900 (World record TPC-C price/performance result) 104,492tpmC, .60/tpmC, available 2/20/09. Microsoft
SQL Server on HP ProLiant ML350G5, 82,774, $0.84/tpmC, available 03/27/07 (Microsoft Best TPC-C price/performance result).. IBM DB/2 on HP ProLiant ML350, 18,661 tpmC, $1.61 tpmC,
available 12/15/05. Best TPC-C Price Performance on Linux: Oracle Database 10g Standard Edition One w/ OEL on HP ProLiant ML350G5, 100,926 tpmC, .74/tpmC, available 6/8/07. Source:
Transaction Processing Performance Council (www.tpc.org)
Real Application Testing
• Новая опция Oracle Database EE
• Database Replay (DB Replay)
Запуск
• SQL Performance Analyzer (SPA)
• Значение
• Сокращает стоимость тестирования
• Улучшает качество тестирования
• Выигрыш для бизнеса
• Быстрое внедрение технологий
• Меньше риск
Тест
Изменения
Правка
Решение для Динамичного Бизнеса
Database Replay
Захват и воспроизведение нагрузки СУБД
• Захват информации о нагрузке
• Записывает информацию о нагрузке СУБД,
включая важную информацию об
одновременности нагрузки
• Фильтрация захвата (сессии, пользователи
и т.д.)
• Минимальные накладные расходы (<5% CPU)
RAT
Rec
Запиши и проиграй
• Database Replay - проигрывание
• Синхронное и асинхронное воспроизведение
• Анализ и отчетность
• Отчеты об ошибках
• Изменение данных
• Изменение производительности
Анализ и отчетность
Сравнение LoadRunner & DB Replay
Тестирование e-Business Suite
80
Время (Дни)
80
60
24
40
20
20
5
20
4
0
Установка
0
Анализ работы
приложения
0
Выявление
ключевых
транзакций
2
Создание
Нагрузки
5
Запуск теста
Общее время тестирования
DB Replay: 2 недели
LoadRunner: 30 недель
LoadRunner
DB Replay
SQL Performance Analyzer (SPA)
Захват и воспроизведение нагрузки SQL
RAT
• Фокус на проблемы с нагрузкой при выполнении SQL
операторов
• Детальный анализ производительности отдельного SQL оператора
• Захват информации про SQL Workload в эксплуатационной
системе
• Захватывает текст SQL, планы, bind variables, статистику выполнения
• За указанный период времени
• Можно захватить информацию для SQL в Oracle Database 10g Release 2
• Воспроизведение SQL Workload в тестовой среде
• Тестовое выполнение SQL в тестовой среде
• Выявляет SQL с изменившимися планами выполнения и SQL с
ухудшившейся производительностью
• Для ухудшившегося SQL можно провести настройку с помощью SQL
Tuning Advisor
• Производит анализ и отчеты
SQL Replay
Анализ производительности
Польза от RAT
• Обнаружение ухудшения производительности SQL прежде, чем
это отразится на конечных пользователях
• RAT полезен при следующих изменениях
• Обновление БД
• Изменение статистики оптимизатора
• Новые индексы, материализованные представления,
секционирование и т.д.
• Автоматически отслеживает изменение производительности
сотен и тысяч запросов – невозможно сделать вручную
• Минимальные накладные расходы
Самоуправляемая БД
Auto-Tuning
Advisory
Instrumentation
Самоуправляемая БД
Auto-Tuning
Advisory
Instrumentation
Oracle Database 10g
Легкость в использовании
100%
90%
IBM DB2 9.1
SQL Server 2005
Oracle
80%
70%
60%
50%
40%
Time
Steps
Oracle Database 10g легче в использовании чем DB2 and SQL Server.
• на 38% меньше времени и 35% меньше шагов чем в IBM DB2 9.1
• на 38% меньше времени и 30% меньше шагов чем в SQL Server 2005
Source: Comparative Management Cost Study, Edison Group 2005, 2006
Самоуправляемость
•
Automatic Workload Repository
•
•
•
•
•
ADDM
•
•
анализирует, советует, извещает
Генерируемые сервером аллерты
•
•
Автоматически собирает статистику,
SQL workload
Записывает каждые 60 мин
Statspack +
Малая нагрузка на инстанс (только
худшие SQL)
Сразу после установки, Push vs. Pull,
информация о проблеме в тот же
момент
Advisors
Oracle Database 11g Release 2
Online Application Upgrade
Oracle Database 11g Release 2
Online Application Upgrade
• Часто бизнес-критичные приложения бывают
много часов недоступны из-за “наката”
обновлений (патчей) или установки новой версии
приложения
• Oracle Database 11g Release 2 предлагает
революционную технологию которая дает
возможность обновлять приложения на “лету” –
без остановки !
• Одновременно могут быть использованы как
старая, так и новая версия приложения !
Решение
Edition-based redefinition
• Новые типы объектов в СУБД:
• edition
• editioning view
• crossedition trigger
• PL/SQL-код устанавливается в новую версию (edition)
• Новые столбцы таблиц и изменения данных в них, не
видимы в старой версии
• Editioning view делают разную проекцию таблиц, структура
которых менялась в каждую версию (новые столбцы невидимы в
старой версии)
• Crossedition триггер, невидимо для старой версии, осуществляет
конвертацию данных сделанных в старой версии в новую (и
наоборот – в случае “отката” патча) структуру
Пример (шаг 1)
Post_Upgrade
Employees
Show_ Employees
Создается новая версия
приложения
Cоздается новая версия
(edition) как потомок
существующей.
Новая версия наследует
объекты старой версииродителя
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Show_ Employees
Пример (шаг 2)
Post_Upgrade
Employees
Show_ Employees
Структура таблицы
меняется!
Создается еditioning view,
которая скрывает эти
изменения для старой
версии.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Пример (шаг 3)
Post_Upgrade
Employees
Show_ Employees
Ed. view Employees – разные
в 2-х версиях
PL/SQL процедура
Show_Employeess меняется в
новой версии.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Пример (шаг 4)
Post_Upgrade
Employees
Show_ Employees
Создается forward
crossedition trigger.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Fwd Xed
Show_ Employees
Пример (шаг 5)
Post_Upgrade
Employees
Show_ Employees
Создается reverse
crossedition триггер на случай
отката.
Rvrs Xed
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Fwd Xed
Show_ Employees
Пример (шаг 6)
Post_Upgrade
Employees
Show_ Employees
Невидимое преобразование
данных в новую структуру (в
старой версии)
Rvrs Xed
Pre_Upgrade
Employees
ID
Ph.
…
Cntry
#
Fwd Xed
Employees_
Show_ Employees
Пример (шаг 7)
Post_Upgrade
Employees
Show_ Employees
Одновременно работают две
версии !
Rvrs Xed
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Fwd Xed
Show_ Employees
Пример (шаг 8)
Post_Upgrade
Employees
Show_ Employees
Версия Pre_Upgrade делается
недоступной.
Все пользователи работают
только с новой версией.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_Employees
Версия объекта
Editions
• Edition – новое понятие в 11.2
• Версия наследуется от родительской
• Наследует все объекты от родительской (кроме таблиц и
индексов)
• Каждая версия может иметь собственную реализацию одного и
того же объекта
• Версия может иметь только одного потомка
• БД должна иметь как минимум одну версию
(ORA$BASE)
• Сессия всегда выполняется в определенной версии (по
умолчанию в ORA$BASE)
Oracle Database – наилучшая
платформа для корпоративного ПО
•
•
•
•
•
•
•
•
•
•
Многоплатформенность
Все типы данных
Производительность
Различные приложения (OLTP, DW, OLAP, Mining)
Масштабируемость (БД 8 экзобайт, десятки тыс польз)
Online тестирование изменений (RAT)
Высокая надежность и доступность (24 x 7)
Безопасность
GRID
Управляемость (EM)
<Insert Picture Here>
Игорь Мельников
Старший консультант Oracle СНГ
Email : Igor.Melnikov@oracle.com
Phone : +7 (495) 641 14 00
Direct:
+7 (495) 641 14 42
Mobile:
+7 (915) 205 26 27
Download