SlideShare a Scribd company logo
1 of 18
Download to read offline
Легковесная 
реляционная СУБД 
MySQL 
Павел Пушкарев
Архитектура MySQL 
Архитектура MySQL 
представлена справа ;-) 
Отличительная 
особенность — 
различные хранилища 
данных 
3 
MySQL 
клиенты 
Пул соединений 
Парсер и оптимизатор 
MyISAM InnoDB Memory
О чем пойдет речь 
• Хранилище MyISAM 
• Хранилище InnoDB 
• Резервные копии 
4
Хранилище MyISAM 
Простые файлики
Таблички MyISAM 
CREATE TABLE foo (a INT KEY) ENGINE=MyISAM; 
SHOW VARIABLES LIKE 'key_buffer%'; 
6 
структура: *.frm 
данные: *.MYD 
индексы: *.MYI 
диск 
озу 
буфер ключей 
файловый кэш 
Таблица 
MyISAM
Работа с MyISAM 
MyISAM: 
• Блокируется на каждую 
операцию 
• Возможны 
одновременные чтения 
• Возможна запись в 
конец таблицы 
7
Работа с MyISAM 
MyISAM: 
• Блокируется на каждую 
операцию 
• Возможны 
одновременные чтения 
• Возможна запись в 
конец таблицы 
8 
Потоки 
1 2 ... N W 
время
Хранилище InnoDB 
Транзакции и кислота
Таблички InnoDB 
CREATE TABLE foo (a INT KEY) ENGINE=InnoDB; 
SHOW VARIABLES LIKE 'innodb_buffer%'; 
SHOW VARIABLES LIKE 'innodb_log_buffer%'; 
10 
структура: *.frm 
tablespace: ibdata 
tablespace: *.ibd 
журнал: ib_logfile 
диск 
озу 
буфер InnoDB 
буфер журнала 
Таблица 
InnoDB
Работа с InnoDB 
InnoDB: 
• Полностью 
поддерживает ACID 
• Использует основной 
ключ как кластерный 
индекс 
• Внешние ключи и 
ссылочная целостность 
• MVCC 
11
Работа с InnoDB 
InnoDB: 
• Полностью 
поддерживает ACID 
• Использует основной 
ключ как кластерный 
индекс 
• Внешние ключи и 
ссылочная целостность 
• MVCC 
12 
ОЗУ 
InnoDB buffer pool 
Log buffer pool 
Tablespace 
Диск 
Undo 
Doublewrite 
Transaction log (Redo)
Работа с InnoDB 
InnoDB: 
• Полностью 
поддерживает ACID 
• Использует основной 
ключ как кластерный 
индекс 
• Внешние ключи и 
ссылочная целостность 
• MVCC 
13 
ОЗУ 
InnoDB buffer pool 
Log buffer pool 
Tablespace 
Диск 
Undo 
Transaction log (Redo) 
1 
Doublewrite 
4 
3 
2
Резервные копии 
И восстановление на момент времени
Грустная и скучная теория 
Бэкапы бывают двух видов: 
• Текстовые 
- mysqldump 
• Бинарные 
- mysqlhotcopy 
- xtrabackup 
15 
SELECT * 
cp /var/lib/mysql/*
Журнал изменений 
Binary log: 
• Пишется на все 
изменения в базе 
• Бывает row, 
statement и mixed 
• mysqlbinlog 
помогает читать 
16
Пример адского бэкапа 
innobackupex /var/lib/mysql /var/backups 
innobackupex --apply-log /var/backups/{dirname} 
chown -R mysql /var/backups/{dirname} 
cp -a /var/backups/{dirname} /var/lib/mysql 
mysqlbinlog /var/log/mysql-bin.*  
--stop-position={position} | mysql 
17 
Backup 
Restore
Спасибо за внимание!

More Related Content

What's hot

История веб-браузеров
История веб-браузеровИстория веб-браузеров
История веб-браузеровKaterin Boronina
 
Systemd. Структура и применение
Systemd. Структура и применениеSystemd. Структура и применение
Systemd. Структура и применениеudmlug
 
Операционная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеОперационная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеyaevents
 
Современная разработка сайтов на CMF Drupal.
Современная разработка сайтов на CMF Drupal.Современная разработка сайтов на CMF Drupal.
Современная разработка сайтов на CMF Drupal.phpdevby
 
03 - Установка Xcode
03 - Установка Xcode03 - Установка Xcode
03 - Установка XcodeRoman Brovko
 
Оживление сайтов
Оживление сайтовОживление сайтов
Оживление сайтовMageCloud
 
Управление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-toolsУправление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-toolsYandex
 
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковSphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковFuenteovejuna
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_rumcroitor
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_rumcroitor
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBIurii Ogiienko
 
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky HpdsAlexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpdsguest092df8
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)Ontico
 
Расширение границ возможного с EMC XtremIO
Расширение границ возможного с EMC XtremIOРасширение границ возможного с EMC XtremIO
Расширение границ возможного с EMC XtremIOКРОК
 
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Ontico
 
JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"GeeksLab Odessa
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Andrey Smirnov
 
High Availability в жизни обычного разработчика
High Availability в жизни обычного разработчикаHigh Availability в жизни обычного разработчика
High Availability в жизни обычного разработчикаSumy PHP User Grpoup
 

What's hot (20)

Хранилище 101
Хранилище 101Хранилище 101
Хранилище 101
 
История веб-браузеров
История веб-браузеровИстория веб-браузеров
История веб-браузеров
 
Systemd. Структура и применение
Systemd. Структура и применениеSystemd. Структура и применение
Systemd. Структура и применение
 
Операционная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеОперационная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционирование
 
Современная разработка сайтов на CMF Drupal.
Современная разработка сайтов на CMF Drupal.Современная разработка сайтов на CMF Drupal.
Современная разработка сайтов на CMF Drupal.
 
03 - Установка Xcode
03 - Установка Xcode03 - Установка Xcode
03 - Установка Xcode
 
Оживление сайтов
Оживление сайтовОживление сайтов
Оживление сайтов
 
Управление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-toolsУправление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-tools
 
Krizhanovsky Vm
Krizhanovsky VmKrizhanovsky Vm
Krizhanovsky Vm
 
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковSphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_ru
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_ru
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky HpdsAlexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
 
Расширение границ возможного с EMC XtremIO
Расширение границ возможного с EMC XtremIOРасширение границ возможного с EMC XtremIO
Расширение границ возможного с EMC XtremIO
 
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
 
JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
 
High Availability в жизни обычного разработчика
High Availability в жизни обычного разработчикаHigh Availability в жизни обычного разработчика
High Availability в жизни обычного разработчика
 

Similar to Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная СУБД MySQL

Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQLSveta Smirnova
 
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen ITDevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen ITLeonid Yuriev
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQLSveta Smirnova
 
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Oleg Tsarev
 
Devconf2010 mariadb-extra-features
Devconf2010 mariadb-extra-featuresDevconf2010 mariadb-extra-features
Devconf2010 mariadb-extra-featuresSergey Petrunya
 
Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)Ontico
 
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиЕвгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиFProg
 
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.5DevDay
 
DB2 BLU Explained
DB2 BLU ExplainedDB2 BLU Explained
DB2 BLU ExplainedMaxim Zinal
 
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложенийВведение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложенийSveta Smirnova
 
6. InterBase 2017 (Дмитрий Кузьменко)
6. InterBase 2017 (Дмитрий Кузьменко)6. InterBase 2017 (Дмитрий Кузьменко)
6. InterBase 2017 (Дмитрий Кузьменко)sandy97
 
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 RusWonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 RusOntico
 
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Ontico
 
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
 
Оптимизация – стоимость владения
Оптимизация – стоимость владенияОптимизация – стоимость владения
Оптимизация – стоимость владенияАнастасия Масенко
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"Badoo Development
 
Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8
Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8
Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8DefconRussia
 

Similar to Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная СУБД MySQL (20)

Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
 
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen ITDevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQL
 
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
 
Devconf2010 mariadb-extra-features
Devconf2010 mariadb-extra-featuresDevconf2010 mariadb-extra-features
Devconf2010 mariadb-extra-features
 
Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)Percona XtraBackup: экспертные возможности (Алексей Копытов)
Percona XtraBackup: экспертные возможности (Алексей Копытов)
 
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиЕвгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
 
Purely practical data structures
Purely practical data structuresPurely practical data structures
Purely practical data structures
 
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
 
DB2 BLU Explained
DB2 BLU ExplainedDB2 BLU Explained
DB2 BLU Explained
 
MySQL 101
MySQL 101MySQL 101
MySQL 101
 
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложенийВведение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложений
 
6. InterBase 2017 (Дмитрий Кузьменко)
6. InterBase 2017 (Дмитрий Кузьменко)6. InterBase 2017 (Дмитрий Кузьменко)
6. InterBase 2017 (Дмитрий Кузьменко)
 
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 RusWonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 Rus
 
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
 
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
 
High Load
High LoadHigh Load
High Load
 
Оптимизация – стоимость владения
Оптимизация – стоимость владенияОптимизация – стоимость владения
Оптимизация – стоимость владения
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
 
Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8
Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8
Nikita Tarakanov - Kernel Pool Overflow from Windows XP to Windows 8
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная СУБД MySQL

  • 1.
  • 2. Легковесная реляционная СУБД MySQL Павел Пушкарев
  • 3. Архитектура MySQL Архитектура MySQL представлена справа ;-) Отличительная особенность — различные хранилища данных 3 MySQL клиенты Пул соединений Парсер и оптимизатор MyISAM InnoDB Memory
  • 4. О чем пойдет речь • Хранилище MyISAM • Хранилище InnoDB • Резервные копии 4
  • 6. Таблички MyISAM CREATE TABLE foo (a INT KEY) ENGINE=MyISAM; SHOW VARIABLES LIKE 'key_buffer%'; 6 структура: *.frm данные: *.MYD индексы: *.MYI диск озу буфер ключей файловый кэш Таблица MyISAM
  • 7. Работа с MyISAM MyISAM: • Блокируется на каждую операцию • Возможны одновременные чтения • Возможна запись в конец таблицы 7
  • 8. Работа с MyISAM MyISAM: • Блокируется на каждую операцию • Возможны одновременные чтения • Возможна запись в конец таблицы 8 Потоки 1 2 ... N W время
  • 10. Таблички InnoDB CREATE TABLE foo (a INT KEY) ENGINE=InnoDB; SHOW VARIABLES LIKE 'innodb_buffer%'; SHOW VARIABLES LIKE 'innodb_log_buffer%'; 10 структура: *.frm tablespace: ibdata tablespace: *.ibd журнал: ib_logfile диск озу буфер InnoDB буфер журнала Таблица InnoDB
  • 11. Работа с InnoDB InnoDB: • Полностью поддерживает ACID • Использует основной ключ как кластерный индекс • Внешние ключи и ссылочная целостность • MVCC 11
  • 12. Работа с InnoDB InnoDB: • Полностью поддерживает ACID • Использует основной ключ как кластерный индекс • Внешние ключи и ссылочная целостность • MVCC 12 ОЗУ InnoDB buffer pool Log buffer pool Tablespace Диск Undo Doublewrite Transaction log (Redo)
  • 13. Работа с InnoDB InnoDB: • Полностью поддерживает ACID • Использует основной ключ как кластерный индекс • Внешние ключи и ссылочная целостность • MVCC 13 ОЗУ InnoDB buffer pool Log buffer pool Tablespace Диск Undo Transaction log (Redo) 1 Doublewrite 4 3 2
  • 14. Резервные копии И восстановление на момент времени
  • 15. Грустная и скучная теория Бэкапы бывают двух видов: • Текстовые - mysqldump • Бинарные - mysqlhotcopy - xtrabackup 15 SELECT * cp /var/lib/mysql/*
  • 16. Журнал изменений Binary log: • Пишется на все изменения в базе • Бывает row, statement и mixed • mysqlbinlog помогает читать 16
  • 17. Пример адского бэкапа innobackupex /var/lib/mysql /var/backups innobackupex --apply-log /var/backups/{dirname} chown -R mysql /var/backups/{dirname} cp -a /var/backups/{dirname} /var/lib/mysql mysqlbinlog /var/log/mysql-bin.* --stop-position={position} | mysql 17 Backup Restore