Это курс с самостоятельным темпом обучения, в котором вы изучите внутреннее устройство Redis, заново реализуя его ключевые функции на языке Golang. Вместе мы воспроизведём такие механизмы, как событийный цикл, протокол сериализации, персистентность, пайплайнинг, вытеснение (eviction) и транзакции.
Redis - одна из самых универсальных современных баз данных. Несмотря на то что его часто используют как кэш, он также может работать как брокер сообщений, стриминговый движок и многое другое. Этот курс ответит на ваши главные вопросы о Redis: почему он настолько быстрый? и как он справляется с огромным количеством TCP-соединений, оставаясь однопоточным?
В рамках курса мы будем шаг за шагом разбирать, как устроен Redis, и в процессе напишем его полноценную реализацию на Go. Реализация будет совместима с любым клиентом Redis в мире - вы сможете подключаться к нашей базе так же, как к настоящему Redis! Весь код опубликован в открытом доступе на GitHub (DiceDB/dice).
Почему стоит записаться?
Понять архитектуру изнутри
Вы узнаете, как создаются базы данных с нуля, и разберёте ключевые архитектурные решения, которые делают Redis таким уникальным.
Изучить «неизвестное»
Овладейте интереснейшими концепциями и «хитрыми» алгоритмами, которые лежат в основе высокой скорости и гибкости Redis.
Стать лучшим инженером
Вы вырастете как разработчик и сможете называть себя настоящим «Asli Engineer».
Требования к участникам
Мы будем реализовывать основные механизмы Redis, такие как событийный цикл, протокол сериализации, персистентность, пайплайнинг и вытеснение. Поэтому важно иметь:
базовые знания Go
среду разработки на Linux
аккаунт Google (так как поддерживается только вход через Google)
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Я инженер по информатике, увлеченный преподаванием, и я создал системы, сервисы и платформы, которые масштабируются до миллиардов. Я накопил опыт работы в отрасли более 9 лет и работал в таких компаниях, как Unacademy, Amazon, Practo и D. E. Shaw. Я получил степень магистра компьютерных наук в IIIT-Hyderabad, специализируясь на информационном поиске и веб-майнинге. Я веду групповой курс по проектированию систем и обучил более 600 инженеров в 10 с
the repo has changed a lot, you can see the commits from start here
,