Про курс і автора
Навіщо ще один курс
Section titled “Навіщо ще один курс”Цей курс продовжує «Операційні системи», «Хмарні технології» і «Комп’ютерні мережі». Кожен із них упирався в базу даних. В ОС вона лишилася за дужками як «процес, який багато пише на диск». У хмарах керована база зводилася до сервісу з кнопкою «створити». Тут база стає головним героєм: що вона робить із запитом, зі сторінкою на диску, з паралельними транзакціями й з мережею між вузлами.
Будова та сама, що в попередніх курсах: у кожному модулі розділ «як це насправді» з командами, які можна виконати самому, тести «перевір себе» і лабораторна з автоперевіркою. Курс рівноправно охоплює дві родини систем, але в правильному порядку. Реляційна частина йде першою й глибше, бо SQL, транзакції, журнал та індекси потім пояснюють усе нереляційне.
Що тут інакше, ніж у підручнику
Section titled “Що тут інакше, ніж у підручнику”Механізм перед синтаксисом. Модуль починається із задачі чи збою, а вже потім показує, як це названо в конкретній системі. Індекс тут структура даних із ціною на запис, а рівень ізоляції перелік аномалій, які система допускає.
Один датасет на весь курс. Читач не вивчає нову предметну область у кожному модулі. Запити, плани виконання, аномалії й порівняння систем йдуть на одних і тих самих даних.
Перевірка, що справді щось перевіряє. Чекери лабораторних я перевіряю
не лише еталонним розв’язком, а й навмисно наївним: запит, який дає
правильний результат на маленьких даних і ламається на NULL,
дублікатах та порожніх групах, має провалитися.
Мене звати Михайло Веселовський. В ІТ я понад двадцять років, з них близько одинадцяти в технічній підтримці всіх трьох ліній. Працював системним адміністратором, інженером підтримки, QA-інженером і технічним письменником, близько семи років — тимлідом і техлідом. Зараз керую підтримкою в PLVision.
До того були EPAM Systems, Sentia у Данії, Cohaesio, OnApp, VPS.NET і Parallels, здебільшого експлуатація: Linux-сервери, мережа, резервне копіювання, чергування й розбір чужих інцидентів. Паралельно веду BSBR.team, невелику компанію, яка робить DevOps для стартапів.
Це багато що пояснює в самому курсі. Питаннями «чому воно повільне» і «чому воно впало» я займався щодня роками, тому тут вони не лише вправа наприкінці розділу. Звідси й вимога підтверджувати кожне твердження запитом до живої бази, як це заведено в підтримці.
У Національному університеті «Львівська політехніка» я свого часу закінчив бакалаврат з комп’ютерної інженерії та магістратуру з комп’ютерних мереж і систем, а в 2022–2023 навчальному році читав там лекції студентам «Інтернету речей».
Інші курси
Section titled “Інші курси”Цей курс один із чотирьох, написаних за тим самим принципом:
- «Операційні системи» — від переривань і таблиць сторінок до контейнерів і eBPF
- «Хмарні технології» — хмари AWS, Azure і Google Cloud: від регіонів і IAM до Kubernetes, serverless і FinOps
- «Комп’ютерні мережі» — від кадру Ethernet і таблиці маршрутів до TLS, IoT і мереж датацентру
Умови використання
Section titled “Умови використання”Тексти курсу поширюються за ліцензією CC BY-SA 4.0, код лабораторних робіт за ліцензією MIT. Тобто матеріал можна брати й використовувати у своєму викладанні, зокрема й змінений, за умови посилання на джерело.
Якщо ви берете цей курс за основу для власного, мені буде цікаво про це почути.
Як зі мною зв’язатися
Section titled “Як зі мною зв’язатися”- Easy Tech Blog — легке пояснення складних технічних речей; цей курс живе на його піддомені
- michael.veselovski.co.uk — нотатки про домашню інфраструктуру й самохостинг
Помилку в матеріалі, неточність у запиті чи незрозуміле місце повідомляйте не соромлячись: курс від цього тільки виграє.