Диалекты — всё-таки важно или нет?
Вакансии делятся на два типа: абстрактное «знание SQL» и те, где указана конкретная база данных, с которой хорошо бы иметь опыт. Сегодня я попытаюсь разобраться (вместе с вами), насколько и в каких случаях это может быть реально критично:
Какие вообще бывают базы данных?📊
Очень грубо можно разделить так:
OLTP / «продуктовые» БД
PostgreSQL, MySQL, MS SQL, Oracle — чаще всего хранят боевые таблицы с пользователями, событиями и прочим продуктовым
OLAP / аналитические хранилища
ClickHouse, Vertica, Greenplum, Hive/Presto/Trino — более «толстые» запросы, витрины, отчётность, эксперименты...
Есть ещё ряд приколов в виде внутренних решений, SQL-над-чем-то, а также ситуации, когда БД сразу несколько, и надо понимать, что где брать. Это уже расскажут на самой работе
Примеры различий в синтаксисе и применении⚡️
В основном различия всё-таки минорные: приходят на ум требования к алиасам при джойнах и упоминаниях новых полей, функции для обработки дат, строк, массивов данных.
Немного отдельно стоит ClickHouse — всё-таки там есть специфика, и хотя технически можно писать на нём так же, как на любом другом SQL, это не всегда оптимально.
В каких случаях всё же важно
Думаю, если вас нанимают на адхоки и селекты, то не критично — любую синтаксическую ошибку можно быстро раздебажить.
Если же должность подразумевает обязанности (или часть) от DWH-аналитика или дата-инженера, то речь уже действительно идёт о best practices и оптимальных запросах и процессах (ещё и коллегам-аналитикам помогать придётся, вероятно).
Подводим итог
Хорошая новость в том, что особенностям новой БД можно научиться, как и любому элементу стека в любой профессии. Но перед собесом стоит прочитать про различия, благо, теперь с этим может помочь и ChatGPT. Например, глянуть функции для дат/строк, пример запроса с оконками и как там живут массивы/JSON. А так на вакансию с другой базой данных
можно смело откликаться, опыт в общем и целом переносится.
Это, кстати, относится в обе стороны и к
— иногда меня тут спрашивают, есть ли нюансы с тем, что там всё своё, в том числе YQL. Неа, совершенно не критично, и есть хорошая дока.
Поделитесь своим опытом: испытывали ли затруднения с другим диалектом на новой работе? Часто встречаете требование в вакансиях и тестовых знать конкретную БД?
#хардов_пост
@analytess
Обсуждение 10
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram