SlideShare a Scribd company logo
Что нужно знать
о трёх топовых фичах MySQL
August, 22, 2019
Sveta Smirnova
∙ Инженер тех. поддержки MySQL
∙
Автор
∙ MySQL Troubleshooting
∙
JSON UDF функции
∙ FILTER clause для MySQL
∙ Докладчик
∙
Percona Live, OOW, Fosdem,
DevConf, HighLoad...
Света Смирнова
2
Идея Доклада
3
∙Табличные Движки
InnoDB
∙Репликация
∙NoSQL
Содержание
4
Табличные Движки
Connectors: C, JDBC, ODBC, Python, ...
Connection Pool: Authentication, Caches
SQL interface
Parser
Optimizer
Caches and Buffers:
Global
Engine-specific
Storage engines: InnoDB, TokuDB, ...
File system: Data, Index, logs, other files
∙
mysqld и его файлы
∙ Коннекторы
∙ Оптимизатор
∙ Кэши
∙ Табличные движки
∙ Управление
Архитектура MySQL
6
∙
Владеют данными
∙
Собственный формат индексов
∙
Собственные блокировки
∙
Собственная диагностика
∙ Собственные журналы
∙ CHECK TABLE
Табличные Движки
7
∙
InnoDB
∙ Сначала пишет в redo log и buffer pool
∙ Асинхронно копирует в файлы таблиц
∙
Мы не можем скопировать только tablespaces
сразу после записи: новые данные будут
только в redo logs и buffer pool
Каждый Хранит Данные По-своему
8
∙
InnoDB
∙
MyISAM, CSV, ...
∙ Сразу изменяет файлы данных
∙ Просто реализовать бинарный бэкап
∙
Изменения нельзя откатить
Каждый Хранит Данные По-своему
8
∙
InnoDB
∙
MyISAM, CSV, ...
∙
Blackhole
∙ Игнорирует все записи
Каждый Хранит Данные По-своему
8
∙
InnoDB
∙
MyISAM, CSV, ...
∙
Blackhole
∙
Federated
∙ Читает и пишет с удалённого сервера
∙ Зависит от соединения и табличного движка
оригинальной таблицы
Каждый Хранит Данные По-своему
8
∙ Сервер
∙ Метаданных (MDL) защищают структуру
∙ Табличные защищают данные
Имплицитно
LOCK TABLES
Взаимодействие с Сервером: Блокировки
9
∙ Сервер
∙ Табличный движок
∙ Строковые
∙
Табличные
∙ Какие угодно
∙ Не коррелируют с серверными
Взаимодействие с Сервером: Блокировки
9
∙ Сервер
∙ Табличный движок
∙ Возможны неопределяемые "дедлоки"
Взаимодействие с Сервером: Блокировки
9
∙ Обычно префиксом engine_name_
∙ У MyISAM есть несколько исключений
Как Найти Опции Движка?
10
∙ Обычно начинаются с engine_name
∙ myisamchk
∙
myisam_ftdump
∙ myisampack
Как Найти Инструменты Движка?
11
∙ Обычно начинаются с engine_name
∙ Иногда только часть engine_name
∙ innochecksum
∙
tokuftdump
∙ tokuft_logprint
Как Найти Инструменты Движка?
11
Табличные Движки
InnoDB
∙
Транзакционный
∙ Каждый запрос - часть транзакции!
∙ Даже SELECT
READ ONLY транзакции в 5.6+
InnoDB Вкратце
13
∙
Транзакционный
∙
Поддерживает MVCC
∙ Хранит старые версии до тех пор пока все
транзакции, которые могут их запросить,
завершили работу
InnoDB Вкратце
13
∙
Транзакционный
∙
Поддерживает MVCC
∙
ACID
∙ Atomicity
∙ Consistency
∙
Isolation
∙ Durability
InnoDB Вкратце
13
∙
Транзакционный
∙
Поддерживает MVCC
∙
ACID
∙
Физическое расположение
∙ Системный (shared) tablespace
∙ Redo log
∙
Индивидуальные tablespaces
InnoDB Вкратце
13
∙ Системный tablespace
∙
InnoDB data dictionary
Метаданные
∙ Doublewrite buffer
Хранит страницу после удаления из Buffer Pool и до записи в нужное место
Для восстановления после крэша во время записи страницы
∙ Change buffer
Кэш изменений вторичных индексов
Если их нет в Buffer Pool
∙ Undo log (rollback segment)
Копии данных, изменённых активными транзакциями
Могут храниться отдельно в 5.6+
Структуры InnoDB
14
∙ Системный tablespace
∙ Buffer pool
∙ В памяти
∙
Кэш данных и индексов
∙ Устаревшие данные удаляются с применением
LRU алгоритма
Структуры InnoDB
14
∙ Системный tablespace
∙ Buffer pool
∙ Redo log
∙ Кодированные изменения страниц
∙
Записываются в циклической манере
∙
Незавершенные записи в файлы таблиц
проигрываются из журнала после крэша
Структуры InnoDB
14
∙ Системный tablespace
∙ Buffer pool
∙ Redo log
∙
File-Per-Table Tablespaces
∙ Данные и индексы таблицы
∙ Поддерживают разные форматы
∙
Могут храниться на разных дисках
Структуры InnoDB
14
∙ Больше потоков - больше работы может
быть выполнено одновременно
Конкуренция
15
∙ Больше потоков - больше работы может
быть выполнено одновременно
∙
Поток InnoDB ̸= соединение
∙ Соединения могут бездействовать пока
InnoDB выполняет свою работу
∙ Если активных соединений (Running_threads)
больше, чем потоков InnoDB
Часть ждёт в очереди
Конкуренция
15
∙ Больше потоков - больше работы может
быть выполнено одновременно
∙
Поток InnoDB ̸= соединение
∙
Ограничено количеством ядер CPU
Конкуренция
15
∙ Больше потоков - больше работы может
быть выполнено одновременно
∙
Поток InnoDB ̸= соединение
∙
Ограничено количеством ядер CPU
∙ Слишком большое количество потоков
может привести к конфликтам
∙
Производительность уменьшится
∙ Сервер зависнет!
Конкуренция
15
∙ Больше потоков - больше работы может
быть выполнено одновременно
∙
Поток InnoDB ̸= соединение
∙
Ограничено количеством ядер CPU
∙ Слишком большое количество потоков
может привести к конфликтам
∙ innodb_thread_concurrency
Конкуренция
15
1 2 4 8 16 32 64 128 256
10
15
20
Number of threads
Transactionspersecond
Taken on 8-cores laptop
Неоправданно большое количество потоков
16
∙
Меньше записи-чтения
∙
Больше производительность
∙
Выше риск потери данных
Ввод-Вывод: Производительность
17
∙
Меньше записи-чтения
∙
Больше производительность
∙
Выше риск потери данных
∙
Не всегда нужно снижать количество
операций ввода-вывода
∙
Быстрые диски
∙ Приложение много пишет
Ввод-Вывод: Производительность
17
∙ Обязательные
∙ innodb_flush_method
∙
innodb_log_file_size
∙ innodb_io_capacity
Настройка ввода-вывода для InnoDB
18
∙ Обязательные
∙ С риском потери данных
∙ innodb_doublewrite
∙
innodb_flush_log_at_trx_commit
∙ innodb_flush_log_at_timeout
∙ Изменяйте только на репликах!
Настройка ввода-вывода для InnoDB
18
∙ innodb_buffer_pool_size
∙ innodb_log_file_size
∙ innodb_thread_concurrency
∙ innodb_io_capacity
∙ innodb_flush_method
Топ настроек InnoDB
19
Репликация
∙
Начиная с очень ранних версий
Репликация в MySQL
21
∙
Начиная с очень ранних версий
∙
Легко использовать
Репликация в MySQL
21
∙
Начиная с очень ранних версий
∙
Легко использовать
∙
Минимальные настройки
Репликация в MySQL
21
∙
Мастер
∙
–log-bin
∙
–server-id
∙ GRANT REPLICATION SLAVE ON *.* ...
Как включить
22
∙
Мастер
∙
–log-bin
∙
–server-id
∙ GRANT REPLICATION SLAVE ON *.* ...
∙ Слейв
∙
–server-id
∙ CHANGE MASTER ...
∙ START SLAVE
Как включить
22
Простая
23
Круговая
24
Звезда
25
Креативная
26
Мастер Слейв
← Инициирует
Асинхронная
27
Мастер Слейв
← Инициирует
← Запрашивает пакет
Асинхронная
27
Мастер
Пересылает пакет →
Слейв
← Инициирует
← Запрашивает пакет
Асинхронная
27
Мастер
Пересылает пакет →
Слейв
← Инициирует
← Запрашивает пакет
... ?
Асинхронная
27
IO thread
Читает с мастера
SQL thread
Два Типа Потоков Слейва
28
IO thread
Читает с мастера
Записывает в relay log
SQL thread
Два Типа Потоков Слейва
28
IO thread
Читает с мастера
Записывает в relay log
SQL thread
← Читает из relay log
Два Типа Потоков Слейва
28
IO thread
Читает с мастера
Записывает в relay log
SQL thread
← Читает из relay log
Выполняет
Два Типа Потоков Слейва
28
∙
Прост в отладке
Единственный SQL Thread
29
∙
Прост в отладке
∙
Обычно медленнее мастера
∙
Высоконкурентная нагрузка
Единственный SQL Thread
29
Записи на Мастере
30
Записи на Слейве: Один SQL Thread
31
Несколько SQL Threads: 5.6+
32
Master
Получает изменение
Табличный Движок
Логическая
33
Master
Получает изменение
Передаёт движку →
Табличный Движок
Логическая
33
Master
Получает изменение
Передаёт движку →
Табличный Движок
Пишет в таблицу
Логическая
33
Master
Получает изменение
Передаёт движку →
Табличный Движок
Пишет в таблицу
← Возвращает контроль
Логическая
33
Master
Получает изменение
Передаёт движку →
Пишет в binary log
Табличный Движок
Пишет в таблицу
← Возвращает контроль
Логическая
33
Master
Получает изменение
Передаёт движку →
Пишет в binary log
Синхронизируется →
Табличный Движок
Пишет в таблицу
← Возвращает контроль
← Синхронизируется
Логическая
33
Клиент Binary log
Statement-Based Binary Log Format
34
Клиент
INSERT INTO ... →
Binary log
Statement-Based Binary Log Format
34
Клиент
INSERT INTO ... →
Binary log
SET TIMESTAMP...
Statement-Based Binary Log Format
34
Клиент
INSERT INTO ... →
Binary log
SET TIMESTAMP...
SET sql_mode...
Statement-Based Binary Log Format
34
Клиент
INSERT INTO ... →
Binary log
SET TIMESTAMP...
SET sql_mode...
INSERT INTO ...
Statement-Based Binary Log Format
34
Клиент Binary log
Row-Based Binary Log Format
35
Клиент
UPDATE ... →
Binary log
Row-Based Binary Log Format
35
Клиент
UPDATE ... →
Binary log
SET TIMESTAMP...
Row-Based Binary Log Format
35
Клиент
UPDATE ... →
Binary log
SET TIMESTAMP...
SET sql_mode...
Row-Based Binary Log Format
35
Клиент
UPDATE ... →
Binary log
SET TIMESTAMP...
SET sql_mode...
Строка до изменений
Row-Based Binary Log Format
35
Клиент
UPDATE ... →
Binary log
SET TIMESTAMP...
SET sql_mode...
Строка до изменений
Строка с изменениями
Row-Based Binary Log Format
35
∙
Нужно указать
∙
Название binary log
∙
Позицию
Позиционная
36
∙
Нужно указать
∙
Название binary log
∙
Позицию
∙
С точки зрения отладки
∙ Выполнение с указанной позиции
Позиционная
36
∙
Нужно указать
∙
Название binary log
∙
Позицию
∙
С точки зрения отладки
∙ Выполнение с указанной позиции
∙
Легко пропустить
Позиционная
36
∙
Нужно указать
∙
Название binary log
∙
Позицию
∙
С точки зрения отладки
∙ Выполнение с указанной позиции
∙
Легко пропустить
∙ Легко переместить назад
Позиционная
36
∙
Нужно указать
∙
Название binary log
∙
Позицию
∙
С точки зрения отладки
∙ Выполнение с указанной позиции
∙
Легко пропустить
∙ Легко переместить назад
∙ Все конфликты - ваши
Позиционная
36
∙ У каждой транзакции свой номер: GTID
Global Transaction Identifiers (GTID)
37
∙ У каждой транзакции свой номер: GTID
∙ Название binary log и позиция не нужны
∙ AUTO_POSITION=1
Global Transaction Identifiers (GTID)
37
∙ У каждой транзакции свой номер: GTID
∙ Название binary log и позиция не нужны
∙ Сложно пропустить ошибочные записи
Global Transaction Identifiers (GTID)
37
∙ У каждой транзакции свой номер: GTID
∙ Название binary log и позиция не нужны
∙ Сложно пропустить ошибочные записи
∙ Не все команды разрешены
∙ Транзакционные и нетранзакционные движки
∙ CREATE TABLE ... SELECT
∙ Временные таблицы
8.0.13+: разрешены при RBR
Global Transaction Identifiers (GTID)
37
∙ Синхронизация binary log и таблицы
Табличные Движки и Репликация
38
∙ Синхронизация binary log и таблицы
∙ SBR и transaction isolation levels
mysql> set transaction isolation level read committed;
Query OK, 0 rows affected (0,00 sec)
mysql> update t1 set f1=f1*2;
ERROR 1665 (HY000): Cannot execute statement: impossible to write to binary log since
BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to
row-based logging. InnoDB is limited to row-logging when transaction isolation level
is READ COMMITTED or READ UNCOMMITTED.
Табличные Движки и Репликация
38
∙ Синхронизация binary log и таблицы
∙ SBR и transaction isolation levels
∙ RBR - независимый от движка формат
Табличные Движки и Репликация
38
∙ Синхронизация binary log и таблицы
∙ SBR и transaction isolation levels
∙ RBR - независимый от движка формат
∙
GTIDs независимы от движка
Табличные Движки и Репликация
38
∙ Синхронизация binary log и таблицы
∙ SBR и transaction isolation levels
∙ RBR - независимый от движка формат
∙
GTIDs независимы от движка
∙
У движка могут быть свои специфические
фичи для репликации
∙ Read free репликация в TokuDB
Табличные Движки и Репликация
38
NoSQL
∙ Функции JSON
∙ MySQL Shell
∙ Document Store
∙
Memcached API
Что Поддерживает MySQL
40
∙ Манипулируют документами JSON
∙
Создают
JSON_OBJECT
JSON_ARRAY
∙ Ищут
JSON_EXTRACT
column->path
∙
Модифицируют
JSON_INSERT
JSON_SET
Функции JSON
41
∙ Манипулируют документами JSON
∙ Тип данных JSON
∙ Оптимизированное хранилище
∙
Автоматическая валидация
Функции JSON
41
∙ Манипулируют документами JSON
∙ Тип данных JSON
∙ Может работать со строками
∙ Медленно
∙ Автоматическая валидация не
поддерживается
Функции JSON
41
∙
Командный клиент
∙
Поддерживает Python и JavaScript
MySQL Shell
42
∙ Доступ из MySQL Shell
∙ Поддерживает
∙ Python, JavaScript, C#, C++, Java
∙ Your driver
∙ X Plugin: асинхронный клиент
X Protocol
X DevAPi
∙ Данные хранятся в реляционном формате
MySQL как Document Store
43
∙ Интерфейс к memcached
∙ Доступ ключ-значение
∙ Данные хранятся в InnoDB
∙ Могут быть кэшированы
∙
Кэш может быть настроен для высокой
производительности
∙ Умолчания: только прямой доступ, высокая
надёжности, фактически никакого кэша
Memcached API
44
∙ Вебинары
Introduction to MySQL Troubleshooting
Storage engines troubleshooting
InnoDB Troubleshooting
MySQL Replication Troubleshooting
Дополнительная Информация
45
∙ Мануалы
The InnoDB Storage Engine
Replication
JSON Functions
MySQL as a Document Store
InnoDB memcached Plugin
Дополнительная Информация
45
www.slideshare.net/SvetaSmirnova
twitter.com/svetsmirnova
github.com/svetasmirnova
Спасибо!
46
DATABASE PERFORMANCE
MATTERS

