DE – Telegram
524 subscribers
314 photos
81 videos
15 files
410 links
Data Engineering Technologies.
SQL, Python, Kafka, Spark, Pandas, Airflow, Clickhouse, Greenplum, Postgres, dbt, LLM agentic systems, AI, robots, drones etc.

Boost channel - https://news.1rj.ru/str/boost/data_engi
Download Telegram
Как объяснить 5-тилетней девочке работу DDL под капотом:

Представь, что ты построила из лего большую замечательную коробку для хранения своих игрушек. Эта коробка упорядочивает твои игрушки: куклы в одном углу, машинки в другом, кубики в третьем и так далее. В SQL (языке запросов для баз данных) такие "коробочки" называются таблицами.


Теперь, чтобы что-то изменить в конструкции этой коробки, например, добавить еще один отсек или разделитель, тебе нужно использовать специальные блоки и инструменты. В мире баз данных это называется DDL, что означает "язык описания данных".


Давай разберемся, как работает DDL:


1️⃣ Создание новой "коробочки" (таблицы): Это как если бы ты взяла лего и построила совершенно новую коробку для других игрушек. В SQL ты бы написала команду "CREATE TABLE", чтобы создать новую таблицу.

2️⃣ Добавление или удаление отсеков (столбцов) в "коробочке": Если ты захочешь разделить один из углов на меньшие части, чтобы там можно было хранить, скажем, твои мелкие фигурки, это как добавление новых столбцов в таблицу. В SQL ты бы использовала команду "ALTER TABLE ADD COLUMN" или "ALTER TABLE DROP COLUMN" для удаления столбца.

3️⃣ Изменение разделителей (изменение структуры столбцов): Если ты решишь, что отделение для машинок должно быть больше, чтобы поместить еще больше машинок, это как изменение свойств столбца в таблице. В SQL для этого тоже используется команда "ALTER TABLE".

4️⃣ Удаление "коробочки": Если решила, что больше не нужна тебе эта коробка, ты просто разбираешь ее на части и убираешь блоки обратно в коробку с лего. В SQL для удаления таблицы есть команда "DROP TABLE".


Каждое действие с DDL, это как специальное волшебное заклинание, которое изменяет структуру твоей "коробочки" точно и аккуратно, точно как тебе нужно. Все эти изменения помогают лучше упорядочивать информацию (твои игрушки), чтобы ты могла легко найти то, что тебе нужно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4
❤‍🔥3
Tinkoff Python Meetup - Екатеринбург
Разблокируй это! Что такое nogil?


Сегодня выступаю с докладом на первом публичном python митапе от Тинькофф. Расскажу про GIL, как он появился, зачем, и как можно от него избавиться. Надеюсь, получится интересно. Для зрителей собрал все материалы по теме в одном месте.

Полезные материалы к докладу

- Григорий Петров - GIL в Python: зачем он нужен и как с этим жить | https://www.youtube.com/watch?v=AWX4JnAnjBE | Отличный доклад на тему того, чем является GIL, и зачем он нужен
- Guido van Rossum: Will Python ever remove the GIL? | https://www.youtube.com/watch?v=m4zDBk0zAUY&t=186s | Из первых уст. Создатель языка говорит зачем появился GIL, и почему его еще не удалили
- UnderstandingGIL | https://www.dabeaz.com/python/UnderstandingGIL.pdf | доклад 2010 года от Дэвида Бизли про GIL во втором питоне, а как он изменился в третьем. Много очень интересных особенностей реализации
- PEP 703 – Making the Global Interpreter Lock Optional in CPython | https://peps.python.org/pep-0703
- Keynote: Multithreaded Python without the GIL - presented by Sam Gross | https://www.youtube.com/watch?v=9OOJcTp8dqE | Автор PEP-703 рассказывает про свой подход отказа от GIL
- Обсуждение PEP и решение о его принятии со стороны python core developers | https://discuss.python.org/t/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython/30474
- PEP 684 – A Per-Interpreter GIL | https://peps.python.org/pep-0684/ | альтернативный подход к решению проблем с GIL
- Афонасьев Евгений - А побыстрее можно? | https://www.youtube.com/watch?v=sX7nub8g3GA&list=PLRdS-n5seLRr-pYwibC3KqEdjZz_hzSUS&index=15&ab_channel=ВидеосмероприятийIT-People | доклад про оптимизации в работе с байтокодом, в рамках него я подробно рассказываю, что такое байткод и как с ним работает cpython
- Афонасьев Евгений - адаптируйся или умри | https://www.youtube.com/watch?v=yizjlvz-nfk&list=PLQC2_0cDcSKCsTQHo9lEH9cZQowiBOgS-&index=8 | в рамках доклада подробно разбирается, как работает Specializing Adaptive Interpreter

Reference Implementation

- https://github.com/colesbury/nogil-3.12
- https://github.com/colesbury/nogil

docker run -it nogil/python


pyenv install nogil-3.9.10-1


CPython internals

- https://devguide.python.org/internals/compiler про компиляцию python кода в байткод
- https://devguide.python.org/internals/interpreter/ как работает интерпретатор
❤‍🔥3
- Слушай, вот скажи мне, почему вы, разработчики, никогда не можете адекватно оценить время, необходимое для реализации проекта?
- Это очень просто. Вот смотри. Тебе надо разгрузить машину. За сколько ты управишься?
- Где-то за час.
- Это КАМАЗ.
- Четыре часа.
- Гружёный песком.
- Ну-у... часов двенадцать.
- Инструментов никаких нет, только руки и ноги.
- Ну, пару суток.
- На дворе - минус сорок.
- Четверо суток.
- КАМАЗ вообще находится под водой.
- Блин, что ты мелешь? Ты же постоянно новые условия вводишь! Надо говорить всё сразу и конкретно! И вообще, чем всякую хрень тут нести, давай-ка, быстренько оцени этот проект.
❤‍🔥13
Forwarded from DataEng
Apache Airflow в Adyen

Люблю статьи про реальные кейсы использования технологий. Давеча встретил статью Apache Airflow at Adyen: Our journey and challenges to achieve reliability at scale. Adyen это известная в узких кругах платёжная система (кажется даже публичная компания). Статья про использование Airflow в высоконагруженной системе, где жизненно необходимо чтобы система была отказоустойчивой, масштабируемой и при это не сильно сложной. Рекомендую для ознакомления.
❤‍🔥3
❤‍🔥8
🎄8
🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄5
This media is not supported in your browser
VIEW IN TELEGRAM
Top вариантов использования Kafka:

🔘 Обработка и анализ логов
🔘 Потоковая передача данных
🔘 Мониторинг и оповещения
🔘 CDC (захват данных с изменениями)
🔘 Миграции

#kafka
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🎄1