Друзья, всем привет 🤝
Сделал статью по индексам и партициям для роадмапа DE. Также хочу поделиться статьей с вами в более удобном виде.
Рассказал на пальцах, что такое индексы и партиции, а дальше немного углубил. Постарался раскрыть темы, которые спрашивают на собеседованиях.
Для написания статьи использовал личный опыт, другие статьи и LLM.
Дайте реакцию как вам материал и интересен ли вам подобный формат?⬇️
#архитектура
Сделал статью по индексам и партициям для роадмапа DE. Также хочу поделиться статьей с вами в более удобном виде.
Рассказал на пальцах, что такое индексы и партиции, а дальше немного углубил. Постарался раскрыть темы, которые спрашивают на собеседованиях.
Для написания статьи использовал личный опыт, другие статьи и LLM.
Дайте реакцию как вам материал и интересен ли вам подобный формат?
#архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Индексы и партиции
Объяснение на пальцах: 1. Таблица без индексов и партиций (просто мешок) Давайте представим, что у нас есть мешок с кубиками, на которых номерки. Как выглядит:
🔥30❤8🙏4👍3✍1🫡1💅1
Forwarded from Инженерообязанный🫡 | Блог Дата Инженера
YouTube
UPDATE Курса(RoadMap, агрегатор информации) на Data Engineer. v_2_2
Настало время максимально актуализировать информацию в RoadMap. Каждый раз внося ключевые изменения будет выходить видео подобного формата.
Здесь вы узнаете, какие изменения вошли в версию 2.2 + и открытие интенсива.
Не забудь подписаться на каналы)) И…
Здесь вы узнаете, какие изменения вошли в версию 2.2 + и открытие интенсива.
Не забудь подписаться на каналы)) И…
В этом видео о RoadMap'e:
Плюс ко всему:
Мы совместно с Женей Виндюковым(Я - Дата Инженер), запускаем собственный BootCamp(Интенсив) по профессии Инженер данных. Об этом я тоже рассказывают в данном видео, поэтому все кто уже изучил Python и SQL и не знает, что делать дальше, милости просим в
Если у тебя есть идеи, предложения, обратная связь и т.д., можешь написать, как в комментариях под этим постом
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤19🔥10👍5😁2💅2
Новый формат. Буду писать короткие мысли/советы - возможно, провокационные. Хэштег #МыслиВслух.
Вы тоже можете писать личку канала или мне @it_pengwin - предлагайте свои мысли. Интересное буду постить.
И вообще: задавайте любые вопросы - про работу, технологии, задачки, собесы и околоайтишное. Будем разгонять это вместе.
Вы тоже можете писать личку канала или мне @it_pengwin - предлагайте свои мысли. Интересное буду постить.
И вообще: задавайте любые вопросы - про работу, технологии, задачки, собесы и околоайтишное. Будем разгонять это вместе.
👍5❤4😁2🔥1🫡1💅1
Для быстрого продвижения по карьерной лестнице:
навык в прохождении собесов > реальных скиллов на работе
#МыслиВслух
навык в прохождении собесов > реальных скиллов на работе
#МыслиВслух
Испытательный срок пройден ✅
3 месяца прошло, меня не уволили.
Честно говоря, я особо и не переживал. Если б уволили - нашел бы новое место. Но сейчас все равно чувствую облегчение.
Кстати, никто мне не сказал, что я прошел ИС. Недавно я изучал свой договор, и там написано, что если по истечению 3 месяцев меня не уволили, значит, я прошел испытательный срок. А меня не уволили 😁
От работы в этом банке я не в восторге. Внутренние процессы сильно бюрократизированы (об этом честно предупредили), есть следящее ПО (не предупреждали, за это жирный минус), задачи пока что не очень интересные, но зато уже чувствую свою ценность. Надеюсь дальше будет поинтереснее.
"Мы семья" - здесь такого нет, коллектив не очень общительный, каждый тихо делает свои задачи и на другие темы общения особо нет. Все как-то слишком серьезно. Это интересный опыт. Платят как и обещали - хорошо.
Из этого банка уходить пока что я не планирую. Год точно буду работать, а дальше посмотрим.
Сейчас узнаю информацию по поводу устройства на вторую работу через ИП. Решений никаких нет, просто узнаю как это все оформляется и анализирую смогу ли я совмещать две работы.
Еще получилось взять авансом отпуск. Спасибо за это руководству, что пошли навстречу.
В пятницу лечу в Турцию. Хочу забыться и не думать о работе.
3 месяца прошло, меня не уволили.
Честно говоря, я особо и не переживал. Если б уволили - нашел бы новое место. Но сейчас все равно чувствую облегчение.
Кстати, никто мне не сказал, что я прошел ИС. Недавно я изучал свой договор, и там написано, что если по истечению 3 месяцев меня не уволили, значит, я прошел испытательный срок. А меня не уволили 😁
От работы в этом банке я не в восторге. Внутренние процессы сильно бюрократизированы (об этом честно предупредили), есть следящее ПО (не предупреждали, за это жирный минус), задачи пока что не очень интересные, но зато уже чувствую свою ценность. Надеюсь дальше будет поинтереснее.
"Мы семья" - здесь такого нет, коллектив не очень общительный, каждый тихо делает свои задачи и на другие темы общения особо нет. Все как-то слишком серьезно. Это интересный опыт. Платят как и обещали - хорошо.
Из этого банка уходить пока что я не планирую. Год точно буду работать, а дальше посмотрим.
Сейчас узнаю информацию по поводу устройства на вторую работу через ИП. Решений никаких нет, просто узнаю как это все оформляется и анализирую смогу ли я совмещать две работы.
Еще получилось взять авансом отпуск. Спасибо за это руководству, что пошли навстречу.
В пятницу лечу в Турцию. Хочу забыться и не думать о работе.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🍾8❤3👍3 1
Оптимизация SQL запросов
Общие правила:
1️⃣ База базовая - минимизация использования DISTINCT, ORDER BY, UNION. Если нет необходимости использовать данные конструкции - не используем! Будет выполняться сортировка, а на больших данных это оочень ресурсозатратно!
2️⃣ Звездочка в select - зло. Выбираем только необходимые поля!
Неправильно:
Правильно:
3️⃣ Уметь смотреть план запроса и иметь понятие об основных способах соединения таблиц
4️⃣ Если разработка идет на синтетике или на не полном объеме, всегда запрашивать боевые цифры и исходя из этого принимать решение о датафиксах, группировках, джойнах. Если же код новый и сущности еще только формируются, то предполагаемые объемы надо запрашивать у аналитика – хотя бы порядок строк – сотни тысяч/миллионы/сотни млн
5️⃣ Не писать одно тело селекта с парой-тройкой десятков таблиц. Логические куски помещать в with – так проще управлять.
6️⃣ Не бояться бить большие запросы на 2-3 сессии:
➖ Не должно быть, например, 80 джойнов, из которых половина это миллионы строк. Попробовать как-то логически поделить например на 2 куска, и чтобы не использовать разные with из первой части во второй.
➖ Очень большой код, например, 3тысячи строк читать, сопровождать, понимать что случилось довольно затруднительно – есть смысл разбивать на логические части.
7️⃣ Понимать, когда и для чего использовать хинты. Помнить, что хинты – это костыли. Не лепить в каждой строчке все что возможно.
8️⃣ Если запрос падает на нехватке темпа, то
➖ замножение записей (неправильное условие соединения ON или связь один ко многим, либо многие ко многим)
➖ кривой план/неправильная последовательность соединения множеств
➖ отправка на параллельные исполнители в широковещательном режиме (broadcast) огромных объёмов данных. Можно поправить хинтом
➖ Для тестовой среды: проверить объём темп, если число файлов не совпадает/сильно меньше, чем на бою – сделать сравнимым, если возможно .
9️⃣ Никогда не использовать в условиях соединения ON вложенные селекты
1️⃣ 0️⃣ Никогда не использовать в списке полей select-a, определяемых с помощью функций, вложенные селекты.
Иными словами не должно быть конструкций вида:
В списке полей должны быть только поля и всевозможные необходимые функции, а селект нужно приджоинить к общей выборке.
Аналогично и для условий where – не должно быть вложенных селектов внутри функций - это приводит к возникновению ненужных циклов.
➖➖➖➖➖➖➖➖➖➖➖➖
Предлагайте свои правила и фишки по оптимизации.
Давно хотел сделать подобный посту💅
Жду реакции и репосты😊 ⬇️
it пингвин | data engineer🐧
#sql #оптимизация
Общие правила:
Неправильно:
SELECT * FROM SALES;
Правильно:
SELECT SALE_ID, SALE_DT FROM SALES;
Иными словами не должно быть конструкций вида:
select t.f1, t.f2,
case when select [] then … end f3
from table t
В списке полей должны быть только поля и всевозможные необходимые функции, а селект нужно приджоинить к общей выборке.
Аналогично и для условий where – не должно быть вложенных селектов внутри функций - это приводит к возникновению ненужных циклов.
➖➖➖➖➖➖➖➖➖➖➖➖
Предлагайте свои правила и фишки по оптимизации.
Давно хотел сделать подобный посту
Жду реакции и репосты
it пингвин | data engineer
#sql #оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26❤9👍4 3💅1
Я вернулся из отпуска 😎
Всего за одну неделю я испытал море эмоций - был супер чилл, восторг, экстрим, тусовочки. Я даже отвык от своего компухтера и вроде бы перезагрузился🎮
Отдыхайте и путешествуйте, друзья❤️
Это привносит много красок и удлиняет жизнь💯
Теперь врываюсь в рабочий график. Посты буду делать чаще, уже много всего скопилось в заметках🫡 ✏️
Всего за одну неделю я испытал море эмоций - был супер чилл, восторг, экстрим, тусовочки. Я даже отвык от своего компухтера и вроде бы перезагрузился
Отдыхайте и путешествуйте, друзья
Это привносит много красок и удлиняет жизнь
Теперь врываюсь в рабочий график. Посты буду делать чаще, уже много всего скопилось в заметках
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤6👍5🍾2 2😁1
В таблице t1 в поле id есть значения 1,2,3,4, null. Что вернется в результате запроса?
select * from t1 where id not in (1,2,null)
select * from t1 where id not in (1,2,null)
Anonymous Quiz
37%
3, 4
24%
ошибка
12%
ничего (0 строк)
1%
1 строка с null
1%
2 строки с null
25%
3, 4, null
🗿11👍9🔥5🤔3❤2🤩1 1
Часто замечаю, как айтишники делятся технической литературой на английском языке.
У меня вопрос: кто-нибудь из вас читает техническую литературу на английском?
Я понимаю, что айтишные книги на английском языке читать должно быть легче, чем художественные книги. Но мне это все равно сложно.
Итак, чтение ит книг не супер полезно в плане развития скиллов. Лучше прочитать статью, пройти курсики, сделать пет проект и порешать задачки.
Но читать еще и на английском - это х2 к затраченному времени и затрате энергии. Какая-то имитация полезной деятельности.
Есть такой термин:
Профанация - если под видом полезного дела скрывается пустая трата времени.
Ставим жабу в очках😎 - если читаешь английском
Ноготочки💅 - читаешь на русском
Пиво🍻 - не читаешь книги
#МыслиВслух
У меня вопрос: кто-нибудь из вас читает техническую литературу на английском?
Я понимаю, что айтишные книги на английском языке читать должно быть легче, чем художественные книги. Но мне это все равно сложно.
Итак, чтение ит книг не супер полезно в плане развития скиллов. Лучше прочитать статью, пройти курсики, сделать пет проект и порешать задачки.
Но читать еще и на английском - это х2 к затраченному времени и затрате энергии. Какая-то имитация полезной деятельности.
Есть такой термин:
Профанация - если под видом полезного дела скрывается пустая трата времени.
Ставим жабу в очках
Ноготочки
Пиво
#МыслиВслух
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте пойдем дальше 🤭
Нужно ли знание английского языка айтишнику в РФ?
Нужно ли знание английского языка айтишнику в РФ?
Anonymous Poll
67%
да ✅
33%
нет ❌
🤷♂8🤣5😁2
Транзакции и ACID
Это достаточно популярная тема на собеседовании для data engineer-a и бэкендера.
Транзакция в контексте баз данных — это последовательность одной или нескольких операций (таких как вставка, обновление или удаление записей), которые база данных обрабатывает как одно действие. Она либо полностью успешна, либо полностью проваливается, без промежуточных состояний.
Пример: Банковский перевод
Когда вы отправляете деньги другу, происходят две вещи:
• Деньги списываются с вашего счета.
• Деньги зачисляются на их счет.
Эти два шага образуют одну транзакцию. Если ни один из шагов не удается, оба отменяются.
Без транзакций базы данных могут оказаться в несогласованных состояниях.
Например:
❌ Частичные обновления: Ваши деньги списываются, но ваш друг их не получает.
❌ Конфликты: Два человека одновременно бронируют последний билет в кино.
Транзакции решают эти проблемы, применяя такие правила, как свойства ACID (атомарность, согласованность, изоляция, долговечность).
Теперь давайте верхнеуровнево рассмотрим каждое из свойств ACID✍️
➖ Atomicity (Атомарность) - свойство, обеспечивающее целостность транзакций. Либо выполняются все изменения - commit, либо осуществляется rollback до первоначального состояния.
➖ Consistency (Согласованность) - принцип, согласно которому база данных гарантирует, что после успешного завершения каждой транзакции, данные в ней остаются в согласованном состоянии. Другими словами, до и после выполнения транзакции данные остаются надёжными и достоверными. Деньги не могут появиться из воздуха, а также должны соблюдаться все ограничения базы.
➖ Isolation (Изолированность) - свойство, гарантирующее, что выполнение одной транзакции не влияет на выполнение других. Каждая транзакция должна работать независимо от других, даже если они выполняются параллельно. Это предотвращает конфликты и сохраняет целостность данных. Есть разные уровни изоляций.
➖ Durability (Надёжность) - «что написано пером, не вырубишь топором». Это свойство гарантирует, что после успешного завершения транзакции изменения будут сохранены и доступны в БД. После того, как произошел commit транзакции, мы можем быть уверены, что изменения не будут отменены из-за какого-либо сбоя.
В ближайшее время я подробнее расскажу про acid, как достигается выполнение всех условий. После продолжу тему - расскажу что такое CDC, NoSQL-базы без acid транзакций, CAP теорема🫡
Эти темы важны для понимания архитектуры современных хранилищ.
Если интересно, ставим реакции😊 ⬇️
it пингвин | data engineer🐧
#Вопросы_с_собесов #архитектура #acid
Это достаточно популярная тема на собеседовании для data engineer-a и бэкендера.
Транзакция в контексте баз данных — это последовательность одной или нескольких операций (таких как вставка, обновление или удаление записей), которые база данных обрабатывает как одно действие. Она либо полностью успешна, либо полностью проваливается, без промежуточных состояний.
Пример: Банковский перевод
Когда вы отправляете деньги другу, происходят две вещи:
• Деньги списываются с вашего счета.
• Деньги зачисляются на их счет.
Эти два шага образуют одну транзакцию. Если ни один из шагов не удается, оба отменяются.
Без транзакций базы данных могут оказаться в несогласованных состояниях.
Например:
Транзакции решают эти проблемы, применяя такие правила, как свойства ACID (атомарность, согласованность, изоляция, долговечность).
Теперь давайте верхнеуровнево рассмотрим каждое из свойств ACID
В ближайшее время я подробнее расскажу про acid, как достигается выполнение всех условий. После продолжу тему - расскажу что такое CDC, NoSQL-базы без acid транзакций, CAP теорема🫡
Эти темы важны для понимания архитектуры современных хранилищ.
Если интересно, ставим реакции
it пингвин | data engineer
#Вопросы_с_собесов #архитектура #acid
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥28❤16👍9✍6 5 2💅1
Кто какой нейронкой пользуется?
В комменты напишите свое мнение, что больше заходит. Также интересно сравнить платные подписки и бесплатные. Я в этом деле профан, пользуюсь в основном DeepSeek и Perplexity.
В комменты напишите свое мнение, что больше заходит. Также интересно сравнить платные подписки и бесплатные. Я в этом деле профан, пользуюсь в основном DeepSeek и Perplexity.
Anonymous Poll
43%
ChatGPT (бесплатный)
19%
ChatGPT (платный)
62%
DeepSeek
11%
Claude
3%
Яндекс гпт
5%
Гигачат
2%
Midjourney
10%
Gemini
15%
Perplexity
1%
blackbox
👍5✍2😁2 2🔥1💅1
Вас когда-нибудь посещают мысли:
Ну этот ваш айти завод. Может лучше я открою фруктовую палатку в проходимом месте?🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13❤5🤣4 3💅2👍1🗿1
Ура, пятница...😎
Для меня неделька выдалась оч хардкорной - с 8 до 21 за компом ( хотя рабочие задачки делаю всего лишь пару часов).
Мне посоветовали пропить комлекс витаминов Б для поднятия продуктивности.
Начал пить и, действительно, стало большего энергии, концентрации и интереса в работе. Но возможно это всё самовнушение..🤷♂️
Кто чувствует, что ему не хватает энергии советую тоже пропить. Конечно, может правильно все делать под присмотром врачей.. Ну да ладно, это всего лишь витаминки.
upd. Лучше сначала сходить к врачу и сдать анализы, а потом принимать решения нужно ли пить какие-то БАДы и витаминки💯
А как у вас проходят рабочие дни?
🦦 - на чиле
🥵 - хардкор
Для меня неделька выдалась оч хардкорной - с 8 до 21 за компом ( хотя рабочие задачки делаю всего лишь пару часов).
Мне посоветовали пропить комлекс витаминов Б для поднятия продуктивности.
Комплекс витаминов Б - это группа водорастворимых витаминов, которые:
• поддерживают работу нервной системы
• участвуют в энергетическом обмене
• укрепляют иммунитет
• способствуют здоровью кожи, волос и ногтей
• участвуют в кроветворении
• поддерживают сердечно-сосудистую и пищеварительную системы
Показания: стресс, высокие нагрузки, несбалансированное питание, восстановление после болезней.
Начал пить и, действительно, стало большего энергии, концентрации и интереса в работе. Но возможно это всё самовнушение..
Кто чувствует, что ему не хватает энергии советую тоже пропить. Конечно, может правильно все делать под присмотром врачей.. Ну да ладно, это всего лишь витаминки.
upd. Лучше сначала сходить к врачу и сдать анализы, а потом принимать решения нужно ли пить какие-то БАДы и витаминки
А как у вас проходят рабочие дни?
🦦 - на чиле
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣28🔥7 5❤4😁2💅2
УРА нас уже тысяча! 😳
Привет, друзья! Не думал, что канал будет расти так быстро.
Спасибо вам за внимание и проявленный интерес❤️
В последнее время реже делаю посты. Дел становится больше, а часов в сутках нет 😞 Теперь все-таки понимаю, что вести блог это тоже очень трудозатратно. Буду повышать активность🤝
Сделал подборку интересных постов:
Теория и задачи для (jun/mid/sen)
• Отличие Where и Having
• Вопросы про джоины
• Популярные вопросы с собесов (lvl junior)
• Задачка на джоины
• Стандартизация SQL
• Задача на схлопывание строк и решение
• Задача из банка и решение
• Как удалить дубли из таблицы?
• Задачка про оценки
• Задачи с собесов
• Задача Альфа-банка и решение
• Статья по индексам и партициям
• Оптимизация SQL запросов
• Транзакции и ACID
Обзоры собеседования:
• Собеседование на senior DWH разработчик
• Собеседование в Газпромбанк
• Долгожданные загадки с собеса на 325к
Различные обучающие материалы:
• Презентации по BigData
• Ссылки с бесплатным материалом
• Темки с бесплатным обучением 😁
Истории:
• Забавные - первая задача в компании
• Грустные - буллинг от руководителя
Разное:
• Обо мне
• Думай и богатей
• За платное обучение или против
• Поймал дизмораль
• Интересная табличка
• Если во всех профессиях платили бы одинаково
• МыслиВслух
• Испытательный срок пройден
• Английский язык
Можете написать какие темы для вас более интересные (задачки, собесы, теория и тд). И если у вас есть какие-то пожелания или идеи для постов - тоже пишите⬇️
Также можете забустить канал😎
Всем еще раз спасибо😊 ❤️
it пингвин | data engineer🐧
Привет, друзья! Не думал, что канал будет расти так быстро.
Спасибо вам за внимание и проявленный интерес
В последнее время реже делаю посты. Дел становится больше, а часов в сутках нет 😞 Теперь все-таки понимаю, что вести блог это тоже очень трудозатратно. Буду повышать активность
Сделал подборку интересных постов:
Теория и задачи для (jun/mid/sen)
• Отличие Where и Having
• Вопросы про джоины
• Популярные вопросы с собесов (lvl junior)
• Задачка на джоины
• Стандартизация SQL
• Задача на схлопывание строк и решение
• Задача из банка и решение
• Как удалить дубли из таблицы?
• Задачка про оценки
• Задачи с собесов
• Задача Альфа-банка и решение
• Статья по индексам и партициям
• Оптимизация SQL запросов
• Транзакции и ACID
Обзоры собеседования:
• Собеседование на senior DWH разработчик
• Собеседование в Газпромбанк
• Долгожданные загадки с собеса на 325к
Различные обучающие материалы:
• Презентации по BigData
• Ссылки с бесплатным материалом
• Темки с бесплатным обучением 😁
Истории:
• Забавные - первая задача в компании
• Грустные - буллинг от руководителя
Разное:
• Обо мне
• Думай и богатей
• За платное обучение или против
• Поймал дизмораль
• Интересная табличка
• Если во всех профессиях платили бы одинаково
• МыслиВслух
• Испытательный срок пройден
• Английский язык
Можете написать какие темы для вас более интересные (задачки, собесы, теория и тд). И если у вас есть какие-то пожелания или идеи для постов - тоже пишите
Также можете забустить канал
Всем еще раз спасибо
it пингвин | data engineer
Please open Telegram to view this post
VIEW IN TELEGRAM
11❤18 7👍2🔥2😍2😭1💅1 1