Data Engineering / reposts & drafts
35 subscribers
227 photos
22 videos
40 files
557 links
Download Telegram
Forwarded from Summarize300Bot
Николай Крупий
https://youtu.be/BSge0lPJeHk
• Для аналитиков и дата-инженеров освоение Debut проще.
• Debut не подходит для всех задач, иногда требуется интеграция с другими инструментами.

01:32:41 Масштабирование и ограничения
• Debut лучше подходит для обработки больших данных, чем для сложных вычислений.
• Ограничения масштабирования могут стать проблемой при росте объема данных.
• Пример использования Debut в компании с обработкой данных из 20 предметных областей.

01:34:36 Практическое применение и советы
• Практическое применение Debut через Dask и Apache Aphine.
• Рекомендуется начинать с практики, а не только с теории.
• Доступны бесплатные демо-уроки и документация для начала работы с Debut.

01:36:30 Заключение
• Использование больших языковых моделей, таких как GPT-3, ускоряет освоение концепций Debut.

01:36:47 Введение в симулятор по Data Science
• Промокод на скидку 20% для тех, кто заинтересуется симулятором по Data Science.
• Симулятор имитирует реальные аналитические задачи и работу в стартапе.
• Помогает освоить Data Science и терминологию, а также подготовиться к собеседованиям.

01:37:39 Преимущества симулятора
• Симулятор помогает полноценно освоить Data Science.
• Включает терминологию и концепции, актуальные для современного мира аналитики.
• Бонусом добавлена тема Databricks, которая становится важной для работы с данными.

01:38:37 Рекомендации и компания "Инженерка"
• Симулятор платный, но есть бесплатные демо-уроки.
• Компания "Инженерка" обучила более 300 специалистов за три года.
• Преподаватели с международной карьерой и опытом.

01:39:41 Преимущества учебных программ "Инженерка"
• Обучение на практике, без лишней теории.
• Настройка инфраструктуры для обучения.
• Доступ к материалам после обучения.

01:41:04 Заключение и обратная связь
• Призыв следить за новостями и анонсами "Инженерка".
• Промокод и бесплатный доступ к тренажерам.
• Благодарность за участие и отзывы.

01:42:17 Личный опыт и выводы
• Личный опыт освоения Data Science.
• Data Science как инструмент для упрощения работы.
• Примеры использования Data Science для улучшения работы и качества данных.

01:45:29 Заключение и прощание
• Призыв к дальнейшему общению в чате "Инженерка".
• Прощание и завершение демонстрации.
Forwarded from Summarize300Bot
Николай Крупий
https://habr.com/ru/companies/postgrespro/articles/844540/
Майкл Стоунбрейкер: «Всё новое — это хорошо забытое старое. Продолжение»

• Статья посвящена обзору актуальных технологий СУБД и их развитию за последние 20 лет.Link
• Реляционная модель с расширяемой системой типов (объектно-реляционная) доминирует на рынке СУБД.Link
• Основные достижения в системах РM связаны с изменениями характеристик оборудования.Link
• SQL и реляционные СУБД продолжают эволюционировать.Link
• В статье рассматриваются различные модели данных и языки запросов для баз данных: MapReduce, хранилища "ключ-значение", документоориентированные базы данных, базы данных типа "Семейство столбцов", текстовые поисковые движки, базы данных массивов, векторные базы данных, графовые базы данных.
Forwarded from Summarize300Bot
Николай Крупий
https://habr.com/ru/companies/postgrespro/articles/844540/
Link
• Большинство систем, отличных от SQL или РM, обслуживают нишевые рынки и не доминируют на рынке СУБД.Link
• Многие системы, которые начинали с отказа от РM, теперь предоставляют интерфейс, похожий на SQL для РM-баз данных.Link
• SQL аккумулировал лучшие идеи языков запросов для расширения поддержки современных приложений и оставаться актуальным.Link
• Пересказана только часть. Для продолжения перейдите в режим подробного пересказа.Link
Forwarded from DATABASE DESIGN
Майкл Стоунбрейкер: «Всё новое — это хорошо забытое старое. Продолжение»

