SlideShare a Scribd company logo
1 of 74
Download to read offline
Адаптивная оптимизация запросов
Олег Иванов
Postgres Professional
Что такое оптимизация запросов?
Как современные реляционные СУБД оптимизируют запросы?
Что такое адаптивная оптимизация запросов?
Машинное обучение, метод ближайших соседей.
Как использовать машинное обучение для адаптивной оптимизации запросов?
Насколько это улучшает производительность СУБД?
SeqScan
users u1
IndexScan
messages m
MergeJoin
IndexScan
users u2
NestedLoopJoin
SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
Что такое оптимизация запросов?
IndexScan
users u1
SeqScan
messages m
NestedLoopJoin
IndexScan
users u2
NestedLoopJoin
SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
SeqScan
users u1
SeqScan
messages m
HashJoin
SeqScan
users u2
HashJoin
SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
EXPLAIN SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
QUERY PLAN
-----------------------------------------------------------------------------------
Hash Join (cost=540.00..439429.44 rows=10003825 width=27)
Hash Cond: (m.receiver_id = u2.id)
-> Hash Join (cost=270.00..301606.84 rows=10003825 width=23)
Hash Cond: (m.sender_id = u1.id)
-> Seq Scan on messages m (cost=0.00..163784.25 rows=10003825 width=19)
-> Hash (cost=145.00..145.00 rows=10000 width=4)
-> Seq Scan on users u1 (cost=0.00..145.00 rows=10000 width=4)
-> Hash (cost=145.00..145.00 rows=10000 width=4)
-> Seq Scan on users u2 (cost=0.00..145.00 rows=10000 width=4)
(9 rows)
EXPLAIN SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
QUERY PLAN
-----------------------------------------------------------------------------------
Hash Join (cost=540.00..439429.44 rows=10003825 width=27)
Hash Cond: (m.receiver_id = u2.id)
-> Hash Join (cost=270.00..301606.84 rows=10003825 width=23)
Hash Cond: (m.sender_id = u1.id)
-> Seq Scan on messages m (cost=0.00..163784.25 rows=10003825 width=19)
-> Hash (cost=145.00..145.00 rows=10000 width=4)
-> Seq Scan on users u1 (cost=0.00..145.00 rows=10000 width=4)
-> Hash (cost=145.00..145.00 rows=10000 width=4)
-> Seq Scan on users u2 (cost=0.00..145.00 rows=10000 width=4)
(9 rows)
Стоимость выполнения
вершины плана
Мощность (cardinality)
вершины плана
Стоимость выполнения
плана
Стоимостная оптимизация запросов
System R (1974)
Среди всех планов выполнения запроса
выбираем план с наименьшей стоимостью
cs seq_page_cost 1.0
cr random_page_cost 4.0
ct cpu_Tuple_cost 0.01
ci cpu_Index_tuple_cost 0.005
co cpu_Operator_cost 0.0025
Cost=ns cs+nr cr+nt ct +ni ci+no co
PostgreSQL
DataSeqScan
IndexScan
Cost=ns cs+no⋅co
ns=N pages
no=Ntuples
SELECT * FROM users
WHERE age < 25;
Data
Data
Index
SeqScan
IndexScan
Cost=ns cs+no⋅co
Cost=nr⋅cr
ns=N pages
no=Ntuples
nr=Cardinality
SELECT * FROM users
WHERE age < 25;
0 – 4
5 – 9
10 - 14
15 - 19
20 - 24
25 - 29
30 - 34
35 - 39
40 - 44
45 - 49
50 - 54
55 - 59
60 - 64
65 - 69
70 - 74
75 - 79
80 - 84
85 - 89
90 - 94
95 – 99
100 or more
0
2000
4000
6000
8000
10000
12000
14000
Age
SELECT * FROM users
WHERE age < 25;
Cardinality
SeqScan
users u1
SeqScan
messages m
HashJoin
SeqScan
users u2
HashJoin
SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
SeqScan
users u1
SeqScan
messages m
HashJoin
SeqScan
users u2
HashJoin
10000000
10000 1000010000000
10000000
SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
SeqScan
users u1
SeqScan
messages m
HashJoin
SeqScan
users u2
HashJoin
10000000
10000 1000010000000
10000000
145 145163784
301607
439429
SELECT *
FROM users AS u1, messages AS m, users AS u2
WHERE u1.id = m.sender_id AND m.receiver_id = u2.id;
Полный перебор
Метод оптимизации
Оценка
стоимости
плана
SeqScan
users
HashJoin
HashJoin
SeqScan
messages
SeqScan
pictures
Cost = 439429
MergeJoin
SeqScan
messages
SeqScan
pictures
Cost = 304528
Полный перебор
Метод оптимизации
Оценка
стоимости
плана
SeqScan
users
HashJoin
HashJoin
SeqScan
messages
SeqScan
pictures
Cost = 439429
MergeJoin
SeqScan
messages
SeqScan
pictures
Cost = 304528
Динамическое
программирование
или
Генетический алгоритм
Метод оптимизации
Оценка
стоимости
плана
SeqScan
users
HashJoin
HashJoin
SeqScan
messages
SeqScan
pictures
Cost = 439429
MergeJoin
SeqScan
messages
SeqScan
pictures
Cost = 304528
Динамическое программирование
● System R
●
Временная сложность: 3n
●
Объем потребляемой памяти: 2n
● Всегда находит самый дешевый план
по подмножествам
Генетический алгоритм
● PostgreSQL
● Общий, гибко настраиваемый метод
● Может быть остановлен на любой итерации
● Нет гарантий
Динамическое
программирование
или
Генетический алгоритм
Метод оптимизации
Оценка
стоимости
плана
SeqScan
users
HashJoin
HashJoin
SeqScan
messages
SeqScan
pictures
Cost = 439429
MergeJoin
SeqScan
messages
SeqScan
pictures
Cost = 304528
Условия запроса
Информация
о данных
Состояние СУБД
Оценка
мощности
Оценка стоимости
Dataset:
The TPC Benchmark™DS (TPC-DS)
http://www.tpc.org/tpcds/
Dataset:
The TPC Benchmark™DS (TPC-DS)
http://www.tpc.org/tpcds/
Ошибка в 300 раз Ошибка в 4 раза
Условия запроса
Информация
о данных
Состояние СУБД
Оценка
мощности
Оценка стоимости
How good are query optimizers, really?
V. Leis, A. Gubichev, A. Mirchev et al.
0 – 4
5 – 9
10 - 14
15 - 19
20 - 24
25 - 29
30 - 34
35 - 39
40 - 44
45 - 49
50 - 54
55 - 59
60 - 64
65 - 69
70 - 74
75 - 79
80 - 84
85 - 89
90 - 94
95 – 99
100 or more
0
2000
4000
6000
8000
10000
12000
14000
Age
Выборочность
Selectivity≃0.3
Cardinality=Ntuples⋅Selectivity
SELECT * FROM users
WHERE age < 25;
SELECT * FROM users
WHERE age < 25 AND city = 'Moscow';
Selectivityage=
1
3
Selectivitycity=
1
7
Selectivityage ,city=?
Известны только выборочности отдельных условий
age < 25
city = 'Moscow'
1/3
1/7 1/21
SELECT * FROM users
WHERE age < 25 AND city = 'Moscow';
Selectivityage ,city=Selectivityage⋅Selectivitycity
За исключением Selectivity25<age ANDage<57=Selectivity25<age<57
Известны только выборочности отдельных условий
Условия полагаются независимыми:
age < 25
city = 'Moscow' 1/3
1/7 1/7
age < 25
city = 'Moscow'
1/3
1/7
SELECT * FROM users
WHERE age < 12 AND married = true;
married = trueage < 12
SELECT * FROM users
WHERE age < 12 AND married = false;
age < 12
married = false
SELECT * FROM users
WHERE age > 25 AND married = true AND position = 'CTO';
age > 25position = 'CTO'
married = true
Многомерные гистограммы
Гистограммы Модели стоимости
Статическая информация
Обратная связь Результат
SQL запрос
Выполнение
запроса
Оптимизация
запроса
Статистика выполнения
Что такое адаптивная оптимизация?
Что такое адаптивная оптимизация?
Гистограммы Модели стоимости
Статическая информация
скорректированная
Обратная связь Результат
SQL запрос
Выполнение
запроса
Оптимизация
запроса
Статистика выполнения
Машинное обучение
Машинное обучение
Машинное обучение
Признак 1
Признак 2
Признак 3
Скрытые значения
Признаки
Обучающая выборка Тестовая выборка
Объекты
Метод k ближайших соседей
25 47 55 32 22 45 28
50 120 100 80 30 90 ?
25 47 55 32 22 45 28
50 120 100 80 30 90 ?
Метод k ближайших соседей
27 47 28
53 103 ?
2/3
1/3
1/3 5/3
Градиентный метод k ближайших соседей
Как применить машинное обучение
для адаптивной оптимизации запросов?
SeqScan
users u1
IndexScan
messages m
MergeJoin
users u2
NestedLoopJoin
Объект – вершина и её поддерево
u2.id = messages.receiver_id
u1.id = messages.sender_id
IndexScan
u2.married = true
AND
u2.age < 25
Будет выдано
105 кортежей!Список ограничений
users.id = messages.receiver_id
AND
users.married = true
AND
users.age < 25
PostgreSQL
Гистограммы
Будет выдано
1017 кортежей!Список ограничений
users.id = messages.receiver_id
AND
users.married = const
AND
users.age < const
Машинное обучение
Выборочности условий
● 0.0001
● 0.73
● 0.23
users.id = messages.receiver_id
users.married = const
users.age < const
0.0001
0.73
0.23
Мощность вершины
Признаки
Скрытое
значение
?
Объект – вершина плана
Постановка задачи машинного обучения
Оптимизация запроса Выполнение запросаПарсинг запроса
Предсказание мощности
Данные машинного обучения
Статистика выполнения запроса
ОбучениеМашинное обучение
● Сойдется ли?
● Как быстро сойдется?
● Куда сойдется?
● Сойдется ли?
● Как быстро сойдется?
● Куда сойдется?
Да, за конечное число шагов
● Сойдется ли?
● Как быстро сойдется?
● Куда сойдется?
Да, за конечное число шагов
Неизвестно (на практике за несколько шагов)
● Сойдется ли?
● Как быстро сойдется?
● Куда сойдется?
Да, за конечное число шагов
Для выполненных планов предсказания верны
Неизвестно (на практике за несколько шагов)
● Сойдется ли?
● Как быстро сойдется?
● Куда сойдется?
Да, за конечное число шагов
Для выполненных планов предсказания верны
Неизвестно (на практике за несколько шагов)
С идеальной моделью стоимости
время выполнения запроса
гарантированно не увеличивается
Практические результаты
Ошибка предсказания
Ошибка предсказания
Ошибка предсказания
АдаптивныйОригинальный
TPC-H slow
TPC-H fast
0 10 20 30 40 50 60
+1.3%
Прирост производительности
TPC-H slow
TPС-H fast
0 5000 10000 15000 20000
АдаптивныйОригинальный
-4.4%
Прирост производительности
АдаптивныйОригинальный
TPC-DS very slow
TPC-DS slow
TPC-DS normal
TPC-DS fast
TPC-DS very fast
0 2 4 6 8 10 12 14 16 18
+12%
Прирост производительности
АдаптивныйОригинальный
TPC-DS very slow
TPC-DS slow
TPC-DS normal
TPC-DS fast
TPC-DS very fast
0 20 40 60 80 100 120 140
+24%
Прирост производительности
АдаптивныйОригинальный
TPC-DS very slow
TPC-DS slow
TPC-DS normal
TPC-DS fast
TPC-DS very fast
0 50 100 150 200 250 300
+41%
Прирост производительности
АдаптивныйОригинальный
TPC-DS very slow
TPC-DS slow
TPC-DS normal
TPC-DS fast
TPC-DS very fast
0
200
400
600
800
1000
1200
1400
1600
1800
+285%
Прирост производительности
TPC-DS very slow
TPC-DS slow
TPC-DS normal
TPC-DS fast
TPC-DS very fast
0 5000 10000 15000 20000
Адаптивный
+115%
Оригинальный
Прирост производительности
Максимальное ускорение
Замедление для генетического алгоритма: не более 2 секунд
Для динамического программирования: не более 30 миллисекунд
Накладные расходы
экcпериментальные
Область применимости
Сложные аналитические запросы
с повторяющейся структурой.
0 1 2 3 4 5 6 7 8 9
# iter
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
Executiontime,s
TPC-DS 18
Динамика обучения
0 1 2 3 4 5 6 7 8 9
# iter
10
0
10
1
10
2
10
3
10
4
Executiontime,s
TPC-DS 69
Динамика обучения
0 1 2 3 4 5 6 7 8 9
# iter
0.7
0.8
0.9
1.0
1.1
1.2
1.3
Executiontime,s
TPC-DS 26
Динамика обучения
Что дальше?
Вопросы?
Контакты:
● o.ivanov@postgrespro.ru
● +7 (916) 377-55-63
Текущий код для PostgreSQL:
https://github.com/tigvarts/aqo