More Related Content

What's hot

Pipeline oriented programming
Pipeline oriented programmingPipeline oriented programming
Pipeline oriented programming
Scott Wlaschin
 
Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)
Scott Wlaschin
 
Hello, ReactorKit 
Hello, ReactorKit Hello, ReactorKit 
Hello, ReactorKit 
Suyeol Jeon
 
Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python
Jean Carlo Machado
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MYXPLAIN
 
The Java memory model made easy
The Java memory model made easyThe Java memory model made easy
The Java memory model made easy
Rafael Winterhalter
 
Develop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connectorDevelop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connector
odoohub
 
Comparison between odoo 12 and odoo 13
Comparison between odoo 12 and odoo 13Comparison between odoo 12 and odoo 13
Comparison between odoo 12 and odoo 13
PlanetOdoo
 
SQL Transactions - What they are good for and how they work
SQL Transactions - What they are good for and how they workSQL Transactions - What they are good for and how they work
SQL Transactions - What they are good for and how they work
Markus Winand
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting Replication
Sveta Smirnova
 
The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)
Scott Wlaschin
 
Sql query patterns, optimized
Sql query patterns, optimizedSql query patterns, optimized
Sql query patterns, optimized
Karwin Software Solutions LLC
 
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
RyanHKang
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
Karwin Software Solutions LLC
 
Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16
Celine George
 
