44

 · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие
Page 2:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

<Insert Picture Here>

Опыт практического использования Oracle Exadata для задач хранилищ и аналитикиАндрей Пивоваров,Oracle CIS

Page 3:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Что такое Oracle Exadata ?

Page 4:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Что такое Oracle Exadata?

• Стратегическое аппаратно-программное решение Oracle для

• OLTP• Хранилищ данных• Смешанных нагрузок• Смешанных нагрузок• Консолидации приложений на базе Oracle Database

• Построено на основе:• Oracle Database

• Т.е. все приложения, работающие на Oracle, могут работать на Exadata

• SUN Hardware

Page 5:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Compression

Automatic Storage Management

1995 1997 1999 2001 2003 2008Oracle Release 7.3

Oracle8 Oracle8i Oracle9i Oracle10g Oracle11gOracle9iR22005

Поддержка сверхбольших хранилищ данных

Exadata

Parallel Execution

Range PartitioningComposite Partitioning

Real Application Clusters

Compression

Первая 1TB БД построена в лаборатории

Первый 1TB заказчик: Acxiom

Первый 10TB заказчик: Amazon.com

Первый 100TB закзачик: Yahoo!

Более 100 терабайтных заказчиков

Первый 30TB заказчик: France Telecom

Page 6:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Время доступа к сверхбольшим ХД

Table Scan Time

10 Hour

Обычное хранилище

Table Size1TB 10 TB 100TB

1 Hour

5 Hourхранилище

Exadata

Page 7:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Проблема производительностисверхбольших ХД

• Большие хранилища сканируют десятки, сотни и тысячи дисков• Соединения между дисками и серверами ограничивают скорость передачи данных в десятки и сотни раз

• В результате хранилища становятся медленнее по мере роста

Page 8:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata на аппаратном уровне

• Быстрая дисковая подсистема• Использование 40Gb/s Infiniband• Использование FLASH карт (до 5.3TB)• Много RAM (до 2TB)• Много процессорных ядер (до 128+168)

Page 9:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Перенос нагрузки по сканированию на дисковые ячейки Exadata

• Многие операций в Oracle выполняются над данными одного блока данных (агрегации, фильтрации по условию и т.д.)

• Ячейки Exadata сами выполняют «умное» сканирование данных, которое уменьшает сканирование данных, которое уменьшает объем данных, обрабатываемый сервером БД

• Значительное уменьшение объема перекачки данных

Page 10:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Конфигурация системы с Exadata

Exadata Cell

InfiniBand Switch/Network

Single-InstanceDatabase

RAC Database

Exadata Cell Exadata Cell

• Каждая ячейка Exadata – самостоятельный сервер с установленными дисками и ПО Exadata

• Данные «размазаны» между многими ячейками Exadata• Нет ограничения на количество ячеек в системе• Ячейки работают в режиме MPP

Page 11:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Традиционное выполнение запроса

• Пример:• Оператор хочет найти клиентов, которые тратятбольше $200 на один звонок

• С традиционным хранилищем, анализ данных производится сервером БД

����

БД уменьшает

����

Возвращается результат

����

SELECT customer_idFROM calls

where amount > 200;

производится сервером БД• Большая часть данных отсеивается за ненадобностью

• Данные, которые отсеиваются, тем не менее тратят время на их передачу

����

Поиск завершен:1 ТБ данных

возвращается на сервер

БД уменьшает

терабайт данных до 1000 имен, которые возвращаются

клиенту

����

Определяются экстенты таблиц

����

Выполняется поиск

Page 12:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Выполнение запросов с Exadata

• Только нужные колонки• customer_idИ нужные записи• where amount>200Возвращаются на сервер БД

• Разгружается процессор БД

����

Возвращаются записи

����

Умный запрос ����

Обобщаются

����

SELECT customer_idFROM calls

where amount > 200;

• Разгружается процессор БД

• Не передается лишний объем данных

����

2MB данныхвозвращается на

сервер

Умный запрос передается ячейкам

����

Определяются записи и колонки внутри терабайтной

таблицы, удовлетворяющие

условиям

Обобщаются результаты полученные с разных ячеек

Page 13:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