More Related Content

What's hot

NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)Ontico
 
Поиск наизнанку
Поиск наизнанкуПоиск наизнанку
Поиск наизнанкуNikolay Sivko
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Ontico
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Ontico
 
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС «Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС 2ГИС Технологии
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupMail.ru Group
 
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Ontico
 
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Ontico
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)Ontico
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Near-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеNear-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеAlexandr Krasheninnikov
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Ontico
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)Ontico
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015Alex Chistyakov
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014Maxim Dementyev
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Ontico
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Ontico
 
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...Ontico
 

What's hot (20)

NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
 
Поиск наизнанку
Поиск наизнанкуПоиск наизнанку
Поиск наизнанку
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)
 
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС «Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
 
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
 
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Near-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеNear-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проекте
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
 
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
 

Similar to Адаптивная оптимизация запросов в реляционных СУБД / Олег Иванов (Postgres Professional)

Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Ontico
 
Производительность параметрического поиска на основе опенсорс-платформы
Производительность параметрического поиска на основе опенсорс-платформыПроизводительность параметрического поиска на основе опенсорс-платформы
Производительность параметрического поиска на основе опенсорс-платформыYandex
 
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)Ontico
 
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
ObjectManager, или как работать с большим количеством объектов на карте, Мари...ObjectManager, или как работать с большим количеством объектов на карте, Мари...
ObjectManager, или как работать с большим количеством объектов на карте, Мари...Ontico
 
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...Ontico
 
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...ITMO University
 
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCАрхитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCDevDay
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубыAleksandr Tarasov
 
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
Александр Сычев "Разделяй и властвуй: CQRS в iOS"Александр Сычев "Разделяй и властвуй: CQRS в iOS"
Александр Сычев "Разделяй и властвуй: CQRS в iOS"IT Event
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Dmitry Kornev
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Bitworks Software
 
