ݺߣ

ݺߣShare a Scribd company logo
DBArtisan 2016 - это не просто "face lifting"!
Кросс-платформенные инструменты для работы с БД
Андрей Совцов
Embarcadero,Москва
email: Andrew.Sovtsov@embarcadero.com
Темы
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: Andrew.Sovtsov@Embarcadero.com
Blog: http://embt.co/ASovtsov
Tel: +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
Вопросы?
Приложение

More Related Content

DBArtisan 2016 это не просто face lifting!

  • 1. DBArtisan 2016 - это не просто "face lifting"! Кросс-платформенные инструменты для работы с БД Андрей Совцов Embarcadero,Москва email: Andrew.Sovtsov@embarcadero.com
  • 2. Темы 1. DB PowerStudio 2. Трудности современных DBA и разработчиков БД 3. Performance IQ – Управление производительностью – Постоянный мониторинг состояния – Повышение наглядности
  • 3. Трудности DBA и разработчиков БД • Понять какой именно SQL плохо работает и почему • Быстро исправить плохо работающий SQL • Неуверенность / неопределенность насчет производительность имеющейся SAN • Неопределенность, насколько влияет на производительность виртуализация • Требуется понять, как применять новые возможности СУБД для решения существующих проблем • Необходимость в более подробном мониторинге • Оповещения позволили бы реагировать оперативнее • Необходимость следить за расширением доступного пространства для хранения данных
  • 4. 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 • …
  • 7. Подход Embarcadero Мы не перегружаем пользователей метриками… Мы показываем результаты… …как в кабине современного авиалайнера 9
  • 8. N
  • 10. Анализ на основе событий ожидания Выбор даты и времени Настройки для выбора базы сравнения и фильтрации событий и исключений
  • 11. Подход Embarcadero Мы не показываем только метрики IO.. Но SQL, ответственный за это 13
  • 12. Время отклика и пропускная способность
  • 13. Топ 5+ приложений и процедур
  • 14. Топ 5+ запросов по анализу задержек с историей
  • 15. Индикаторы оповещений общие и каждого сервера
  • 16. Важные оповещения с учетом длительности события
  • 18. 2016 – Уникальные расширения Мы сообщаем пользователям, как данный SQL выполнялся в прошлом и что изменилось
  • 19. Проводим сравнение с другими серверами
  • 20. Подсказки SQL IDE в DBArtisan и RapidSQL Позволяет разработчиками и DBA создавать более производительный SQL, ориентированный на промышленное применение с учетом кардинальности и распределения данных, статистик таблиц, индексов и т.п. непосредственно реальных «живых» данных
  • 21. Подсказки 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, ориентированный на промышленное применение с учетом кардинальности и распределения данных, статистик таблиц, индексов и т.п. непосредственно реальных «живых» данных
  • 22. Показ существующих индексов в SQL IDE Если существуют индексы по используемым колонкам, мы показываем информацию о них, чтобы пользователи могли понять их пригодность для конкретного запроса
  • 23. Предложения по созданию индексов в SQL IDE Мы подсказываем, какие индексы могли бы быть созданы, чтобы улучшить выполнение запроса на реальной БД. Это также показывает возможные издержки добавления индекса
  • 24. SQL IDE предлагает синтаксические настройки SQL, улучшающие его производительность Более 200 возможный синтаксических улучшений кода SQL, которые могли бы улучшить производительность его выполнения
  • 27. Отрывок из списка возможных синтаксических улучшений • 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
  • 29. Итоги 1. Расширение DB PowerStudio в 2015-2016 2. Потребности современных DBA и разработчиков БД 3. Управление производительностью и непрерывный мониторинг состояния 4. Наглядность и упрощение интерфейса 5. Performance IQ – основа управления производительностью БД
  • 30. Дополнительные материалы • Подробнее о 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
  • 31. Спасибо за внимание! Андрей Совцов Embarcadero Email: Andrew.Sovtsov@Embarcadero.com Blog: http://embt.co/ASovtsov Tel: +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