top of page

Подай заявку
             на відбір

за Весь курс

1050 $

за курсом нбу

помісячно

370 $

КУРС ТРИВАЄ 3 МІСЯЦІ

ПЕРШИЙ КРОК ЗА ТОБОЮ

Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональних даних відповідно до Політики конфіденційності.

За тебе може заплатити роботодавець?

Напиши нам на hello@csosvita.com, і ми оформимо все якнайшвидше.

МАЄШ ПИТАННЯ?
     МИ ВІДПОВІДАЄМО

// Не знайшли відповідь, яку шукали? Напишіть нам на hello@csosvita.com і ми з усім допоможемо

я зможу навчатися на курсі, якщо в мене інший часовий пояс?

Так, звісно. Всі заняття ми записуємо, тож різниця в часових поясах не буде суттєвою перешкодою. Переглядайте лекції коли зручно, а якщо виникнуть питання — викладач і команда на зв'язку в Slack-каналі.

як проходять заняття?

Ми працюємо в невеликих групах 20-25 людей у форматі живих занять із викладачем — зустрічаємося кілька разів на тиждень у Zoom. На заняттях розбираємо задачі, дискутуємо, уточнюємо деталі, розглядаємо приклади та аргументацію рішень. Формат побудований так, щоб кожен був залучений і мав можливість взаємодіяти з викладачем та групою.

чи є записи занять?

Щоразу організовуємо запис, однак краще долучатися до онлайн-зустрічі — обговорити питання з одногрупниками та проконсультуватися з викладачем. Доступ до записів зберігається протягом року з дня старту курсу.

який рівень підготовки потрібен?

Курс підійде інженерам, які вже працювали з backend або database systems і хочуть глибше зрозуміти внутрішню архітектуру сучасних БД. Для комфортного навчання потрібне базове розуміння алгоритмів і структур даних, SQL, памʼяті, процесів та взаємодії з ОС, а також готовність регулярно працювати над курсовим проєктом поза заняттями.

Детальніше вимоги описані у блоці Prerequisites на цій сторінці.

Курси, які доповнюють
            цю програму

// Поглибте суміжні навички або оберіть наступний напрям розвитку

Performance Engineering

3 місяці

400 $/місяць

15 вер. 2026 р.

Старт: 

Practice writing fast software. Learn to do it right.

Algorithms in Practice

4 місяці

400 $/місяць

7 жовт. 2026 р.

Старт: 

Solve problems at the speed of thought.

C++ in Depth

3 місяці

350 $/місяць

19 серп. 2026 р.

Старт: 

Master C++ through practice. From fundamentals to production systems.

до зустрічі на курсі

Перевірено випускниками —
        ТОП інженерами з індустрії

владислав парахін.jpg

Євген Дуднік

Senior Software Engineer @ICC Chess Club

LinkedIn

Я йшов на курс із конкретними, доволі глибокими запитами, але виявилося, що мої запити — це десь мілководдя. Треба бути готовим до того, що ви дізнаєтесь про БД речі, про які не знали і про які навіть ніде не пишуть. Курс дуже цікавий, мій рекомендасьон.

владислав парахін.jpg

Микола Пікуза

Java Software Engineer @Intapp

LinkedIn

Матеріал курсу глибокий, практичний і дуже добре структурований, але те, що справді робить його особливим — це спільнота та викладач. Денис — чудовий викладач, який намагається пояснити складні концепції БД просто й системно. Завжди уважний до деталей і готовий розбирати складні моменти стільки разів, скільки потрібно.

владислав парахін.jpg

Денис Ралко

Backend Engineer @Preply

LinkedIn

Найбільше сподобалась глибина розгляду тем. Багато речей раніше знав як факт, але не розумів, чому саме вони працюють так. Курс дає можливість розібратися в причинах і механіці цих рішень

владислав парахін.jpg

Володимир Шульга

Senior Director of Engineering @Pindrop

LinkedIn

Доєднався до курсу, так як обсяги даних постійно зростають і так само росте кількість різних видів баз даних та часто на проекті використовується кілька різних баз для різних задач. Хотів глибше зрозуміти, як влаштовані різні типи баз даних і для яких задач кожен із них підходить найкраще. Матеріал курсу об'ємний та високої якості: самостійно знайти таку кількість інформації та структурувати її було б складно.

владислав парахін.jpg

Дмитро Авілов

.Net Developer @FlexBricks

LinkedIn

Курс сподобався. Отримав багато знань, став трохи краще розуміти, як працюють бази даних і в яку сторону дивитись, коли потрібно вирішувати проблеми з перфомансом.

