Легенды гласят, что первые поколения программистов были универсалами: они могли заправить принтер, поднять сервер, настроить АТС, а установку 1С и Офиса с пиратских дисков делали, не просыпаясь.
Сейчас схожая ситуация наблюдается среди дата-сайентистов. Многие из них умеют завести виртуалку в облаке, раскатать контейнер в Docker, поднять базу из бэкапа, а иногда и сварганить небольшой лэндинг в качестве презентации проекта.
И если от задач типа веб-страницы на Heroku или презентации в Powerpoint можно отвертеться без больших потерь, то с SQL дело обстоит иначе. Он хоть и не нужен для разработки моделей машинного обучения, однако дата-сайентисту его лучше знать.
Почему — читайте далее.
Что такое SQL и для кого он
SQL — это язык структурированных запросов. С его помощью можно обращаться к базам данных и получать от них нужную информацию в виде таблиц, формируемых сервером «на лету». Преимущества: скорость работы, переносимость между различными СУБД, сравнительная простота для изучения.
SQL — лингва франка для аналитиков, дата-инженеров и владельцев данных. Именно с этими специалистами больше всего общается дата-сайентист: они ставят ему задачи, поставляют данные и запускают его модели в продакшн. Если хотите эффективно работать и расти в команде, без SQL не обойтись.
Зачем джуну sql
Чем младше вы как специалист, тем вероятнее вам придётся добывать данные самому. Без SQL, в том или ином виде, это очень трудно: семь из десяти наиболее популярных систем управления базами данных, включая топ-4, используют язык SQL.
Первые месяцы своей работы в качестве дата-сайентиста автор этого материала писал исключительно на SQL, формируя выборки для тестирования моделей. Так что это нормальная практика.
Младшему DS-специалисту не повредит и знание Excel, желательно на продвинутом уровне.
Зачем sql миддлу и сеньору
Когда ваше рабочее время будет стоить дороже, данные для вас, скорее всего, будут готовить специально обученные люди: администраторы БД, менеджеры данных и дата-инженеры.
Ведущие и старшие специалисты Data Science крайне редко сами пишут запросы в базу. Это просто не их уровень: они преобразуют задачи бизнеса в DS-задачи, которые решают их подчиненные. Но что, если задача получится слишком заковыристой? Ведь чем выше квалификация дата-сайентиста, тем сложнее его проблемы. Это означает, что и данные для её решения должны будут отвечать сложным критериям.
Придётся тратить время на то, чтобы объяснить коллегам, что именно нужно — а если они не дотягивают по квалификации? Или из-за проблем в коммуникации вы не можете понять друг друга? Процесс может потребовать десятки итераций, спринтов и созвонов, особенно с удалёнкой.
Короче, уметь быстро добыть и дополнить данные самому — это вопрос не только экономии времени, но и профессионального престижа. Вы же не хотите, чтобы про нас, дата-сайентистов, травили байки типа: «Он „что-то нажал“ и данные исчезли»?
Где и как изучать SQL
Начинайте с бесплатных ресурсов, а по мере роста знаний и требований ищите курсы, которые подходят вам по бюджету и специфике. Если вы уже работаете в айти, попросить работодателя оплатить курс — эта статья поможет привести веские аргументы, почему это важно. Вот несколько платформ, где можно освоить технологию.
sql-ex / sql-tutorial
В 2022 году проекту Сергея Моисеенко и его команды исполняется двадцать лет. Пожалуй, это главный ресурс по SQL в русскоязычном сегменте интернета, на котором выросло несколько поколений айтишников СНГ.
Преимущества:
- понятные объяснения на русском языке;
- наличие сертификатов;
- бесплатный доступ;
- дизайн 😊
Ссылки: тренажёр, учебник. Также можно поддержать проект.
freeCodeCamp
Бывшему директору школы Куинси Ларсону, основавшему freeCodeCamp, программисты всего мира, без сомнения, рано или поздно поставят памятник, а возможно, и не один. Вам уже наверняка попадались ссылки на длинные, в несколько часов, видеоуроки freeCodeCamp на YouTube — бесплатные, без рекламы и интеграций.
Основные достоинства:
- бесплатное обучение;
- сертификаты;
- большое сообщество;
- доступ к международной IT-тусовке.
Ссылки: страница курса, курс на YouTube.
Coursera
Начните с курса Databases and SQL for Data Science with Python, входящего в сертификационную программу IBM Data Science Professional Certificate. Если понравится, можно взять и другие курсы сертификации — автор в своё время так и сделал.
Преимущества:
- понятные объяснения;
- удобный онлайн-тренажер;
- привязка к Data Science;
- фактически бесплатен (с учётом программы финансовой поддержки).
К слову, IBM являются одним из родоначальников языка SQL.
Ссылки: страница курса, страница сертификации.
Stepik
Пакет из трёх курсов по SQL от Никиты Шультайса обойдется не слишком дорого, особенно если поймаете акцию или скидку. Хороший вариант, если вы хотите разобраться в SQL «для себя» и небольшой бюджет на обучение.
Преимущества:
- русский язык;
- оперативные ответы преподавателей;
- сертификат Stepik;
- различные варианты покупки (отдельно или вместе).
Ссылки: курс «Основы SQL», пакет курсов по SQL.
SkillFactory
Курс по SQL для анализа данных от Skillfactory — это как раз тот случай, когда имеет смысл проходить обучение за счёт работодателя.
Преимущества:
- привязка к DS (DA);
- сертификат;
- чат студентов в Slack;
- разделение по уровням подготовки (basic и pro).
Блоги и книги
Если вам удобнее читать текст, а не смотреть видеоуроки, то серия статей на сайте data-flair раскроет основные аспекты применения SQL в Data Science. Начните со статьи о роли SQL в DS, а дальше идите по ссылкам в тексте или в меню слева. Покупать их платные курсы не обязательно.
Преимущества:
- привязка к Data Science;
- описание текстом;
- подробные объяснения;
- широкий охват тем.
Основные концепции SQL на понятных примерах и задачах изложены в культовой книге Томаса Нилда «Getting Started with SQL: A Hands-On Approach for Beginners». Книга на Амазоне, репозиторий на Github.