Як працюють аналітичні бази даних? Columnstore в OLAP
Dev Jungles – Andrii Podkolzin
Додати в плейлист
Завантаження...
Ви коли-небудь пробували написати власну базу даних? Звучить як самогубство, але правда в тому, що під конкретну задачу обійти умовний Postgres чи ClickHouse може навіть посередній розробник. Вся магія сучасних промислових СУБД — це не стільки недосяжні алгоритми, скільки компроміси між універсальністю та стабільністю. Ми звикли тягати знайомі інструменти з проєкту в проєкт, наївно вірячи, що ще один індекс врятує аналітику, аж поки нічний батч замість 15 хвилин не починає молотити базу чотири години.
Це відео — препарування головного болю будь-якого бекендера: важких аналітичних звітів на реляційних таблицях.
Ми заліземо під капот залізу і структурам даних, щоб побачити, чому класичний рядковий підхід неминуче вбиває дисковий I/O, коли вам просто треба порахувати середнє по колонці. І чому одна проста зміна перспективи — зберігати дані не рядками, а стовпчиками — здатна розігнати запити на три порядки швидше, запхати обчислення в RAM і вичавити максимум із сучасних SIMD-інструкцій процесора.
Коротка, але фундаментальна екскурсія в архітектуру Columnstore: від вирівнювання байтів у пам'яті до передобчислених блоків метаданих.
Якщо після перегляду захочете перевірити правило «зрозумів — це коли зміг написати сам»: пишіть у коментарях. Зберемо 50 запитів — і напишемо свій колонковий сторедж з нуля прямо на стрімі.
Підтримати канал можливо за допомогою:
- Прямим переказом на карту монобанку
Dev Jungles YouTube Channel Fund
Номер карти банки:
Приховано: реквізити
- Або криптою:
BTC - Приховано: гаманець
ETH - Приховано: гаманець
USDT on ERC20 - Приховано: гаманець
USDT on TRC20 - Приховано: гаманець
LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2
DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - Приховано: гаманець
Waves - Приховано: гаманець
Це відео — препарування головного болю будь-якого бекендера: важких аналітичних звітів на реляційних таблицях.
Ми заліземо під капот залізу і структурам даних, щоб побачити, чому класичний рядковий підхід неминуче вбиває дисковий I/O, коли вам просто треба порахувати середнє по колонці. І чому одна проста зміна перспективи — зберігати дані не рядками, а стовпчиками — здатна розігнати запити на три порядки швидше, запхати обчислення в RAM і вичавити максимум із сучасних SIMD-інструкцій процесора.
Коротка, але фундаментальна екскурсія в архітектуру Columnstore: від вирівнювання байтів у пам'яті до передобчислених блоків метаданих.
Якщо після перегляду захочете перевірити правило «зрозумів — це коли зміг написати сам»: пишіть у коментарях. Зберемо 50 запитів — і напишемо свій колонковий сторедж з нуля прямо на стрімі.
Підтримати канал можливо за допомогою:
- Прямим переказом на карту монобанку
Dev Jungles YouTube Channel Fund
Номер карти банки:
Приховано: реквізити
- Або криптою:
BTC - Приховано: гаманець
ETH - Приховано: гаманець
USDT on ERC20 - Приховано: гаманець
USDT on TRC20 - Приховано: гаманець
LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2
DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - Приховано: гаманець
Waves - Приховано: гаманець
Коментарі
+0Коментувати можуть лише зареєстровані користувачі.
Увійти або зареєструватися