Mar_ser_tech1.ppt
- Количество слайдов: 50
Сервер ORACLE (техническая презентация) Марк Ривкин Российское представительство Oracle
Программа Cервер Oracle Архитектура сервера Oracle Распределенные БД и репликация Networking и защита данных VLDB, Data. Warehouse High Availability Универсальная СУБД Internet/Intranet
Oracle Universal Server Объектно Реляционная Эволюция Oracle Universal Server • Реляционная СУБД (OLTP + DSS) • Универсальная БД (текст, видео, аудио, гео, изображения, временные ряды, документы, Web cтраницы, файлы …. ) • Объектно-реляционная СУБД • Интернет платформа • 9 i – OLAP (многомерная) и Data. Mining • Платформа для e-business
Oracle > 50 % рынка СУБД – Высокая надежность – Поддержка 24 х часовой работы – Большое число пользователей (от 1000 ч до 10000 ч ) – VLDB 512 pb – Высокая производительность – Надежная система защиты – Тиражирование данных – Различные архитектуры Клиент/сервер, NCA, терминалы
Независимость от платформ Операционные системы • • Оконные менеджеры – – – MS Windows X Motif Macintosh Character Mode Block Mode Другие Сетевые протоколы • • • TCP/IP LU 6. 2 SPX/IPX OSI DECnet Другие OS/390 TRU 64 Solaris AIX HP Unix NT Linux Другие Оборудование • • • Compaq Sun HP IBM Mac Другие • • • NCR Pyramid Sequent Sun Intel
Независимость от архитектуры Один Процессор Симметричная многопроцессорная архитектура (SMP) Слабо сцепленные процессоры (кластер) Массивно параллельный компьютер (MPP) Можно использовать любые вычислительные архитектуры.
Соглашения по стандартам Стандарты баз данных • FIPS 127 -2 • ANSI X 3 -135. 1992 Стандарты защиты данных Текущее состояние: • NCSC TDI C 2, B 1 • ITSEC F-C 2/E 3, F-B 1/E 3 Сетевые стандарты • OSI • DNSIX (Max. Six) Комитеты • • ANSI X 3 H 2. 1 RDA SQL Access Group OMG Межоперабельность • IDAPI, ODBC • TSIG • X/Open • DCE • DDE
Шлюзы • Шлюзы по данным (Informix, Sybase, MS SQL Server, Ingress, . . . ) • Процедурные шлюзы APPC Клиент Oracle Сервер Oracle Старые приложения Нетабличные данные DB 2 Шлюзы по данным SQL/ DS DRDA RDB SQL/ 400
Архитектура сервера Oracle
База данных и instance Экземпляр SGA Серверный процесс Разделяемый пул PGA Пользовательский процесс DBWR Управляющие файлы Файл параметров Файл паролей LGWR Файлы журнала Файлы данных База данных Архив журнальных файлов
SGA и процессы Экземпляр SGA Кеш буферов БД SMON Разделяемый пул Библиотечный кеш Журнальный буфер DBWR PMON CKPT init. U 15. ora SVRMGR> CONNECT / AS SYSDBA SVRMGR> STARTUP PFILE=/DISK 1/init. U 15. ora Кеш словря данных LGWR ARCH
Журналирование и Rollback System Global Area Журналы используются только для восстановления БД (redo) Rollback отделены от Log Транзакции могут использовать > 1 журнала Rollback хранятся в Rollback Segments используются для Undo (отката) и Multi Version Read Consistency DB Block Buffers Rollback Log Buffer Redo Log User DB Log Redo Log Files
Структура базы данных База данных Табличное пространство Логическая Сегмент Файл данных Физическая Экстент Блок Oracle Блок ОС
Объекты и понятия БД • • • Таблицы (partitions) Индексы Индексные таблицы View Sequence Программные единицы (proc, func, pack) Триггеры Ограничения Синонимы Кластер • Database link • Rollback сегменты • Временные сегменты • Сегменты LOB • Вложенные таблицы • Массивы • Пользовательские типы данных • Материализованные view • Иерархии • Dimension • Пользователи • Привилегии • Роли
Типы данных Oracle Тип данных Пользовательский Скалярный CHAR(N), NCHAR(N) VARCHAR 2(N), NVARCHAR 2(N) NUMBER(P, S) DATE RAW(N) BLOB, CLOB, NCLOB, BFILE LONG, LONG RAW ROWID Встроенный Коллекция VARRAY TABLE Ссылки REF
Массивы и Встроенные таблицы • Массивы – Массивы с переменной длиной: VARRAY – Обеспечивают упорядоченные 1 to many отношения – Набор скалярных величин или ADT – Доступны через PL/SQL • Встроенные таблицы (Nested Tables) – Обеспечивают неупорядоченные 1 to many отношения – Набор скалярных величин или ADT – Доступ через SQL DML
Типы данных для хранения больших объектов LONG, LONG RAW LOB Один столбец в таблице Несколько столбцов в таблице До 2 гигабайтов До 4 гигабайтов SELECT возвращает данные SELECT возвращает указатель Внутреннее хранение данных Внутреннее или внешнее хранение данных Нет поддержки объектов Поддержка объектных типов Последовательный доступ Произвольный доступ
Ограничения целостности Garbage In Garbage Out Декларативный синтаксис Ссылочная целостность Каскадное удаление Enable/Disable Exception Reporting DEPTNO 35 DNAME Accounting EMPNO MGR DEPTNO PROJECT 5540 Smith 35 108392 7935 PROJ 5892 PROJNO BUDGET DEPTNO 8100 462340 225000. 00 54 942384 10000. 00 35 402933 35000. 00 28 108392 20509. 00 50
Программируемость Implicit Operations Database Triggers Определенные точки срабатывания Enable/Disable Create or Replace Множество триггеров одного типа Доступ к “: old” & “: new” значениям Хранятся в откомпилированном виде Before Statement Before Row After Statement
Новые типы событий Trigger • Новые триггеры – STARTUP – SHUTDOWN – SERVERERROR – LOGON – LOGOFF – CREATE – ALTER – DROP • Новый уровень триггеров – База данных – Схема CREATE TRIGGER register_open ON DATABASE STARTUP BEGIN … dbms_aq. enqueue(. . . ); … END;
Программируемость Cancel Хранимые процедуры Пакеты Функции Полномасштабный язык Return Cursor Exception Handlers SQL 3 Syntax Persistent Variables Overloading Encapsulation Dependency Tracking Wrappers Server Side File I/O Ship Check Status Application Partitioning
Oracle 9 i : интегрированная виртуальная Java машина • Почему Java в БД ? Oracle 9 i Java VM JDK libraries, APIs Native Compiler Class Loader Shared memory RDBMS libraries Производительность, масштабируемость, переносимость, управляемость, безопасность • The Oracle Java VM Масштабируемость: 50 - 150 K байт/ сессия vs 3 -6 M на JDK Быстрее: скомпилированный код выполняется в 40 раз быстрее, чем интерпретируемый код Интегрирован с SQL, PL/SQL Стандартизация 100% Java, JDK 2, standard API Servlet 2. 2, JSP 1. 1, EJB 1. 1, JNDI
Enterprise Java Engine • • • Поддержка различных сервисов Java – JNDI, JTA, Java 2 Security, SSL, JMS, RMI/IIOP, Persistence Оптимизация производительности времени выполнения – Bytecode Accelerator (компиляция) Web контейнеры – Servlet 2. 2, Java Server Pages 1. 1 – Масштабируемый EJB 1. 1 контейнер (Entity EJB, XML descriptors) – JDBC 2. 0 драйверы 23
Indexing Standard B Tree Hash Cluster B Tree Cluster Bit Mapped h(n) = [n /C] mod B 1011011 10110001 111101 001011 B Tree индексы можно строить Online & in Parallel Hashing позволяет доступ к строке по хэш алгоритму Многотабличный кластер позволяет заранее соединить данные Bit Map индехы хороши для запросов к колонкам с низкой кардинальностью Индексы можно перестроить на базе существующих
Индексы • • Индексные таблицы Пользовательские индексы (R*Tree) Перестройка индекса на лету Индекс от функции
Масштабируемость Масштабируемые серверы Запросы не блокируют друга Блокировка на уровне записи при обновлении Минимизированный ввод/вывод • Масштабируемая архитектура и производительность
Concurrency & Consistency Multi version Read Consistency Row Level блокировки без эскалации Non Blocking Reads Rollback Segment Не надо жертвовать многопольз работой ради consistency Блокировки это атрибут данных, а не ресурсов
Неблокирующее консистентное чтение Начало чтения Кто-то другой изменяет 2 записи Чтение через “снимок” Продолжение чтения • “Писатели” не блокируют “читателей” • “Читатели” не блокируют “писателей” • Запросы всегда дают согласованный результат
SQL Optimization System Global Area Buffer Cache Shared Pool Shared SQL Cost Based Optimizer с гистограммами Ограничение ресурсов (profiles) SQL SQL User Profiles
Parallel Query SQL Coordinator SQL Sort Scan C P U C P U Sort Scan Inter Operator параллелизм (Сортировка сканируемых строк) Intra Operator параллелизм (распараллеливание сканирования) Динамический Partitioning (Параллелизм не зависит от размещения данных) Распараллеливание пользовательских функций (PL/SQL in parallel) Optimizer Hints (Администратор имеет контроль) Read Consistency (Обеспечивает согласованный результат) Parallel Aware Query Optimizer Степень параллелизма меняется для задач/пользоват. /времени
Rules Based Publish/Subscribe Messaging и Advanced Queuing Машина правил Подписка Подписаться Manufact. Shipping Publisher l l l Опубликовать сообщение Выбрать Очередь Invoicing Подписчики Content-based публикация и подписка Подписчики регистрируют свой интерес к сообщениям очереди Машина правил определяет соответствующих подписчиков
Распределенные БД и Репликация
Почему нужны распределенные БД? Объемы Данные естественно распределены DB HQ DB DB DB Региональные отделы Доступ к старым системам Новая система Существующая система DB Существующая система Vs. DB DB DB Владение данными HR Operations Finance
Распределенная БД Прозрачность размещения Распределенные транзакции Emp Scott. Emp@NY Schema Object Database Protected by 2 PC Наименование, Networking, Кодирование Репликация Primary Site Symmetric
Почему нужна репликация? Производительность DB Доступность Local DB DB DB Сбой Remote Динамич передача владения Консолидация/распределение DB DB Продажа Отгрузка Тех поддержка DB DB Warehouse Публикация
Репликация Синхронная Ассинхронная 2 PC Store & Forward • Обновление в реальном времени • Обновления на базе Two Phase Commit • Нет конфликтов • Не проходит при сбое связи • Обновления сохраняются, а затем выполняются • Возможны конфликты • Не зависит от наличия связи
Репликация Replica Master Каждая ночь в 3: 00 Replica Каждые 30 сек По тре бованию Replica
Репликация Мастер таблица (Декларативный синтаксис) Копия (Snapshot) Row Trigger 00 AB. 01, NULL, I SQL> Create Snapshot Log on Employees SQL> Create Snapshot Dept 10 refresh fast start with sysdate next sysdate + 1/24 as select * from Employees@Server_A where deptno = 10;
Разрешение конфликтов -30 Product Wine Qty. 300 Beer 900 Soda 800 Chips 300 Cheese 400 -30 San Francisco Последний по времени Первый по времени Приоритет группы Приоритет сайта Минимум -50 New York Максимум Перекрыть Отказаться Среднее Суммировать -50
Динамическая передача прав (без конфликтов) Заказ продуктов Sales C 1 Отгрузка продуктов Shipping C 2 C 3 Owner DB C 1 N-WAY Тех поддержка Support C 2 C 3 Owner DB C 1 N-WAY C 2 C 3 Owner DB
Networking и защита данных
SQL*Net Протоколы Global Name Server Определение повисших связей Альтернативный Routings Графический инструмент (Network Manager) Open API Single Logon SPX/IPX TCP/IP LU 6. 2 Net. BIOS OSI DECnet
Oracle и Net : больше многоуровневых клиентов Мультиплексирование соединений Концентратор Клиенты (Connection Managers pooling) • Концентратор представляет нескольких клиентов как одно соединение • Разделяемые соединения Сервер • Масштабируемый, безопасный доступ к распределенным данным Мультеплексирование Connected Users Concurrent Users Application Scalability Database Scalability
Сопровождение паролей Хронология паролей Блокирование входа в систему Пользователь Срок действия паролей и его истечение Установка профилей Проверка сложности паролей
Секретность Привилегии Create Update Роль Select Execute Роль Insert Пользователи Роль Идентификация через OS & DB Гранулированный доступ Сертификат C 2 Advanced Security Шифрование DES 40 DES 56 RSA SSL
Advance Security Option Without ASO With ASO Scott/tiger Jones 54000 Smith 4900 l~aj 987&^(*y 02(&=94? 7 N 9%7 yq}3 Полное кодирование потока DES 40 и 56, RSA, SSL MD 5 контрольное суммирование Biometric Support Интеграция с Kerberos for Single Signon Интеграция с Smart. Card Technology Sesame, DCE, Token Based, Entrust/PKI Единый вход, Enterprise User
Fine grained Access Control Упрощает реализацию row-level безопасности Обычный SQL SELECT * FROM ORDERS; Security Policy добавляет критерий WHERE SELECT * FROM ORDERS where cust_id = 123 Orders Table • Безопасность ассоциируется с таблицей или представлением – Доступ не может быть передан другому – Проще чем представления • Ограничивает возвращаемые данные добавлением слова WHERE • Приложение может использовать переменную сессии – Cust_id, например
Resource Management Plans • Приоритеты для пользователей • Группы потребителей – пользователь может быть членом нескольких групп – только одна группа активна во время сеанса – группа по умолчанию назначается пользователю при соединении с БД • Методы выделения ресурсов: WEEKDAY_PLAN Resource Consumer Group Order Entry Shipping Resource Plan Directives CPU = 75% Degree of parallelism = 0 CPU = 25% Degree of parallelism = 20 NIGHT_PLAN Resource Consumer Group Resource Plan Directives – % использования CPU Billing CPU = 60% at level 1 Degree of parallelism = 20 – ограничение степени параллелизма Order Entry CPU = 75% at level 2 Degree of parallelism = 0 Shipping CPU = 25% at level 2 Degree of parallelism = 20 • Планы можно менять не останавливая Oracle
Автоматическое тонкое управление ресурсами • Контроль максималь OLTP updates и длинные запросы: Высокий приоритет Web based Order Entry OLTP updates и короткие запросы: Средний приоритет Shipping • • • ного числа активных сеансов Оценка времени выполнения запроса Квота на Undo pool для consumer groups. Автоматическое переключение сеансов между consumer group Ночные изменеия и запросы: Высокий приоритет только ночью Billing 62
Security • Мощная 3 x уровневая безопасность • • (Application role, через i. AS, легковесные сессии от i. AS) Зашита для hosting (для компаний контекст и пуллинг) Public Key Infrastructure (PKI) (PKCS#12, SSL hardware ускорение) Улучшенное управление пользователями и policy (GUI) Кодирование данных (JCA/JCE) и Label security 63