• Максимальная пропускная способность

• Еще быстрее с Flash

10

2025

Flash

Disk

Пропускная способность дисков75 GB/sec!

Flash

< 38

Disk• 50 TB данных поместится в Flash• При условии 10-кратного сжатия

• Обработка сжатых данных• Сотни GB/sec

10

TeradataNetezzaTwinFin 12

Exadata

Disk

Flash

2650 4600

Disk

Disk

Page 14:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Пример: Таблица LINEITEMS

Показатель Без сжатия

Размер на диске 6697.73 GB

Записей на GB 4,67 млн

Время выполнения 364 сек

Количество записей: 31,27 миллиарда (31 266 980 184)

На Exadata X2-8

Время выполнениязапроса FULL SCAN

364 сек

Скорость сканирования 18.4 GB/s

Скорость сканирования в записях

85,9 млн/c

Page 15:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

OLTP Compression

• Таблицы и индексы могут быть сжаты• Можно управлять даже на уровне партиций• Обычное сжатие до 3:1

• Требуют больше процессорного временипри загрузкепри загрузке• Распаковка почти не занимает лишнего времени

• Данные занимают меньше места на диске• И требуют меньше времени на чтение

• Полная прозрачность

Page 16:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata Гибридное колоночное сжатиеHybrid Columnar Compression

• Данные группируются по колонкам и сжимаются

• Query Mode для хранилищ• Оптимизация по скорости• 10-кратное сжатие в среднем

• Archival Mode для редкозапрашиваемых данных• Оптимизация места на диске• 15-кратное сжатие в среднем• До 50 раз для некоторого типа данных

Page 17:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata Hybrid Columnar CompressionКак это работает

• Таблицы организовываются как наборы по несколько тысяч записей (Compression Units)

• Внутри Compression Unit, данные

Compression Unit

• Внутри Compression Unit, данные лежат по колонкам и сжимаются• Колоночное хранение однотипных данных позволяет увеличить степень сжатия

Reduces

Table Size

4x to 40x

От 4 до 50 раз сжатие

Page 18:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Пример: Таблица LINEITEMS

Показатель Без сжатия

Размер на диске 6697.73 GB

Записей на GB 4,67 млн

Время выполнения 364 сек

Количество записей: 31,27 миллиарда (31 266 980 184)

На Exadata X2-8

Время выполнениязапроса FULL SCAN

364 сек

Скорость сканирования 18.4 GB/s

Скорость сканирования в записях

85,9 млн/c

Page 19:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Пример: Таблица LINEITEMS

Показатель Без сжатия С HCC Разница

Размер на диске 6697.73 GB 1456.76 GB 4,6 раз

Записей на GB 4,67 млн 21,46 млн 4,6 раз

Время выполнения 364 сек 86 сек 4,23 раз

Количество записей: 31,27 миллиарда (31 266 980 184)

На Exadata X2-8

Время выполнениязапроса FULL SCAN

364 сек 86 сек 4,23 раз

Скорость сканирования 18.4 GB/s 16,9 GB/s -9%

Скорость сканирования в записях

85,9 млн/c 363,57 млн/c 4,23 раз

Page 20:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata Storage Index

• Exadata Storage Indexes хранят в памяти информацию о статистике данных

• Минимальные и максимальные значения колонок• Обычно одна запись в индексе на мегабайт данных на

диске

• Не ищет записи там, где есть выход за

A B C D

1

3 Min B = 1Max B =5

Table Index

Copyright © 2010, Oracle Corporation and/or its affiliates – 20 –

• Не ищет записи там, где есть выход за диапазон MIN-MAX

• Полностью автоматический и прозрачный для приложений

5

5

8

3

Max B =5

Min B = 3 Max B =8

Select * from Table where B<2 - Подходят только первые три

Page 21:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata для хранилищ данных

• Преимущества наиболее очевидны• Exadata изначально создавалась для хранилищ

• Уменьшение размера таблиц (HCC)• Меньше денежные затраты на системы хранения

• Ускорение времени выполнения запросов • Ускорение времени выполнения запросов • Возможность запускать больше запросов, для большего числа пользователей, которые будут выполняться быстрее

Page 22:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata для OLTP