От редакции: Майкл Стоунбрейкер - один из самых известных в IT мире ученых и отец-основатель Postgres. В соавторстве с Энрю Павло, недавно опубликовал большой обзор всех актуальных технологий систем управления базами данных. В этом материале — подробно обо всем, что произошло в мире баз данных за последнее время, а также прогнозы. Мы посчитали что нельзя лишать нашу аудиторию возможности ознакомиться с этим обзором, поэтому подготовили данный перевод.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Читать: https://habr.com/ru/companies/postgrespro/articles/844540/

#ru

@database_design | Другие наши каналы
Forwarded from Summarize300Bot
DATABASE DESIGN
Майкл Стоунбрейкер: «Всё новое — это хорошо забытое старое. Продолжение» От редакции: Майкл Стоунбрейкер - один из самых известных в IT мире ученых и отец-основатель Postgres. В соавторстве с Энрю Павло, недавно опубликовал большой обзор всех актуальных…
Майкл Стоунбрейкер: «Всё новое — это хорошо забытое старое. Продолжение»

• Статья посвящена обзору актуальных технологий СУБД и их развитию за последние 20 лет.Link
• Реляционная модель с расширяемой системой типов (объектно-реляционная) доминирует на рынке СУБД.Link
• SQL аккумулировал лучшие идеи языков запросов для расширения поддержки современных приложений.Link
• Хранилища "ключ-значение" (KV) - самая простая из возможных моделей данных.Link
• Документоориентированные базы данных (DOC) - модель данных документов, активно разрабатывалась в течение нескольких десятилетий.
Forwarded from Summarize300Bot
DATABASE DESIGN
Майкл Стоунбрейкер: «Всё новое — это хорошо забытое старое. Продолжение» От редакции: Майкл Стоунбрейкер - один из самых известных в IT мире ученых и отец-основатель Postgres. В соавторстве с Энрю Павло, недавно опубликовал большой обзор всех актуальных…
Link
• Базы данных типа "Семейство столбцов" (COL) - упрощение документной модели, поддерживающее только один уровень вложенности.Link
• Текстовые поисковые движки (TEXT) - системы, основанные на инвертированных индексах и ориентированные на точный поиск совпадений.Link
• Базы данных массивов (ARRAY) - СУБД, использующие модель данных массивов для хранения и запроса данных массивов.Link
• Пересказана только часть. Для продолжения перейдите в режим подробного пересказа.Link
Forwarded from Инжиниринг Данных (Dmitry)
Все чаще мелькает информация про YAML инженера.

Вот несколько статей:
YAML developers and the declarative data platforms

The rise of the YAML engineer

From Data Engineer to YAML Engineer

Data Orchestration Trends: The Shift From Data Pipelines to Data Products

Dbt модели у меня безусловно лидируют, так же использовал для Mock тестов в Pytest и Helm Charts и Kubernetes.
Forwarded from BeOps
Книга Kubernetes in Action (2nd edition by Marko Lukša, Kevin Conner) — отличный старт для знакомства с Kubernetes

Когда я начал читать книгу Kubernetes in Action, сразу понял — это не просто теория. Автор делает акцент на понятном объяснении того, что такое Kubernetes, как он работает и почему его популярность так стремительно выросла. Честно говоря, я был впечатлен уже с первых страниц.

Что мне особенно понравилось

Во-первых, в книге есть множество наглядных иллюстраций, которые помогают понять, как Kubernetes управляет приложениями и как он абстрагирует инфраструктуру. Эти схемы не просто украшают текст, они на самом деле помогают видеть общую картину, особенно если вы еще новичок в этой теме. Ну и, конечно, материал изложен очень просто — так, как будто вы говорите с опытным наставником, а не читаете технический мануал.

