Загрузка страницы

MySQL и PostgreSQL: что «под капотом» и почему это важно знать прикладному разработчику

«MySQL и PostgreSQL: что «под капотом» и почему это важно знать прикладному разработчику. Реализация требований ACID, подходов к хранению данных и B-Tree индексов» — Никита Стрелков, разработчик e-commerce-подразделения, VK.

Доклад с митапа {Perm} Dev Meetup #1 (11 декабря 2021)

MySQL и PostgreSQL сегодня — одни из самых популярных реляционных СУБД. Их активно используют разработчики в проектах самого разного уровня: от простейших веб-сайтов с нагрузкой в несколько запросов в сутки и объемом менее гигабайта, до геораспределенных высоконагруженных приложений с тысячами и более RPS и терабайтами данных.
Многим разработчикам в течение карьеры приходится переходить с одной на другую или использовать одновременно несколько. Несмотря на кажущееся сходство, «под капотом» у этих СУБД важные различия, что сказывается на работе многих функций.

В докладе раскрыты некоторые подробности устройства MySQL и PostgreSQL:
— как обеспечивается транзакционность операций
— что такое журналирование и какие виды журналов используются
— различия в реализациях MVCC и применяемых блокировках
— различия в реализации B-Tree индексов.

Рассмотрены их сходства и различия, которые позволяют подходить к выбору СУБД для проектов более осознанно.

Материалы доклада.
https://ns-roxer.github.io/mysql-and-postgresql/ — презентация
https://dev.mysql.com/doc/internals/en/innodb.html - MySQL Internals Documentation
https://www.postgresql.org/docs/current/internals.html - Postgres Internals Documentation
https://www.interdb.jp/pg/ - The Internals of PostgreSQL by Hironobu Suziki
https://severalnines.com/database-blog/comparing-data-stores-postgresql-mvcc-vs-innodb - Comparing data stores postgresql mvcc vs innodb
https://severalnines.com/database-blog/postgresql-index-vs-innodb-index-understanding-differences - Postgresql index vs innodb index understanding differences
https://github.com/ChrisAntognini

0:00 - Представление спикера
1:38 - О чем доклад
3:28 - Почему важно знать разницу
4:35 - Сравнение функиональности
5:49 - Процессы PostgreSQL
9:19 - Процесс и потоки MySQL
14:08 - Этапы выполнения запроса в PostgreSQL
17:45 - Этапы выполнения запроса в MySQL
21:10 - Какую статистику используют СУБД для построения плана запроса
23:51 - Пара слов про ACID
25:00 - MVCC в PostgreSQL
31:30 - MVCC в MySQL InnoDB
33:49 - Сравнение реализаций MVCC
39:07 - Индексы и их классификация
40:28 - Индексы в PostgreSQL
42:52 - Индексы в MySQL
47:00 - Секция Q&A

Видео MySQL и PostgreSQL: что «под капотом» и почему это важно знать прикладному разработчику канала Spectr — команда разработки цифровых сервисов
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Другие видео канала
MySQL vs Postgresql vs Microsoft SQL Server Management Tools | Which Option is Best?MySQL vs Postgresql vs Microsoft SQL Server Management Tools | Which Option is Best?SQL vs NoSQL or MySQL vs MongoDBSQL vs NoSQL or MySQL vs MongoDBВся правда об индексах в PostgreSQL / Олег Бартунов, Александр Коротков (PostgreSQL)Вся правда об индексах в PostgreSQL / Олег Бартунов, Александр Коротков (PostgreSQL)Как устроены базы данных / Илья Космодемьянский (Data Egret)Как устроены базы данных / Илья Космодемьянский (Data Egret)Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Иванов (HeadHunter)Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Иванов (HeadHunter)Почему тебе нужен PgBouncer, как его установить? Оптимизируем веб-приложения с PostgreSQLПочему тебе нужен PgBouncer, как его установить? Оптимизируем веб-приложения с PostgreSQL[Backend #9] Understand isolation levels & read phenomena in MySQL & PostgreSQL via examples[Backend #9] Understand isolation levels & read phenomena in MySQL & PostgreSQL via examplesМасштабирование базы данных через шардирование и партиционирование / Денис Иванов (2ГИС)Масштабирование базы данных через шардирование и партиционирование / Денис Иванов (2ГИС)9. Базы данных. MySQL и сравнение с PostgreSQL | Технострим9. Базы данных. MySQL и сравнение с PostgreSQL | ТехностримАутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический примерАутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический примерMYSQL vs POSTGRESQL vs SQL SERVER | LET'S CHOOSE THE BEST DATABASEMYSQL vs POSTGRESQL vs SQL SERVER | LET'S CHOOSE THE BEST DATABASEПро Kafka (основы)Про Kafka (основы)Transaction Isolation Levels With PostgreSQL as an exampleTransaction Isolation Levels With PostgreSQL as an exampleМало кто знает что можно сделать из силикона!Brilliant Idea DIY INVENTIONSМало кто знает что можно сделать из силикона!Brilliant Idea DIY INVENTIONSPostgreSQL CRASH COURSE - Learn PostgreSQL in 2022PostgreSQL CRASH COURSE - Learn PostgreSQL in 2022Испытание поединком: PostgreSQL vs MySQL / А.Чистяков (ВИШ), Д.Подольский (GitInSky.com)Испытание поединком: PostgreSQL vs MySQL / А.Чистяков (ВИШ), Д.Подольский (GitInSky.com)Топ ошибок со стороны разработки при работе с PostgreSQL / Алексей Лесовский (Data Egret)Топ ошибок со стороны разработки при работе с PostgreSQL / Алексей Лесовский (Data Egret)Postgres Admin in 6 hours #postgresql #postgresPostgres Admin in 6 hours #postgresql #postgres🔥Разбираем SQL на примере PostgreSQL — SELECT, JOIN, GROUP, HAVING, Coalesce и др.🔥Разбираем SQL на примере PostgreSQL — SELECT, JOIN, GROUP, HAVING, Coalesce и др.Обзор баз данных для программистаОбзор баз данных для программиста
Яндекс.Метрика