Page 23:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata для OLTP

• Важное отличие Exadata от DW appliances – Exadata работает с OLTP нагрузками

• Использование FLASH значительно ускоряет операции в OLTP системах

• Большинство OLTP систем на самом деле являются • Большинство OLTP систем на самом деле являются системами со смешанными типами запросов• Exadata значительно ускоряет не OLTP запросы, которые являются наиболее ресурсоеемкими

• Следствие – вся система работает значительно быстрее.

• Exadata позволяет работать тысячам пользователей в условиях экстремальных нагрузок.

Page 24:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Конфигурации Exadata

Page 25:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata X2-2

Database Grid• 8 compute servers (1U)

• 2 Intel Sockets

Storage Grid

• 14 storage servers (2U)

• 2 Xeon CPUs per server

• 100 TB High Speed disk, or336 TB High Capacity disk

• 5 TB PCI Flash

• Data mirrored across storage servers

InfiniBand Network• Redundant 40Gb/s switches• Unified server & storage net

Page 26:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Можно начать с четверти Exadata

Full Rack

Half RackQuarter Rack

Page 27:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata X2-8

Database Grid• 2 64-core Intel EX Servers • 2 TB Memory•Выбор:

Storage Grid

• Same Storage Grid as Exadata X2-2•Выбор:

• Oracle Linux Unbreakable Enterprise Kernel

• Solaris 11 Express

Exadata X2-2

• CPUs updated to latest 6-core Xeon

Network• Redundant 40Gb/s Infiniband• 10 Gb Ethernet to Data Center

Page 28:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Масштабируемость до 8 шкафов

2368 ядер2.6 петабайт несжатых данных

Page 29:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata для консолидации баз данных

Page 30:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Машина для консолидации баз данных

• Множество различных баз данных и приложений может работать на одной Exadata• Когда 10TB на ¼ Exadata – слишком много

• Высокая производительность для

ERP

CRM

• Высокая производительность для смешанных нагрузок (OLTP, DW, batch, отчеты)

• Точечное управление ресурсами I/O иCPU в зависимости от приложения

Warehouse

Data Mart

HR

Page 31:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Некоторые советы по результатам POC

Page 32:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Общие замечания

• Большинство проектов (POC), в которых мы участвовали, длились 1-2 недели.

• За это время нужно было показать экстремальную производительность Exadata на разных задачах

• За две недели трудно научиться использовать все возможности Exadata для конкретного приложения, тем не возможности Exadata для конкретного приложения, тем не менее, почти всегда небольшой группе специалистов удавалось демонстрировать рекордные показатели по производительности Exadata

• Даже если не используются особенности Exadata, DB Machine использует все существующие возможности Oracle Database

Page 33:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Отличия Exadata от «обычной» СУБД Oracle

• Exadata – это обычная СУБД Oracle 11.2 c «реактивным двигателем» в виде ячеек Exadata

• Для получения максимальной производительности желательно, чтобы использовались ячейки.

• Запрос, в отличие от обычного Oracle, распадается на • Запрос, в отличие от обычного Oracle, распадается на часть, которая обрабатывается на ячейках и часть, которая отрабатывается в СУБД.• Именно это требует дополнительного опыта от разработчика.

• Если ничего не предпринимать, то все тоже будет работать. Есть примеры, когда без всяких оптимизаций приложения ускорялись в разы.

Page 34:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Exadata SQL Monitoring

• Отличный инструмент, который показывает как именно идет запрос, что именно обрабатывается в Oracle и что на ячейках

• Позволяет в минимальные сроки определить проблемные запросы и выяснить, влияют ли изменения, хинты и проч. на производительность.хинты и проч. на производительность.

• Без этого инструмента не удалось бы достичь рекордных показателей на проектах в сжатое время

Page 35:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Параллелизм

• Exadata X2-2 – это 96 ядер CPU, X2-8 – 128• Автоматический паралеллизм иногда выбирает неправильный уровень.

• Если тяжелому запросу выдано слишком много единиц паралелизма, то следующий тяжелый запрос может не паралелизма, то следующий тяжелый запрос может не распараллелиться.