Теперь давайте разберем основные идеи первых глав (1.1 Introducing Kubernetes - 1.2 Understanding Kubernetes), которые привлекли мое внимание.

---

Введение в Kubernetes: Зачем это нужно?

Kubernetes — это по сути штурман для ваших приложений. Он автоматизирует процесс их деплоя и управления, решает за вас повседневные задачи, как настоящий помощник капитана. Вся идея в том, чтобы вы сосредоточились на развитии проекта, а Kubernetes сам справился с рутиной, следя за тем, чтобы приложения работали бесперебойно.

Причем, как отмечает автор, имя Kubernetes символично. Как штурман направляет корабль, так Kubernetes направляет ваше приложение, оставляя за вами только ключевые решения.

---

Почему Kubernetes стал таким популярным?

Развитие микросервисов и контейнеров изменило весь подход к разработке ПО. Если раньше приложения представляли собой большие монолитные системы, которые было сложно масштабировать и управлять, то теперь мы работаем с десятками и сотнями микросервисов. Kubernetes автоматизирует их управление, делая развертывание и масштабирование микросервисов тривиальной задачей. Автор книги подчеркивает: то, что раньше было сложно, с Kubernetes стало простым и очевидным.

---

Как Kubernetes решает повседневные задачи?

Читая книгу, я понял: Kubernetes — это не просто система для развертывания приложений. Это целая экосистема, которая позволяет автоматически управлять масштабированием, следить за здоровьем приложения и даже восстанавливаться после сбоев. Если ваше приложение упало — Kubernetes сам перезапустит его. А если произошел сбой оборудования, Kubernetes перенесет работу на здоровые узлы. Все это экономит время и нервы.

---

Основные компоненты Kubernetes

Автор подробно объясняет архитектуру Kubernetes, разделяя её на две главные плоскости: Control Plane и Workload Plane. Control Plane управляет состоянием всего кластера, а Workload Plane — это место, где запускаются приложения. Все выглядит логично, и благодаря иллюстрациям с каждым компонентом становится легче разобраться.

---

Личный опыт

Для меня этот материал стал отличным введением в тему. Книга Kubernetes in Action помогает понять не только теоретические основы, но и показывает, как Kubernetes действительно работает на практике. А самое главное — автор делает это легко и доступно, с примерами и наглядными пояснениями. Если вы хотите погрузиться в мир Kubernetes — это идеальная отправная точка.

От себя же я составил Mind Map первых двух частей, которым хотел бы поделиться в этом посте (пока что ссылкой на dropbox)

- https://www.dropbox.com/scl/fi/9fv5og1cchp44kofi9h0p/Kubernetes-in-Action-till-1.3.pdf?rlkey=vus4tw7vsrqf15naerns2x12v&st=6miusxfn&dl=0

Обзор следующих частей опубликую очень скоро🛥
AI tutor

Недавно мне скинули ссылку на AI Tutor для ChatGPT-4 https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor и я решил посмотреть, как это может помочь дата инженеру.

- Задача: Я хотел изучить внутренний движок запросов Apache Spark. Сам чат можно посмотреть на этой странице Notion: https://bakanchevn.notion.site/AI-Learning-782d325ffbee44ab88467bfcd9e6bc12

- Подача материала: В целом, формат ответов выглядит довольно хорошо, хотя есть некоторые недочеты (поэтому надо прокачивать скилл prompt engineering! в том числе). Я предполагаю, что для более программистских тем задачи сами по себе будут более детализированными. Иногда мне приходилось задавать вопрос несколько раз, чтобы действительно добраться до сути.

- Надежность и качество материала : Конечно, есть вопрос корректности материала, и однозначно, ориентироваться только на этот механизм не стоит 👨‍🦳, но в целом ссылки на код спарка и методы плюс минус валидные. Думаю, попробую другие темы и посмотрю, будет ли лучше или хуже.

