5 minutes of data
1.89K subscribers
189 photos
4 videos
2 files
509 links
I’m making my life less dull by spending time learning and researching “how it works“ in the data engineering field.

Интерактивный учебник SQL
https://querynomic.one/#/

по всем вопросам @just_vanich
Download Telegram
В Dbeaver есть полезная фича "SQL Templates"
чтобы каждый раз не вводить основные команды, можно пользоваться готовыми шаблонами,
что значительно ускоряет написание скриптов.
По дефолту уже настроено 5 шаблонов, так же можно добавлять свои.

https://dbeaver.com/docs/wiki/SQL-Templates/

а вот здесь есть шаблоны для разных БД, можно импортировать к себе

https://gitlab.com/davidhooey/dbeaver_templates
👍5
Hypermodern Python

Не только virtualvenv живет питон.

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

Там под катом 6 статей, но как по мне выходит слишком сложно, в свой проект я бы такое не потянул.
👍2
Небольшой опрос?
Как вы разделяете код и даги в airflow/prefect/dagster
Anonymous Poll
19%
Все пишу в даг
77%
Разделяю логику и исполнение
3%
Свой ответ в комментах
Если для языков программирования есть стайлгайды, как пример PEP 8 для питона, то в мире SQL все не так однозначно.
Каждая компания вводит свой стайлгайд, работал я в местах, где к примеру запрещены триггеры, работал там, где вообще нет стайлгайда, но все же основные принципы форматирования SQL кода полезно знать и вот один из них.

тык
🫡3
Vizro — это набор инструментов для создания модульных приложений визуализации данных. Он позволяет пользователям создавать индивидуальные информационные панели за считанные минуты без необходимости продвинутого программирования или опыта проектирования. Vizro поддерживает конфигурации, написанные в моделях Pydantic, JSON, YAML, словарях Python и т. д.
1
Tech interview questions

Интересное репо.
Тщательно подобранные технические инженерные вопросы опытными инженерами, которые провели множество собеседований.
👍2
Storage challenges in the evolution of database architecture

Команда инженеров Postman решила проблему с хранилищем в сервисе синхронизации, который работал с 2014 года и сталкивался с ограничениями физического хранилища в кластере AWS RDS Aurora. Первоначально команда попыталась удалить старые записи, чтобы освободить место, но обнаружила, что это не работает должным образом из-за определенных ограничений. Затем они разработали подход к освобождению таблиц без ущерба для надежности системы, в результате чего было освобождено 60 ТБ пространства.
Делал как то перевод статьи
с сайта stratascratch.

Лучшие практики написания SQL-запросов: Как структурировать свой код.

В этой статье основное внимание уделяется тому, как правильно писать SQL-запросы и как их можно улучшить, в частности, когда речь идет о производительности и читаемости.

В заключение, вот еще раз список лучших практик написания SQL-запросов:

- Удалить несколько вложенных запросов
- Обеспечьте согласованность псевдонимов
- Удалите ненужные предложения ORDER BY
- Удалить ненужные подзапросы
- Если возможно, используйте WHERE, а не HAVING.
- Отформатируйте свой код в соответствии с лучшими практиками
👍2
Нужно ли проводить крупные айти конференции?

Вопрос спорный и вызовет много подгорания, как с одной так и с другой стороны.

Как пример вы рабогатеет в условном гугле,крупнейшие компания мира.
Вам как спикеру выгодно выступать, (AZURE Fabric)
делаете свой бренд,
возможно появится очередная школа))
Которые покажут на конференции ни кому не нужный фрэймворк.