владислав парахін.jpg

Анатолій Кокулюк

Android Developer @Competo LLC

LinkedIn

Тем на курсі багато і в кожній можна застрягти надовго. Мені, як людині, якій не цікаві БД, курс залітає на 100%. Будування стораджу, лексика, будування пайплайну, виконання — суперцікаві теми, які вилазять далеко за межі БД.

ПРО КУРС

Database Internals — практичний курс про внутрішню будову сучасних СУБД. Ви пройдете повний шлях обробки запиту: від парсингу й побудови AST до оптимізації, виконання, роботи зі сховищем та транзакціями.

Паралельно ви поетапно реалізуєте власний database engine і на практиці побачите, як архітектурні рішення впливають на пам’ять, I/O та продуктивність системи.

Курс розрахований на інженерів, які вже користуються базами даних, але хочуть краще розуміти їхню внутрішню механіку, діагностувати проблеми продуктивності та обґрунтовано обирати між різними підходами до зберігання й обробки даних.

ЩО ПОТРІБНО ЗНАТИ

:: Впевнено програмувати однією мовою: писати, дебажити й тестувати код
:: Базові алгоритми та структури даних: складність, хеш-таблиці, дерева, сортування та пошук
:: Розуміти основи SQL: таблиці, ключі, SELECT, WHERE, JOIN

ДВІЧІ на тиждень

ПОНЕДІЛОК 19:00 (UTC+3)

СЕРЕДА 19:00 (UTC+3)

// live зустрічі з записом

Стек

Будь-яка мова програмування

// приклади на С++, Rust, Java, Python

ПРОГРАМА

:: 25 LIVE ЗАНЯТТЬ         :: ДО 20 СТУДЕНТІВ У ГРУПІ

Історія баз даних

Шлях від файлових систем до сучасних сховищ даних
  • Перші моделі СУБД: Ієрархічна, Мережева
  • Революція реляційної моделі та її вплив на індустрію
  • Поява SQL, розвиток об’єктно-орієнтованих і NoSQL баз даних

Основи сховища даних

Як дані організовані на диску та в пам’яті, і чому це впливає на швидкодію
  • Сторінки й блоки як базові одиниці зберігання
  • Організація записів у сторінках: фіксованої та змінної довжини
  • Рядкове зберігання (row-store) та сфери його застосування
  • Фрагментація даних і методи дефрагментації

Індекси. B-tree та LSM

Структури даних для прискорення пошуку, вставок і сканування діапазонів
  • B-Tree і B+Tree: будова, алгоритми пошуку, вставки та видалення
  • LSM-дерева: принцип роботи лог-структурованих злиттів
  • Write/Read amplification і механізми compaction
  • Використання Bloom-фільтрів для прискорення пошуку

Колонкові та гібридні сховища даних. Компресія

Ефективне зберігання аналітичних даних
  • Рядкове (row-oriented) vs колонкове (column-oriented) зберігання
  • Переваги колонкового підходу для аналітичних запитів
  • Методи стиснення даних: RLE, dictionary encoding, delta encoding
  • Гібридні HTAP-системи (Hybrid Transactional/Analytical Processing)
  • Формат PAX — поєднання переваг рядкового та колонкового підходів

Реляційна модель. Реляційна алгебра

Формальні основи реляційних СУБД та операції, що лежать під SQL
  • Відношення, атрибути, кортежі та ключі
  • Первинні й зовнішні ключі. Забезпечення цілісності даних
  • Базові операції реляційної алгебри: селекція, проєкція, об’єднання, різниця, декартів добуток
  • З’єднання (join): внутрішні, зовнішні, натуральні
  • Властивості алгебри — комутативність, асоціативність. Роль алгебри як основи для оптимізації запитів

Планування та оптимізація запитів

Логічні плани (дерева реляційної алгебри)
  • Побудова дерева синтаксичного розбору (AST)
  • Евристичні оптимізації: pushdown селекцій і проєкцій
  • Cost-based оптимізація: використання статистик і оцінка селективності
  • Стратегії з’єднань: nested loop, hash join, sort-merge join

Виконання запитів. Векторизація планів. Компіляція SQL

Row-at-a-time vs batch-at-a-time підхід
  • Volcano (iterator) модель виконання
  • Векторизація: SIMD та обробка блоків значень
  • JIT-компіляція SQL-запитів

Типи даних. Система типів. Приведення типів

Основні типи: числові, текстові, часові, логічні, бінарні
  • Обробка NULL-значень
  • Явне та неявне приведення типів
  • Правила пріоритетів у виразах
  • Користувацькі (user-defined) типи
  • Напівструктуровані типи даних (JSON, XML тощо)

