BookClub DotNet

Александр Гольдебаев

BookClub DotNet — книжный клуб для разработчиков. Читаем книги и вместе с участниками и гостями подробно обсуждаем ключевые идеи. Делимся опытом, спорим об инженерных решениях и разбираемся в сложных темах вместе. За одним разговором встречаются разные специальности и уровни опыта — от студентов и джунов до лидов, архитекторов и даже аналитиков. Анонсы выпусков и дополнительные материалы в Telegram http://t.me/ts_thoughts Выпуски на YT: https://www.youtube.com/watch?v=6BrRgKFBtuQ&list=PLHF2Yb-1Ap9w

  1. Episode 1

    [S03E01] Надёжность, масштабируемость и сопровождаемость | DDIA | BookClub DotNet

    Разбираем первую главу Designing Data-Intensive Applications Мартина Клеппмана — о надёжности, масштабируемости и сопровождаемости приложений. Обсуждаем: Чем data-intensive приложения отличаются от compute-intensive;Почему нет универсальной БД для решения всех задач;Почему сбой компонента не всегда приводит к отказу системы и зачем нужен chaos engineering;Как описывать нагрузку, что показывают перцентили и чем отличаются SLI, SLO и SLA;Когда увеличивать мощность сервера, а когда распределять нагрузку между несколькими;Как простота, модульность и удобство эксплуатации помогают сопровождать и развивать систему;Почему при выборе архитектуры приходится идти на компромиссы.  Участники:  Александр Гольдебаев Андрей АлександровАртём Рыченков  Какие проблемы из главы встречались в ваших проектах? Расскажите в комментариях.  Обсуждения, материалы и анонсы: https://t.me/ts_thoughts  Слушать подкаст на всех площадках: Mave: https://bookclubdotnet.mave.digital/YouTube: https://www.youtube.com/show/VLPLHF2Yb-1Ap9w?sbp=Kgs2QnJSZ0tGQnR1UUABApple Podcasts: https://podcasts.apple.com/us/podcast/bookclub-dotnet/id6815002287Яндекс Музыка: https://music.yandex.ru/album/44101122Spotify: https://open.spotify.com/show/4GEWFjTDuL8uYrSIz8iR2Q

  2. Episode 2

    [S03E02] Модели данных и Языки запросов | DDIA | BookClub DotNet

    Разбираем вторую главу Designing Data-Intensive Applications Мартина Клеппмана — о моделях данных и языках запросов. Начинаем с историй из практики: рекурсивных SQL-запросов на сотни строк и аналитики, которую приходилось ждать часами. Обсуждаем: Как выбор модели данных влияет на код и почему привычная база не всегда подходит задаче;Чем отличаются реляционная, документная и графовая модели;Когда помогают колоночное хранение и нормализация, а когда важнее локальность данных;Что даёт гибкая схема и как договариваться о контракте между командами, работающими с одной базой;Почему доменная модель не всегда ложится на таблицы и зачем появляется ORM;Как устроены Property Graph и RDF;Чем декларативные языки запросов отличаются от императивного подхода и при чём тут Prolog. Участники: Александр ГольдебаевАндрей АлександровМихаилГлеб ЦыгановАртём Рыченков Приходилось ли вам менять модель данных, когда проект уже вырос? Расскажите в комментариях. Обсуждения, материалы и анонсы: https://t.me/ts_thoughts Слушать подкаст на всех площадках: Mave: https://bookclubdotnet.mave.digital/YouTube: https://www.youtube.com/show/VLPLHF2Yb-1Ap9w?sbp=Kgs2QnJSZ0tGQnR1UUABApple Podcasts: https://podcasts.apple.com/us/podcast/bookclub-dotnet/id6815002287Яндекс Музыка: https://music.yandex.ru/album/44101122Spotify: https://open.spotify.com/show/4GEWFjTDuL8uYrSIz8iR2Q Таймкоды: 00:00 Знакомимся: вторая глава DDIA 00:40 Истории из практики: когда база не подходит задаче 06:53 Как модель данных влияет на архитектуру и мышление 11:45 Реляционная модель и колоночное хранение 17:03 Нормализация, JOIN и строгая схема 22:19 Документная модель: где пригодилась MongoDB 25:28 Одна база на несколько команд: где живёт контракт 30:00 Гибкая схема, миграции и дублирование данных 35:27 Доменные модели, таблицы и ORM 42:45 Графовые модели, связи и социальный граф 48:02 Данные в рёбрах, Property Graph и RDF 51:45 Языки запросов: декларативный и императивный подходы 56:17 Prolog и непривычное декларативное программирование 58:22 Что дала вторая глава: впечатления и итоги

  3. Episode 3

    [S03E03] Подсистемы хранения и извлечения данных | DDIA | BookClub DotNet

    В третьем выпуске BookClub DotNet разбираем главу «Подсистемы хранения и извлечения данных» из Designing Data-Intensive Applications Мартина Клеппмана. Начинаем с историй о деградации баз: разросшихся таблицах, фрагментации и дорогих индексах. Затем обсуждаем нагрузки на запись и чтение, устройство аналитических хранилищ и поиск причины медленного SQL-запроса. Обсуждаем: Рост таблиц и индексов, лишние данные и очистку базы;Нагрузки write-heavy и read-heavy;Слои аналитических данных, CQRS и eventual consistency;Свежесть данных для аналитики и контроль скидок;Настройки СУБД и конфигураторы PostgreSQL;LSM-деревья, SSTables, B-деревья и write amplification;Метрики, EXPLAIN и индексы при разборе медленного запроса;GiST и PostGIS на примере работы с геоданными;Сравнение OLAP/OLTP, кейс Greenplum, партиционирование и селективность.Участники: Александр ГольдебаевМихаилГлеб ЦыгановАртём РыченковС какими неожиданными проблемами хранения и индексов сталкивались вы? Расскажите в комментариях Обсуждения, материалы и анонсы: https://t.me/ts_thoughts Слушать BookClub DotNet на площадках: Mave: https://bookclubdotnet.mave.digital/YouTube: https://www.youtube.com/show/VLPLHF2Yb-1Ap9w?sbp=Kgs2QnJSZ0tGQnR1UUABApple Podcasts: https://podcasts.apple.com/us/podcast/bookclub-dotnet/id6815002287Яндекс Музыка: https://music.yandex.ru/album/44101122Spotify: https://open.spotify.com/show/4GEWFjTDuL8uYrSIz8iR2QТаймкоды: 00:00 Вступление и участники 01:24 Деградация баз: таблицы, фрагментация и индексы 08:32 Нагрузки на запись и чтение 10:22 OLAP и слои аналитических данных 12:36 CQRS и eventual consistency 16:12 Зачем аналитикам свежие данные 23:41 Настройки баз и конфигураторы PostgreSQL 30:44 LSM-деревья, SSTables и B-деревья 33:26 Индексы на практике 37:36 Как разбирать медленный SQL-запрос 43:21 GiST, PostGIS и геоданные 46:04 Сравнение OLAP и OLTP 48:54 Кейс Greenplum и индексы 52:07 Партиционирование данных 53:07 Селективность и сканирование таблицы 56:05 Итоги, рекомендации и прощание

  4. Episode 4

    [S03E04] Кодирование и эволюция | DDIA | BookClub DotNet

    Обсуждаем четвёртую главу Designing Data-Intensive Applications Мартина Клеппмана — «Кодирование и эволюция». Разбираемся, как передавать и хранить данные, когда форматы, схемы и приложения продолжают меняться. От JSON и gRPC переходим к историям из практики: неизвестным потребителям данных в DWH и миграции, после которой старые экземпляры сервиса перестали записывать данные в базу. Отдельно обсуждаем взгляд на запись в БД как на сообщение будущей версии собственного приложения. В выпуске: Форматы, привязанные к языку, и цена их использования;JSON, XML, CSV и бинарные протоколы: читаемость, размер и контракты;BFF и выбор формата для разных участников обмена;Изменение типов полей, версионирование и поддержка легаси;Совместимость схемы БД со старой и новой версиями приложения;Kafka, RabbitMQ, обмен данными в DWH и акторы.Участники: Александр ГольдебаевАндрей АлександровГлеб ЦыгановАртём РыченковКакая безобидная на первый взгляд правка контракта ломала совместимость в ваших проектах? Расскажите в комментариях. Обсуждения, материалы и анонсы: https://t.me/ts_thoughts Слушать BookClub DotNet: Mave: https://bookclubdotnet.mave.digital/YouTube: https://www.youtube.com/show/VLPLHF2Yb-1Ap9w?sbp=Kgs2QnJSZ0tGQnR1UUABApple Podcasts: https://podcasts.apple.com/us/podcast/bookclub-dotnet/id6815002287Яндекс Музыка: https://music.yandex.ru/album/44101122Spotify: https://open.spotify.com/show/4GEWFjTDuL8uYrSIz8iR2QТаймкоды: 00:00 Вступление: четвёртая глава DDIA 00:35 Зачем кодировать данные 01:24 Форматы для конкретного языка 05:14 Проприетарные форматы и совместимость 07:11 JSON, XML, CSV и бинарные форматы 08:54 JSON и gRPC между клиентом и сервером 11:40 Что такое BFF 12:37 Как менять контракт и типы полей 16:20 Кейсы нарушения совместимости и легаси 19:24 DWH: кто ещё читает наши данные 21:49 Имена, пережившие свои системы 24:25 База данных как сообщение в будущее 25:49 Миграции и постепенное обновление сервиса 28:42 Брокеры сообщений, Kafka и DWH 33:08 Акторы 34:30 Итоги главы

  5. Season 3 Trailer

    [S03E00] Знакомство | Designing Data-Intensive Applications | BookClub DotNet

    Начинаем третий сезон BookClub DotNet, посвящённый книге Мартина Клеппмана «Designing Data-Intensive Applications», той самой «книжке с кабанчиком».В нулевом выпуске знакомимся с участниками и рассказываем, зачем собрались читать книгу вместе. У каждого свой опыт и свои ожидания: понять внутреннее устройство баз данных, разобраться в архитектурных компромиссах, систематизировать знания или найти ответы на вопросы из практики. Обсуждаем: Как технические книги помогают разработчику и когда к ним стоит обращаться.Почему выбрали Клеппмана и чего ждём от совместного чтения.Какие темы будем разбирать в сезоне: данные, масштабирование, производительность и устройство систем.Кому будет полезно присоединиться к нашему книжному клубу. Участники выпуска: Александр ГольдебаевАндрей АлександровГлеб ЦыгановАртём РыченковМихаил Читайте вместе с нами и присоединяйтесь к обсуждению в комментариях! Анонсы новых выпусков, дополнительные материалы и заметки по темам книги в Telegram http://t.me/ts_thoughts

Trailer

About

BookClub DotNet — книжный клуб для разработчиков. Читаем книги и вместе с участниками и гостями подробно обсуждаем ключевые идеи. Делимся опытом, спорим об инженерных решениях и разбираемся в сложных темах вместе. За одним разговором встречаются разные специальности и уровни опыта — от студентов и джунов до лидов, архитекторов и даже аналитиков. Анонсы выпусков и дополнительные материалы в Telegram http://t.me/ts_thoughts Выпуски на YT: https://www.youtube.com/watch?v=6BrRgKFBtuQ&list=PLHF2Yb-1Ap9w

You Might Also Like