- Тестирование. Я попробовал систему тестов и попробовал поделать ошибки в ответах. Кажется, что бот слишком вежливый, надо бы поиграться с параметрами 🤔 Фидбек выглядит валидным.

В целом, впечатление положительное, и думаю, что это может помочь людям, кто предпочитает формат самообучения, если конечно через пару лет AI не поработит нас окончательно 😡

P.S. В моем английском на скриншотах есть ошибки и недочеты, прошу этот момент игнорировать
Please open Telegram to view this post
VIEW IN TELEGRAM
Mentoring

Я участвую в менторинг программе SIngularis.AI. Моя анкета находится на борде https://mathshub.notion.site/Singularis-AI-Mentoring-Program-d562243465964a94b9debfc11d2a073b#72811df65806428dadde1428e3a9786b под именем NBK. Но в целом рекомендую посмотреть различные анкеты людей и в целом слак сообщество.

Но поскольку вы в этом канале и если вам почему-то интересен менторинг от меня или просто 1-он-1 созвон, то я также вполне доступен - https://calendly.com/d/z5w-f38-3qv/1h-mentoringу (календарь пока тестовый, если вдруг не смогу в конкретное время проговорю заранее, лучше указывать ник в телеграме, если будете сет апить митинг)

В целом, формат обсуждения довольно свободный, главное, чтобы он был связан с дата тематикой, в которой я хоть как-то могу вам помочь =) (Так же могу помочь с мок интервью форматом, формата coding sql interview, easy coding python interview, и system/data design)

P.S. Я не особо опытен именно в онлайн-менторинге, но люблю формат random cofee (встречи с разными людьми) и опыт менторинга внутри компании у меня также есть.

Мой линк для референса - https://www.linkedin.com/in/bakanchevn
И снова безработный

Пару дней назад был мой последний день в компании, так что можно порефлексировать, что удалось и что не удалось за 2 года.

Что удалось 👍

Когда я присоединился к компании, в ней было всего два дата инженера, и мы были частью BI команды. Однако мне 😃 (ну или не только мне :D) удалось продвинуть идею создания Data Platform или централизованной дата команды.

За полтора года мы смогли нанять и организовать Core Data команду до 8 фулл стек дата инженеров, 2 специалистов по DataOps и MLOps, менеджера (в виде меня) и дата архитектора. И есть планы по дальнейшему расширению команды. Команда получилась очень интернациональной, в ней работают люди из 9 разных стран, и это был довольно интересный вызов. Удалось организовать внутри сессию шейринга информации и внутреннего обучения.

Расширение команды стейкхолдеров - по факту на данный момент, команда стала централизацией по решению задач по дата инженерии для бизнеса, причем у нас была как прямая работа с департаментами, так и организация меж департаментовой кросс-интеграции

Мы успешно внедрили такие инструменты, как Snowflake, Hevodata и множество дата сервисов на GCP стеке. Кроме того. мы организовали Reverse-ETL и использовали различные подходы, включая batch и event-driven обработку данных.

Что осталось недостигнутым на момент ухода 👋

Хотя мы добились довольно неплохих результатов есть ряд областей, в которых не удалось достичь полной реализации на момент моего ухода.

В первую очередь, процессы CI/CD были только частично организованы, но я уверен, что к концу 2023 года они будут завершены.

Мониторинг данных все еще представляет собой набор несвязанных логов 🙆, и пока только в планах организация централизованного хранения. Однако мы уже внедрили критические алерты и систему уведомлений для пользователей.

Еще одной областью, которую мы не полностью освоили, является Data Quality. Хотя мы покрыли тестами часть данных с помощью dbt и создали более 500 тестов для моделей, есть еще много работы в области интеграции данных, которую мы покрыли лишь на 10-15% 👨‍🦳.

Data Lineage - это еще одна область, где мы не продвинулись дальше общения с интересными экспертами из dwh.dev и alvin.ai. 😟

