CourseHunter
  • Категории
  • Источники
  • Все курсы
  • Разделы
  • Книги
English
Русский
Українська
Голубая
Фиолетовая
Cветлая
Терминал
Norton
Войти
🌸 Май уже здесь — скидки 50% до конца выходных, и сегодня тоже ☀️
Главная страницаКатегория golang (google go)Создайте свою собственную базу данных на Go с нуля

Создайте свою собственную базу данных на Go с нуля

Build Your Own Database in Go From Scratch

James Smith logo
James Smith
★5 (всего оценок - 15)
Создайте свою собственную базу данных на Go с нуля
Начать Сейчас
Категория
Golang (Google Go)
Дата добавления
6 авг. 2024 г., 19:44
Язык
Английский
Дата обновления
29 апр. 2026 г., 20:54

Освойте принципы работы баз данных, последовательно создавая собственную СУБД на Go. Этот курс подойдёт тем, кто хочет глубоко понять устройства хранения, транзакции, индексы и внутреннюю логику реляционных баз — не просто пользоваться, а понимать, как всё работает изнутри.

О чём этот курс

Вы шаг за шагом разработаете минималистичную, но полноценную базу данных на Go: от низкоуровневой работы с файлами до реализации SQL‑подобного языка запросов. Такой подход позволит вам глубже понять устройство любых современных СУБД, включая PostgreSQL, SQLite и другие.

Ключевые концепции, которые вы освоите

  • Транзакционные гарантии: атомарность и долговечность при работе с реальными данными.
  • Журналирование и fsync: как базы данных обеспечивают сохранность даже при сбоях.
  • Восстановление после аварий: практическая реализация механизма crash recovery.
  • B-дерево как индекс: создание собственного KV‑хранилища на основе B‑дерева.
  • Файловые структуры данных: как организовать хранение на диске эффективно.
  • Свободные блоки в хранилище: управление пространством и оптимизация файлового формата.
  • Реляционная модель на базе KV: построение таблиц и индексов поверх ключ‑значение.
  • SQL‑подобный язык: проектирование парсера и интерпретатора запросов.
  • Параллельные транзакции: использование copy‑on‑write структур для конкурентного доступа.

Почему этот курс уникален

Большинство материалов учат пользоваться существующими СУБД. Здесь вы будете их строить. Такой подход формирует понимание того, почему системы работают именно так, а также позволяет уверенно применять эти знания в реальной разработке, проектировании архитектур и оптимизации производительности.

Практическая направленность

В рамках курса вы пишете только рабочий код — никакой теории ради теории. Итогом станет мини‑СУБД, которую вы разработаете самостоятельно.

Кому подойдёт этот курс

  • Разработчикам на Go, желающим углубить знания.
  • Инженерам, интересующимся устройством баз данных.
  • Бэкенд‑разработчикам, работающим с высоконагруженными системами.
  • Студентам и практикам, стремящимся разобраться в алгоритмах хранения данных.

Чему вы научитесь

Технические навыки

  • Чтение и запись данных на диске.
  • Проектирование файловых форматов.
  • Реализация индекса B‑tree.
  • Создание простого SQL‑подобного языка запросов.
  • Работа с конкурентными транзакциями и безопасной записью.

Инженерное мышление

  • Понимание, почему в реальных СУБД всё устроено именно так.
  • Умение анализировать и оптимизировать системы хранения.
  • Способность проектировать устойчивые к сбоям компоненты.

Итог

Пройдя курс, вы создадите собственную СУБД, разберётесь в механизмах, которые лежат в основе современных баз данных, и получите знания, применимые в любом проекте, где важны надёжность, скорость и эффективное хранение данных.

Автор - James Smith

James Smith logo

James Smith

Привет, я Джеймс Смит, разработчик программного обеспечения с более чем 10-летним опытом.Я интересуюсь фундаментальными знаниями и первыми принципами, что отражено в темах моих книг. Мои книги охватывают такие темы, как сетевое программирование, структуры данных, базы данных, компиляторы, ассемблер и другие.Я также верю в подход «с нуля» к обучению, вдохновленный цитатой Ричарда Фейнмана: «Что я не могу создать, того я не понимаю».

X (Twitter)GitHub
Автор
+1

Другие материалы в этой категории

Постигаем базы данных: готовимся к техническим интервью

Постигаем базы данных: готовимся к техническим интервью

Микросервисы Golang: Переход от монолита к микросервисам

Микросервисы Golang: Переход от монолита к микросервисам

Как разработать HTTP-клиент на Golang (Go)

Как разработать HTTP-клиент на Golang (Go)

Golang для инженеров

Golang для инженеров

Программирование на Go (Golang): полное руководство для разработчиков

Программирование на Go (Golang): полное руководство для разработчиков

Комментарии
 logo
  • info logo
    info
    22 авг. 2024 г., 22:12
    Could you add the source code, please?
  • jemalgcpacc logo
    jemalgcpacc
    7 авг. 2024 г., 18:59
    Guys, I am confused, where is the 3000 LOC ? no mention of git repo? Any one knows?
  • CourseHunter Team logo
    CourseHunter Team jemalgcpacc
    12 авг. 2024 г., 16:50
    https://build-your-own.org/redis/src.tgz
  • jemalgcpacc logo
    jemalgcpacc CourseHunter Team
    12 авг. 2024 г., 19:39
    The sour code used c++. Is there a source code for Golang, specifically for this book. Thank you so much though :)
  • nfer logo
    nfer jemalgcpacc
    14 авг. 2024 г., 13:28
    I emailed them and they sent me one for this course
  • CourseHunter Team logo
    CourseHunter Team nfer
    18 авг. 2024 г., 02:00
    send us too please, info@coursehunter.net
  • nfer logo
    nfer CourseHunter Team
    24 авг. 2024 г., 12:21
    Check
  • CourseHunter Team logo
    CourseHunter Team nfer
    25 авг. 2024 г., 00:42
    Thanks, updated the meterials
  • jemalgcpacc logo
    jemalgcpacc nfer
    16 авг. 2024 г., 15:33
    Could you please share it to me with this address jemalgcpacc@gmail.com ? Thanks :)
  • nfer logo
    nfer jemalgcpacc
    17 авг. 2024 г., 21:58
    Check your mail :)
  • jemalgcpacc logo
    jemalgcpacc nfer
    17 авг. 2024 г., 23:12
    Thank you so much :)
КонтактыРаспространенные вопросыПлейлистыПриватностьУсловия