dbartisan 2016 это не просто face lifting!
TRANSCRIPT
DBArtisan 2016 - это не просто "face lifting"!
Кросс-платформенные инструменты для работы с БД
Андрей СовцовEmbarcadero,Москваemail: [email protected]
Темы1. DB PowerStudio
2. Трудности современных DBA и разработчиков БД
3. Performance IQ
– Управление производительностью
– Постоянный мониторинг состояния
– Повышение наглядности
Трудности DBA и разработчиков БД
• Понять какой именно SQL плохо работает и почему
• Быстро исправить плохо работающий SQL
• Неуверенность / неопределенность насчет производительность
имеющейся SAN
• Неопределенность, насколько влияет на производительность
виртуализация
• Требуется понять, как применять новые возможности СУБД для
решения существующих проблем
• Необходимость в более подробном мониторинге
• Оповещения позволили бы реагировать оперативнее
• Необходимость следить за расширением доступного пространства
для хранения данных
DB PowerStudio 2016 ( сентябрь 2015 )
DB PowerStudio
2016
DB Artisan
DB Rapid SQL
DB Optimizer
DB Change Manager
• Управление производительностью прямо в DBArtisan& Rapid SQL
• Значительные улучшения SQL IDE для поиска проблем с SQL
• Учет особенностей данных: Cardinality
• Учет особенностей данных: распределение значений
• Поддержка синтаксиса диалектов SQL
• Неэффективное применение индексов и рекомендации индексов
• Полный набор оповещений (+перерывы мониторинга и остановы)
• Поддержка мониторинга для SQL Server
• Поддержка мониторинга для Oracle
• Поддержка репозитория SQL Server
• Поддержка репозитория Oracle
• …
Собираем метрики производительности по каждому серверу
Инструменты мониторинга?Избыток показателей, как в кабине самолета 70-х
8
Подход Embarcadero
Мы не перегружаем пользователей метриками…
Мы показываем результаты…
…как в кабине современного авиалайнера
9
N
Табло сводной производительности серверов в DBArtisan
Анализ на основе событий ожидания
Выбор даты и времени
Настройки для выбора базы сравнения и фильтрации событий и исключений
Подход EmbarcaderoМы не показываем только метрики IO.. Но SQL, ответственный за это
13
Время отклика и пропускная способность
Топ 5+ приложений и процедур
Топ 5+ запросов по анализу задержек с историей
Индикаторы оповещений общие и каждого сервера
Важные оповещения с учетом длительности события
Управление критичностью отслеживаемых событий
2016 – Уникальные расширения
Мы сообщаем пользователям, как данный SQL выполнялся в прошлом и что изменилось
Проводим сравнение с другими серверами
Подсказки SQL IDE в DBArtisan и RapidSQL
Позволяет разработчиками и DBAсоздавать более производительный SQL, ориентированный на промышленное применение с учетом кардинальности и распределения данных, статистик таблиц, индексов и т.п. непосредственно реальных «живых» данных
Подсказки SQL IDE в DBArtisan и RapidSQL
SELECT EmployeeID, LastName
FROM EmployeeMaster
WHERE Zip = 94001
Test performance using worst cardinality
No of table rows: 356,007
Column: Zip
Column Type: int(nullable)
Ave. column data length: 4 Bytes (not very good)
No of distinct values: 298
Average cardinality: 1,194 rows
Best cardinality: “98001”-4 rows
Worst cardinality: “91301” –146,092 rows
Column Statistics
Позволяет разработчиками и DBAсоздавать более производительный SQL, ориентированный на промышленное применение с учетом кардинальности и распределения данных, статистик таблиц, индексов и т.п. непосредственно реальных «живых» данных
Показ существующих индексов в SQL IDE
Если существуют индексы по используемым колонкам, мы показываем информацию о них, чтобы пользователи могли понять их пригодность для конкретного запроса
Предложения по созданию индексов в SQL IDE
Мы подсказываем, какие индексы могли бы быть созданы, чтобы улучшить выполнение запроса на реальной БД. Это также показывает возможные издержки добавления индекса
SQL IDE предлагает синтаксические настройки SQL, улучшающие его производительность
Более 200 возможный синтаксических улучшений кода SQL, которые могли бы улучшить производительность его выполнения
Пример предлагаемого синтаксического улучшения
Пример предлагаемого синтаксического улучшения - 2
Отрывок из списка возможных синтаксических улучшений
• Quirky Update method
• Alter SUBSTRING (column, 1, nnn) TO column LIKE ‘XXX%‘ to boost performance up to 3X faster
• Alter YEAR(column) = YYYY TO column BETWEEN ‘1 Jan YYYY’ AND ’31 Dec YYYY’ to boost performance up to 300X
• Alter order of nested MIN/MAX functions
• Alter column IN (XXX, YYY, ZZZ) TO column BETWEEN XXX AND ZZZ to boost performance up to 75% when AAA is an integer type column and the IN list has all consecutive elements
• Alter LEFT JOIN TO NOT IN to boost performance up to 12X faster
• Alter DELETE with no WHERE clause to a TRUNCATE
• Alter COALESCE(XXX, N’YYY’) = N’YYY’ TO XXX = N’YYY’ OR XXX IS NULL to boost performance ~20%
• Alter LIKE with no % or _ wildcards to =
• Alter LEFT (XXX, YYY) = ‘ZZZ’ TO XXX LIKE ‘ZZZ%’ to boost performance up to 300X
• Read forward cursor is not using the “Fast Forward” option, can boost performance well over 100%
• Alter CHARINDEX (‘YYY’, XXX) = 0 TO XXX LIKE ‘YYY%’ to boost performance up to 300X
Performance IQ
Итоги
1. Расширение DB PowerStudio в 2015-2016
2. Потребности современных DBA и разработчиков БД
3. Управление производительностью и непрерывный мониторинг состояния
4. Наглядность и упрощение интерфейса
5. Performance IQ – основа управления производительностью БД
Дополнительные материалы
• Подробнее о Performance IQ • http://www.embarcadero.com/products/dbartisan/performan
ceiq• Вебинары Embarcadero для DBA и разработчиков БД• http://www.embarcadero.com/resources/webinars• Технические статьи по вопросам Performance IQ. • http://www.embarcadero.com/resources/white-
papers/database-management• Учебное видео по DBArtisan и Rapid SQL (английский)• http://www.embarcadero.com/products/dbartisan/product-
demos
Спасибо за внимание!
Андрей СовцовEmbarcadero
Email: [email protected]
Blog: http://embt.co/ASovtsovTel: +7(495)708 4393
Записи вебинаров: http://embt.co/MrAndySova
Блоги Embarcadero (все языки):
http://community.embarcadero.com/index.php/blogs
Powering Today’s Applications and Data
https://goo.gl/si6VW9
Вопросы?
Приложение