The Proxy Fairy, and The Magic of Spring Framework
The Proxy Fairy, and The Magic of Spring FrameworkThe Proxy Fairy, and The Magic of Spring Framework
The Proxy Fairy, and The Magic of Spring Framework
Victor Rentea
 
InnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick FiguresInnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick Figures
Karwin Software Solutions LLC
 
Real Browser Check Scripting Guide - Rigor Monitoring
Real Browser Check Scripting Guide - Rigor MonitoringReal Browser Check Scripting Guide - Rigor Monitoring
Real Browser Check Scripting Guide - Rigor Monitoring
Anthony Ferrari
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applications
Yura Nosenko
 
Transparent sharding with Spider: what's new and getting started
Transparent sharding with Spider: what's new and getting startedTransparent sharding with Spider: what's new and getting started
Transparent sharding with Spider: what's new and getting started
MariaDB plc
 

What's hot (20)

Pipeline oriented programming
Pipeline oriented programmingPipeline oriented programming
Pipeline oriented programming
 
Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)
 
Hello, ReactorKit 
Hello, ReactorKit Hello, ReactorKit 
Hello, ReactorKit 
 
Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6
 
The Java memory model made easy
The Java memory model made easyThe Java memory model made easy
The Java memory model made easy
 
Develop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connectorDevelop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connector
 