• Для многих запросов по индексам параллелизм нужно отключать – ускорение может быть в десятки раз.

• Часто уменьшение параллелизма для запроса ускоряет запрос в разы, причем высвобождает ресурсы для других.

Page 36:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Query offloading

• Простые запросы отлично передаются на ячейки.• Проблемы могут возникать с запросами, использующими пользовательские функции или сложные джойны.• Для джойнов есть Bloom Filters

• Если часть запроса уходит на ячейку – он • Если часть запроса уходит на ячейку – он отрабатывается очень быстро.

• Если даже запрос в основном обрабатывается в Oracle, засчет фильтрации уменьшается объем передаваемых и обрабатываемых данных, что тоже серьезно ускоряет запрос

Page 37:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Пример запроса, не уходящего на ячейкиselect sum(t1.n)from t1, t2where t1.key=t2.keyand t1.a+t2.b>100and t1.c<1000

•Обычно, для такого запроса, фильтры все-таки уменьшают выборкувыборку

•Трудно представить часто выполняющийся такой запрос, объединяющий терабайтные таблицы

•Использование hash-партиционирования позволяет ускорить запрос в разы

•Использование MV позволяет перенести обработку запроса на ячейки, что еще больше ускорят запрос (до 10 раз)

Page 38:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Materialized Views

• Materialized Views позволяют переместить обработку запроса на ячейки, засчет места на диске.

• Если увлечься MV, то можно переместить всю обработку на ячейки, но при этом Oracle будет простаивать.

• Нужно искать оптимальный баланс.• Нужно искать оптимальный баланс.

Page 39:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Индексы

• Иногда говорят, что Exadata позволяет обходиться без индексов и засчет этого уменьшить использование дискового пространства.

• В некоторых случаях да, но этим не нужно увлекаться• Индексы очень полезны и в слуае Exadata, особенно для • Индексы очень полезны и в слуае Exadata, особенно для

OLTP или стандартных запросов.• Нужно искать оптимальный баланс.

Page 40:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Преимущества архитектуры Exadata, которые дает СУБД Oracle

• Перенести приложения и особенно хранилища на Exadataдостаточно легко

• Так как приложения работают с «обычной» СУБД Oracle 11g • Не надо переписывать приложения и запросы при миграции на

Exadata• Возможна миграция данных в архитектуру с Exadata без • Возможна миграция данных в архитектуру с Exadata без остановки сервера

• Нужно, чтобы приложение работало с Oracle DB 11.2.0.2 и с RAC

• Exadata использует все преимущества и возможности СУБД Oracle

Page 41:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

О чем стоит помнить

• Несмотря на то, что в основе Exadata – обычная Oracle Database 11.2, архитектура системы немного отличается.

• Как следствие, наилучших результатов для существующих приложений можно достичь после дополнительного конфигурирования системы.

• И разница в производительности может достигать десятков раз.раз.

• Многие возможности, которые есть в Exadata невозможно получить на аппаратных платформах других вендоров.

• Иногда говорят, что Exadata это обычный сервер с FLASH.• Это не верно. Основные преимущества для DW Exadata дает засчет

Exadata Software. Но и FLASH – дает преимущества.

Page 42:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Выводы

• Exadata действительно работает, и работает быстро.• В большинстве наших проектов мы неделями заставляли работать Exadata в режиме экстремальных нагрузок, и она работала ☺

• Таблицы в несколько миллиардов записей на Exadata кажутся маленькими.кажутся маленькими.

• Перевести существующее хранилище на Exadata можно в течение нескольких дней или недель.

• При условии, если OLTP приложение работает на Oracle 11.2 и RAC – перенос на Exadata тоже не очень сложен.

Page 43:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие

Хотите протестировать Exadata для своего приложения или хранилища?

• Две ¼ Exadata уже находятся в Москве у партнеров Oracle (Jet, FORS)

• Если задача требует больше, чем ¼ Exadata,есть возможность протестировать в центре SUN в ШотландииSUN в Шотландии• При этом можно тестировать удаленно, через VPN• Тестирование в Шотландии требует больше бюрократических процедур

Page 44:  · Опыт практического использования Oracle ... HR. Некоторые советы по результатам POC. Общие