Эстония в целом 🇪🇪

Эстония офигенна, отличная дигитализация, Таллинн в целом супер крутой город, довольно маленький по размеру, но у меня не было проблем в получении каких-либо услуг. Также я получил опыт аренды жилья (впервые в жизни!) и проживания в советских пяти- и девяти- этажках (не самый позитивный 😡). К сожалению, с моим паспортом в странах Балтии могут быть сюрпризы, поэтому, как минимум на время, еду в другую локацию

Что дальше 🍷

Пока могу озвучить только, что я в процессе переезда и куда переезжаю - это Берлин (или его окрестности в будущем), Германия 🇩🇪

P.S. В планах по этому двухлетнему опыту сделать докладик - Modern Data Stack - стоила ли игра свеч
Please open Telegram to view this post
VIEW IN TELEGRAM
EU зарплаты

https://medium.com/@mikldd/europe-data-salary-benchmark-2023-b68cea57923d

Некий EU бенчмарк для DE/AE/DS/DA, говорящий о том, что лучше всего денег дают Амстердам 🇳🇱, Дублин 🇮🇪 и Лондон 🏴󠁧󠁢󠁥󠁮󠁧󠁿 , при этом:

If you want to earn more than $200k in an IC data role in Europe, you’re most likely to do so if you work at a larger tech company such as Meta, Amazon and Booking.com 🤔

Про Мету, кажется, что для 200k TC для Senior Data Engineer нужно еще иметь контр оффер на руках для торговоли, базовый пакет E5 чуть меньше, для Букинга - не знаю в виду реджекта на фите 👨‍🦳, но вроде сеньоры там 130-180+ TC

Сам пост подсмотрел в Singularis.
Please open Telegram to view this post
VIEW IN TELEGRAM
Будни SQLщика в Clickhouse

1. Рассмотрим базовый запрос

select a1, a2, a3 from (
select a1, a2, a3 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
any left join
(
select 1 as a3
) a3
on a1.a1 = a3.a3
)


Запрос прекрасно работает

2. Добавим полное именование во внутренний запрос


select a1, a2, a3 from (
select a1.a1, a2.a2, a3.a3 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
any left join
(
select 1 as a3
) a3
on a1.a1 = a3.a3
)


Запрос перестает работать с ошибкой missing columns a1, a2, a3

3. Добавив alias во внутренний подзапрос все снова работает



select a1, a2, a3 from (
select a1.a1 as a1, a2.a2 as a2, a3.a3 as a3 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
any left join
(
select 1 as a3
) a3
on a1.a1 = a3.a3
)



Ну, кажется, логика плюс-минус понятна, полный алиасинг не прокидывается во внешний запрос


4. Однако!


select a1, a2 from (
select a1.a1, a2.a2 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
)


Работает!

(На этом месте автор ушел пить мяту и думать о вечном)

P.S. Автор понимает, что покопавшись в планах и коде самого КХ логическое объяснение может быть получено довольно просто, однако страдания обычного SQLщика от этого меньше не становятся
Буду рассказывать про modern data stack 😅на одном митапе с такими легендами dbt комьюнити как Артемий Козырь 💪 и Станислав Лысиков👉

Детали тут - https://cutt.ly/bwi8covj

Залетайте!

Вторая неделя выглядит тоже супер интересной!
Please open Telegram to view this post
VIEW IN TELEGRAM
Вторая неделя dbt meetup - https://space307.team/dbt-meetup

Расскажут про dbt и DataVault, как мигрировать 40+ DS/PA на dbt и не грустить и что такое экпозиция в dbt!
Любой дата проект в одной картинке
Data System Design Interview

Что это за зверь 🤔

Data system design - это подмножество сисдиз интервью, но с упором на data-driven задачу, где кандидат показывает способность построения систем в области хранения, управления и обработки данных.

Пример задачи 💁‍♂️
(Пример подробный, часто кандидат сам формулирует требования через диалог)