20151112 Что нового в DB PowerStudio 2016
20151112 Что нового в DB PowerStudio 201620151112 Что нового в DB PowerStudio 2016
20151112 Что нового в DB PowerStudio 2016Andrew Sovtsov
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеCisco Russia
 
Service Discovery. More that it seems
Service Discovery. More that it seemsService Discovery. More that it seems
Service Discovery. More that it seemsAleksandr Tarasov
 
Advanced Sql Injection
Advanced Sql InjectionAdvanced Sql Injection
Advanced Sql InjectionDmitry Evteev
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerSQALab
 
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...rusbase
 

Similar to Адаптивная оптимизация запросов в реляционных СУБД / Олег Иванов (Postgres Professional) (20)

Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
 
Производительность параметрического поиска на основе опенсорс-платформы
Производительность параметрического поиска на основе опенсорс-платформыПроизводительность параметрического поиска на основе опенсорс-платформы
Производительность параметрического поиска на основе опенсорс-платформы
 
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
 
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
ObjectManager, или как работать с большим количеством объектов на карте, Мари...ObjectManager, или как работать с большим количеством объектов на карте, Мари...
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
 
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
 
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
 
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCАрхитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
 
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
Александр Сычев "Разделяй и властвуй: CQRS в iOS"Александр Сычев "Разделяй и властвуй: CQRS в iOS"
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
DATA CLUSTER
 DATA CLUSTER DATA CLUSTER
DATA CLUSTER
 
20151112 Что нового в DB PowerStudio 2016
20151112 Что нового в DB PowerStudio 201620151112 Что нового в DB PowerStudio 2016
20151112 Что нового в DB PowerStudio 2016
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применение
 
Service Discovery. More that it seems
Service Discovery. More that it seemsService Discovery. More that it seems
Service Discovery. More that it seems
 
Advanced Sql Injection
Advanced Sql InjectionAdvanced Sql Injection
Advanced Sql Injection
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load Runner
 
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
 
Sql injection
Sql injectionSql injection
Sql injection
 
Новинки Яндекс.Метрики за последние полгода
Новинки Яндекс.Метрики за последние полгодаНовинки Яндекс.Метрики за последние полгода
Новинки Яндекс.Метрики за последние полгода
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Адаптивная оптимизация запросов в реляционных СУБД / Олег Иванов (Postgres Professional)