Comparison between odoo 12 and odoo 13
Comparison between odoo 12 and odoo 13Comparison between odoo 12 and odoo 13
Comparison between odoo 12 and odoo 13
 
SQL Transactions - What they are good for and how they work
SQL Transactions - What they are good for and how they workSQL Transactions - What they are good for and how they work
SQL Transactions - What they are good for and how they work
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting Replication
 
The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)
 
Sql query patterns, optimized
Sql query patterns, optimizedSql query patterns, optimized
Sql query patterns, optimized
 
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
 
Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16
 
The Proxy Fairy, and The Magic of Spring Framework
The Proxy Fairy, and The Magic of Spring FrameworkThe Proxy Fairy, and The Magic of Spring Framework
The Proxy Fairy, and The Magic of Spring Framework
 
InnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick FiguresInnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick Figures
 
Real Browser Check Scripting Guide - Rigor Monitoring
Real Browser Check Scripting Guide - Rigor MonitoringReal Browser Check Scripting Guide - Rigor Monitoring
Real Browser Check Scripting Guide - Rigor Monitoring
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applications
 
Transparent sharding with Spider: what's new and getting started
Transparent sharding with Spider: what's new and getting startedTransparent sharding with Spider: what's new and getting started
Transparent sharding with Spider: what's new and getting started
 