Мы компания Х, новая платформа для авторов. У каждого автора есть свое пространство и люди могут подписываться или отписываться от них. Запрос отписки может приходит либо от пользователя из UI интерфейса, отдельного запроса от департамента Customer Success или Legal (может содержать в себе большое число пользователей за один раз)

Нам необходимо разработать решение, у которого будет:
1. Возможность отправлять near real-time событие в уже разработанный UnsubMe сервис для отписки
2. Финальный отчет для сеньор менеджмента для анализа воронки отписок (с возможностью работы на разных уровнях агрегаций и времени)
3. Возможность для аналитиков осуществлять ad-hoc аналитику

Как проходит интервью 😅

Формат интервью обычно соответствует тем же временным рамкам, что и сис дизайн интервью (пример для интервью в 90 минут):

1. Интро (5 минут)
• Вы представляетесь друг другу и пара слов о бекграунде каждого. Для больших компаний обычно присутствуют 2 интервьюера.
2. Понимание проблемы и сбор требований (10-15 минут)
• Интервьюер описывает вам проблему и предлагает задавать вопросы
• Ваша задача проговорить функциональные и нефункциональные требования и те ограничения, которые будут приняты в виду ограничения по времени (например, если у вас задача по имплементации GDPR, то вы обсуждаете только часть удаления пользовательских данных)
• Также вы обсуждаете текущую нагрузку на систему и как это изменится в краткосрочной и среднесрочной перспективе
• В какой среде будет задача (клауд/гибрид/on-prem)? Есть ли доп ограничения вида Cloud Agnostic?
3. Высокоуровневый дизайн (15-20 минут)
• Вы совместно рисуете и обсуждает общую схему решения на уровне компонетов / сервисов / технологий. Тут часто бывают общие обсуждения уровня нужен ли нам дополнительной слой DWH, выбора синхронного или асинхронного метода передачи сообщения, необходимости какой-то шины данных и т.п.
4. Детальное обсуждения какого-то компонента (20-35 минут)
• Идет углубленное обсуждение какого-то компонента. В виду дата ориентированности, обычно это завязано на какой-то компонент стриминга, етл, дата модели и т.п.
5. (Опционально) Обсуждение оптимизаций, масштабирования или каких-то адаптаций для решения (10-15 минут)
• Такие обсуждения часто бывают в процессе предыдущих этапов или кандидат инициирует их
• Интервьюер может предложить изменение требований и спросить, какие адаптации надо сделать под них (например, подключение 3rd party vendor в примере компании X, который может работать с отписками)
6. Q&A и Вопросы Кандидата
• Обычная Q&A сессия, которая позволяет кандидату спросить про работу в компании

Примеры детальных обсуждений 👨‍🦳

Неполный список тем, который может быть в детальном обсуждении

• CDC. Как организовать, зачем, какой тип выбрать
• Message Broker, какой выбрать, какой критерий выбор, формат сообщений, какая модель обработки
• DWH. Нужен? Какая модель данных? Какие основные сущности будут?
• Качество данных. на каком этапе, какие тулзы, что покрыть
• Мониторинг. Что мониторить, как мониторить?
• Batch Processing. Как будет организована загрузка? Как выглядит инициализирующая / инкрементальная загрузка? Как ускорить загрузку?
• Оркестрация, как организовать, на каком этапе?

Как готовиться 😺
Курс/книги по системному дизайну (educative / карпов / System Design Interview от Alex Xu), общие книги по дата инженерии (Fundamentals of Data Engineering / DDIA) и более глубокое погружение в конкретные темы, которые могут всплыть.

Если времени не много, попробовать поделать мок интервью и по фидбеку пытаться что-то доизучить, но мок-интервьюеры смотрят на то, что интересно им, и могут упустить часть вещей. Я также провожу их в рамках моих менторинг сессий =)
Please open Telegram to view this post
VIEW IN TELEGRAM