DON'T STOP AND CODE
93 subscribers
41 photos
1 video
1 file
109 links
Мой путь в программировании
#python

Для связи: @avagners
Download Telegram
Бэкап или Откат?

Бэкап представляет собой файлы, в которых содержится инструкция, как восстановить сохранённую копию БД. Например, в PostgreSQL есть утилита pg_dump. Она генерирует файл с SQL-запросами для создания таблиц и вставки в них данных.

Откат изменений — это более сложный процесс восстановления БД к исходному состоянию. Откат отменяет те изменения, которые были внесены. Для каждого действия в БД можно найти противоположное действие. Если была добавлена новая колонка, то скрипт отката должен содержать алгоритм удаления этой колонки. Он может быть осуществлён скриптами или с помощью утилит. Скрипты должны учитывать алгоритм миграции и все временные таблицы. Существуют специальные приложения, которые позволяют выполнять миграции, версионировать БД и откатывать изменения, например системы контроля версий Liquibase и Flyway.
🔥4
Очень смешно))
😁6
Доброй субботы, друзья! 👨‍💻
🔥32
Слои в корпоративном хранилище данных (КХД).

- Слой Raw (от англ. «сырой») — слой сырых данных. Исходные данные сохраняются, чтобы можно было сделать дополнительные ETL-процессы без перевыгрузки информации из систем-источников.

- Слой ODS (от англ. Operational Data Store — «хранилище операционных данных»). В рамках этого слоя сырые данные очищаются от технической информации: даты обновления строк, изменение полей и др. Состояние данных близко к источнику, но с ними уже могут работать аналитики.

- Слой DDS (от англ. Detail Data Store — «хранилище детализированных данных»). В этом слое готовятся справочники со всей нужной информацией по компании, нормализируются данные, создаются ключи связей, чтобы было удобнее использовать информацию из разных источников.

- Слой CDM (от англ. Common Data Marts — «общие витрины данных»). Здесь собираются широкие витрины с агрегатами и показателями с детализацией вплоть до пользователя. Данные поступают в витрины по регламенту из источников DDS слоя.

- Слой REP (от англ. Reporting — «отчётность»). Отсюда данные отправляются, например, в BI или автоматизированные боты, чтобы пользователи получили готовые отчёты. Данные в REP отличаются тем, что они готовятся для конкретной задачи. Данные же в слое CDM постоянно переиспользуются.

Описанные слои не являются обязательными для процесса обработки, всё зависит от целей и особенностей компании и её данных.

Чаще всего можно увидеть менее объёмную схему обработки данных:

Источник данных → слой Raw → слой ODS → слой CDM

👨‍💻
👍2
Друзья, делаю 2D игру на Python.

Для закрепления и отработки ООАП решил сделать игру-платформер.

Буду использовать игровой движок https://github.com/pythonarcade/arcade.

Цель: сделать игру на 20+ классов.

Пожелайте мне удачи. =)
👍4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Проектирование ETL процесса👨‍💻

1) Сколько слоев данных в хранилище?
- чаще всего встречаются слой стейджинга и витрины данных, реже — слой детальных интегрированных данных;
- стейджинг нужен для хранения данных в формате системы-источника, витрина данных — для хранения данных в виде измерений и фактов;
- для каждого из слоёв создается отдельная модель данных;

2) Какой тип загрузки больше всего подходит?
- инкрементальная загрузка - обрабатывает только ту порцию данных, которая изменилась по отношению к прошлой загрузке, тем самым сокращая объём обрабатываемых данных;
- полный пересчет - в большинстве случаев применяется для обработки небольших объёмов данных;
- архивная загрузка - загрузки архивных данных за прошедшие периоды;

3) Какие алгоритмы преобразования нужно применить?
- маппинг, или S2T - это документ, который отражает трансформации полей источника на поля приёмника;

4) Как данные связаны между собой и какую последовательность загрузки выбрать?
- измерения всегда загружаются в первую очередь;
- факты загружаются после измерений, так как используют их данные;
- проверить таблицы с измерениями, чтобы понять, нет ли в них связей между собой;

5) Проектируем систему восстановления.
- в случае сбоев процессы должны продолжать свою работу с момента падения;
- нужно настроить проверку статуса загрузки — загружался ли объект ранее;
- нужно настроить сохранение статуса загрузки — в случае успешной загрузки об этом должна создастся запись;
🔥4
Архитектура компонентов Airflow
👍2🤔1
Путь задачи в Airflow
2👍2
#мысли

Главная задача специалиста по работе с данными: "Помогать бизнесу. Мы помогаем бизнесу быть эффективнее!".

Я бы сказал, что это относится не только к инженерам данных, но и ко всем разработчикам. Мы пишем код не ради кода. Не соревнуемся в сложности решения той или иной задачи, а всегда помним про главную задачу.

Бизнес зарабатывает - мы получаем ЗП. Все довольны.

И при поиске работы мы должны рассказывать не про скиллы, а про ценность, которую мы смогли внести в бизнес.

Важно понимать, как именно работа проделанная дата инженером влияет на то, что происходит с бизнесом.
👍3🔥32
MindMap Инженера данных👨‍💻
👍2👌21
Нашел великолепный ресурс по Data Engineering: https://dataengineering.wiki/

Обязательно к изучению!
🔥4
Как вам такое рабочее место?😍
🔥3🥰1👌1
#словарик

Redis - хранилище данных, применяемые как очереди сообщений;

Apache Kafka - очереди сообщений с соответствующим базам данных уровнем надежности;
👍3
Супер инфа по оптимизации SQL🔥🔥🔥
👌5
Перевалило за 1000 коммитов на github. =)

Кто не подписан, давай подпишемся друг на друга.🤓

https://github.com/avagners
🔥4🎉1
Друзья, теперь я работаю в Райффайзенбанк! 🔥🔥🔥
🔥7👏2
Уровни изоляции транзакций👨‍💻
👍3
Для меня этот год является годом открытий. 😌

1) Пошёл в зал. Занимаюсь с тренером. Результат огонь🔥🔥🔥.

2) На работе выдали macbook pro 16 на M1. Впервые пользуюсь продукцией эпл. 👨‍💻

3) Прошёл курс массажа. Поправил хорошенько спину. 💪

4) Сломал 2 руки. Попробовал ДМС. Услуги в частной клинике на высоте. Никогда прежде не использовал ДМС, хотя мне все предыдущие работодатели их оформляли. ДМС понравилось)😅

Вот такие дела)
🔥4🤔1🙏1