Similar to Что нужно знать о трёх топовых фичах MySQL

SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
DevDay
 
Эффективная отладка репликации MySQL
Эффективная отладка репликации MySQLЭффективная отладка репликации MySQL
Эффективная отладка репликации MySQL
Sveta Smirnova
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Ontico
 
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...Yandex
 
Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)Ontico
 
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7""Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
 
My sql 5.6-new-stable-mmug
My sql 5.6-new-stable-mmugMy sql 5.6-new-stable-mmug
My sql 5.6-new-stable-mmug
Andrey Tokarchuk
 
CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафор
Alexander Byndyu
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDB
Sergey Petrunya
 
Devconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadbDevconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadbSergey Petrunya
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...DEPO Computers
 
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиЕвгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
FProg
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 
MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?
Alexey Zinoviev
 
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!CodeFest
 
Вебинар «Обмен данными между 1С: Конвертация данных 3.0»
Вебинар  «Обмен данными между 1С: Конвертация данных 3.0»Вебинар  «Обмен данными между 1С: Конвертация данных 3.0»
Вебинар «Обмен данными между 1С: Конвертация данных 3.0»
Анастасия Масенко
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
Ilya Sergeev
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Yandex
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBIurii Ogiienko
 

Similar to Что нужно знать о трёх топовых фичах MySQL (20)

SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
 
Эффективная отладка репликации MySQL
Эффективная отладка репликации MySQLЭффективная отладка репликации MySQL
Эффективная отладка репликации MySQL
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
 
Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)
 
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7""Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
 
My sql 5.6-new-stable-mmug
My sql 5.6-new-stable-mmugMy sql 5.6-new-stable-mmug
My sql 5.6-new-stable-mmug
 
CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафор
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDB
 
Devconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadbDevconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadb
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
 
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиЕвгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
 
Purely practical data structures
Purely practical data structuresPurely practical data structures
Purely practical data structures
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 
MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?
 
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
 
Вебинар «Обмен данными между 1С: Конвертация данных 3.0»
Вебинар  «Обмен данными между 1С: Конвертация данных 3.0»Вебинар  «Обмен данными между 1С: Конвертация данных 3.0»
Вебинар «Обмен данными между 1С: Конвертация данных 3.0»
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 

More from Sveta Smirnova

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
Sveta Smirnova
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
Sveta Smirnova
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
Sveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
Sveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
Sveta Smirnova
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
Sveta Smirnova
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
Sveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
Sveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
Sveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
Sveta Smirnova
 

More from Sveta Smirnova (20)

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
 

Что нужно знать о трёх топовых фичах MySQL