Пример разраба из провинции, денег ходить по офлайн выставкам нет, а те что смотрит, его прошлагодние запуски, которые уже не актуальн, знания получается обрывочные, а чаще всего это набор базовых вебринаров.
И стоит наш разраб из провинции и думу, как ему быть?
В банке на Informativa и Oracle за 300к или же ваш модные дата сэтки, но перспиктивы туманные)(уже момент проебали со все модорным западныЬ

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

Поэтому, как многие говорят не гонитесь за хайпом учите технологии,.

Хотя у нас хватает замечательных лекций от Института Биоинформатики
👍2🤔2
Database migrations

Миграция баз данных может быть одной из самых неприятных проблем для инженера. При миграции базы данных следует учитывать массу вещей. В этой статье обсуждаются сложности, возникающие при миграции баз данных. В нем рассказывается, почему они могут быть трудными, почему никто не хочет с ними работать, различные сценарии, время простоя и многое другое. Статья завершается списком лучших практик.
👍1
Pull-Request в FastApi вышли из под контроля.

Хороший инструмент, но все это становится похожим на абсурд.
Уже почти 500PR, это в 2 раза больше чем к ядру Linux.
Уязвимости в безопасности, который не закрыты уже 2 года.

Весь бомбежь начался в одном сабреддите.

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

#FastApi
👍2
Python не отстает от JS в создании новых фрэймворков.

FastStream - это фрэймворк
для создания асинхронных сервисов, взаимодействующих с потоками событий.

FastStream упрощает процесс написания producers и consumers для очередей сообщений,
автоматически выполняя весь анализ, работу в сети и генерацию документации.

#python
👍1
Lightdash - это open-source BI платформа, созданная как альтернатива Looker.

Lightdash легко интегрирует визуализацию данных со слоями моделирования и преобразования, создавая единый источник показателей данных для команд. Он предлагает быстрый переход от проектов dbt к комплексной платформе BI, позволяя предоставлять аналитику для всей организации.

Есть как платная версия в облаке, так и self-hosted

#bi
Netflix Tech Stack - Databases

Команда инжинеров Netflix выбирает различные базы данных
для обеспечения возможности потоковой передачи в больших масштабах.

В качестве реляционной базы данных: Netflix выбирает MySql
для выставления счетов, подписок, налогов и доходов.
Они также используют CockroachDB для поддержки многорегиональной архитектуры,
глобальных транзакций и data pipeline workflows.

Колоночные базы данных: Netflix в основном использует их в аналитических целях.
Они используют Redshift и Druid для структурированного хранения данных, Spark и конвейерную обработку данных,
а также Tableau для визуализации данных.

В качестве key-value базы данных: Netflix в основном использует EVCache,
построенный на основе Memcached. EVCache работает с Netflix более 10 лет
и используется для большинства сервисов, кэшируя различные данные,
такие как домашняя страница Netflix и персональные рекомендации.

Wide-column база данных: Cassandra обычно является выбором по умолчанию в Netflix.
Они используют его практически для всего, включая информацию о видео/актере,
пользовательские данные, информацию об устройстве и историю просмотров.

Time-series база данных: Netflix создал базу данных в памяти с открытым исходным кодом
под названием Atlas для хранения и агрегирования показателей.

Неструктурированные данные: S3 является выбором по умолчанию и хранит практически все,
что связано с файлами изображений, видео, показателей и журналов. Apache Iceberg также используется с S3 для хранения больших данных.
Не так давно я писал про PeerDb.

Подъехали бенчмарки, где сравнивают PeerDb и Airbyte.

На обработку 1.5 тб данных, точнее перегнать их в Snowflake:
Airbyte заняло 83 часа
PeerDb заняло 5 часов.

А по заявлениям ребят из PeerDb, Fivetran будет медленнее чем Airbyte.

Такая скорость в PeerDb достигается, за счёт параллелизма.

Подробнее тут.
Подготовил лонгрид:
Правда о Airflow, Prefect, Dagster и Mage.

Добро пожаловать под кат.

тык
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
How do companies ship code to production?
👍6
Шаг 1. Процесс начинается с того, что владелец продукта создает пользовательские истории на основе требований.

Шаг 2. Команда разработчиков собирает пользовательские истории из бэклога и запускает их в спринт в течение двухнедельного цикла разработки.

Шаг 3. Разработчики помещают исходный код в репозиторий кода Git.

Шаг 4: В Jenkins запускается сборка. Исходный код должен пройти модульные тесты, порог покрытия кода и шлюзы в SonarQube.

Шаг 5. После успешного завершения сборки она сохраняется в артефакте. Затем сборка развертывается в среде разработки.

Шаг 6. Над разными функциями может работать несколько команд разработчиков. Функции необходимо тестировать независимо, поэтому они развертываются на QA1 и QA2.

Шаг 7. Команда контроля качества выбирает новые среды контроля качества и выполняет тестирование качества, регрессионное тестирование и тестирование производительности.

Шаг 8. Как только сборки QA проходят проверку команды QA, они развертываются в среде UAT.

Шаг 9. Если тестирование UAT пройдет успешно, сборки станут кандидатами на выпуск и будут развернуты в производственной среде по графику.

Шаг 10. Команда SRE (Site Reliability Engineering) отвечает за production мониторинг.
System design 101

Этот репозиторий содержит руководство, объясняющее сложные системы с помощью визуальных средств и простых терминов. Он предназначен для людей, готовящихся к собеседованию по проектированию систем, или для тех, кто хочет просто понять, как системы работают под поверхностью. В руководстве рассматриваются протоколы связи, CI/CD, шаблоны архитектуры, архитектура микросервисов, платежные системы и многое другое.
👍54
У dagster, тот что убийца airflow есть достаточно не плохой блог, где они рассказывают про best practices в дата инжиниринге.

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

Part 1: Python Packages: a Primer for Data People (part 1 of 2)

Part 2: Python Packages: a Primer for Data People (part 2 of 2)

Part 3: Best Practices in Structuring Python Projects

Part 4: From Python Projects to Dagster Pipelines

Part 5: Environment Variables in Python

Part 6: Type Hinting

Part 7: Factory Patterns

Part 8: Write-Audit-Publish in data pipelines

Part 9: CI/CD and Data Pipeline Automation (with Git)
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Лучшие способы проверить функциональность системы

Тестирование функциональности системы,
является важным шагом в разработке программного обеспечения и процессах проектирования.

Оно гарантирует, что система или программное приложение работают должным образом,
соответствуют требованиям пользователя и работают надежно.

Здесь мы рассмотри лучшие основные способы тестирования:

Модульное тестирование: обеспечивает правильную работу отдельных компонентов кода по отдельности.

Интеграционное тестирование: проверяет, что различные части системы работают без сбоев.

Тестирование системы: оценивается соответствие всей системы требованиям пользователя и производительности.

Нагрузочное тестирование: проверяет способность системы справляться с высокими рабочими нагрузками и выявляет проблемы с производительностью.

Тестирование на ошибки: оцените, как программное обеспечение обрабатывает неверные входные данные и ошибочные состояния.

Автоматизация тестирования: автоматизирует выполнение тестовых примеров для повышения эффективности, повторяемости и уменьшения количества ошибок.

Как вы подходите к тестированию функциональности системы в своих проектах по разработке программного обеспечения?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2