Транзакції та керування паралельним доступом

ACID-властивості транзакцій
  • Проблеми конкурентності: dirty reads, phantom reads та інші
  • Рівні ізоляції транзакцій: Read Committed, Repeatable Read, Serializable тощо
  • 2PL (двохфазне блокування) та виявлення дедлоків
  • MVCC (multi-version concurrency control) і snapshot isolation

Open-source бази даних. Сучасна архітектура та останні проблеми

Використання ML для індексування, планування, тюнінгу
  • Serverless-бази даних
  • Відокремлення compute та storage шарів
  • Автоматизація та self-driving DBMS
  • Lakehouse-архітектура, agentic DBMS і Iceberg storage

Презентація проектів та розбір досліджень

Ви написали власну СУБД. Час презентувати :)

ЯК ПРОХОДИТЬ
            НАВЧАННЯ

01

фідбек та ітерації

// Домашки не здаємо для галочки. Викладач перевіряє рішення, повертає на доопрацювання та пояснює, де прогалини

Zoom

02

записи та конспекти

// Записуємо всі заняття та ділимося матеріалами, щоб ви не втрачали темп навіть через форс-мажори чи особисті обставини

Zoom

03

live звʼязок

// Усі заняття проходять наживо з викладачем, щоб поставити запитання та попрактикувати live-coding

Zoom

01

live зв'язок

// Усі заняття проходять в живому форматі з викладачем, щоб поставити  запитання та попрактикувати live-coding 

Zoom

Slack

02

записи та конспекти

// Записуємо всі заняття та ділимося матеріалами, щоб ви не втрачали темп навіть через форс-мажори чи особисті обставини 

Notion

03

фідбек та ітерації

// Домашки не задаємо для галочки. Викладач перевіряє ваші результати та відправляє на доопрацювання та пояснює

GitHub

HackerRank

ПРАКТИЧНА
         РОБОТА

:: ПИШЕТЕ ВЛАСНУ СУБД     :: 6 ЕТАПІВ ПРОЄКТУ     :: ПРОМІЖНИЙ ФІДБЕК

Storage Engine: Page Layout

// приклад однієї з домашок на курсі
Модуль-02 · Основи сховища даних. Реалізуйте низькорівневий механізм зберігання записів — основу будь-якої СУБД. 


Вимоги: 
:: Спроєктувати структуру сторінки фіксованого розміру. 
:: Реалізувати page header, slot directory та free-space pointer. 
:: Підтримати fixed-length і variable-length records. 
:: Імплементувати insert, get, delete, update.

ЩО ЗМІНИТЬСЯ
            ПІСЛЯ КУРСУ

1

збудуєш database engine з нуля

// Поетапно реалізовуєш storage layer, indexing, query execution та ключові механіки, на яких побудовані сучасні database systems.

2

розбираєшся в архітектурі БД

// Розумієш різницю між LSM і B-Tree, OLTP та OLAP, row-store і column-store, а також де кожен підхід дає найкращий результат.

3

розумієш, чому база даних гальмує

// Indexes, query planning, query optimization, transactions. Бачиш вузькі місця та розумієш, звідки береться деградація performance.

ВИКЛАДАЧ
         ТА АВТОР ПРОГРАМИ

ivan2.jpg

Денис Цьоменко

Founding Engineer @Embucket. University lecturer @Kyiv School of Economics Former: @CaspianDB, @SingleStore, @DataRobot, @Microsoft.   


:: Проєктує, веде розробку та консультує database-focused стартапи із 2020 року, де СУБД і є продуктом, а не допоміжним інструментом.

:: BSc + MSc in Computer Science.

:: 3+ роки викладацького досвіду. 

01

Самостійно розробив production-grade query engine на Rust — від архітектури та планування запитів до виконання й роботи з пам’яттю.

02

Реалізував spilling для hash join, що дозволило виконати TPC-H SF1000: обробити 1 ТБ даних на звичайній машині лише з 16 ГБ RAM.

03

Створював serverless-СУБД та зараз розробляє Snowflake-compatible database engine, який запускається безпосередньо всередині Snowflake і коштує у 4 рази дешевше.

Databases aren’t magic — let’s open the hood.

Database

      Internals

Побудуйте власний database engine — від зберігання даних і B-Tree до query planner, execution engine та транзакцій.

23 вересня 2026

// старт наступної групи

3 місяці

// 25 занять

370 $/місяць

// або 1050 $ за весь курс

До 20 учасників

// кількість місць обмежена
bottom of page