Если заинтересованные стороны будут знать, зачем, что и как нужно делать для создания хранилища данных, они будут с интересом (или, по крайней мере, с пониманием) относиться к потенциальным обновлениям, которые облегчат им жизнь. Можно создать безупречное хранилище данных, но если команда разработчиков не донесет его необходимость и важность до широкой аудитории в компании, оно никогда не станет главным приоритетом для руководства. Чем больше вовлечённость заинтересованных сторон, тем больше ресурсов (времени, инженеров) ты получишь.
Четыре шага, которые позволят тебе максимально увеличить шансы на создание эффективного хранилища данных:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4
Ты можешь контролировать то, над чем работаешь, но если ты заметил эти (в дополнение к обычным признакам) красные флаги и они не меняются, лучше перейти на новую работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4
Утопии данных не существует, не существует мифической зрелой организации, в которой хранилище данных было бы идеальным, и всегда будут возникать проблемы с данными. Но мы, инженеры данных, имеем возможность и несём ответственность за устранение неполадок, создание отличного хранилища данных и обеспечение доступности данных для компании.
Напомню, что рассмотрели:
1. Понять суть бизнеса
2. Сделать данные удобными для использования с помощью правильной модели данных
3. Хорошие входные данные необходимы для хорошего хранилища данных
4. Определить источник истины (SOT) и проследить его использование
5. Держать заинтересованные стороны в курсе событий для достижения большего эффекта
6. Следить за "красными флагами" на уровне организации 🚩
В следующий раз, когда ты будешь создавать/совершенствовать хранилище данных, используй приведённые выше концепции в качестве отправной точки для создания хранилища данных, которое будет работать без сбоев и с удовольствием.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
DE
1️⃣ Понимай бизнес
Прежде чем приступить к проектированию любой системы, необходимо в первую очередь узнать, как твоя компания зарабатывает деньги. Понимание экономических аспектов деятельности компании, таких как её клиенты, партнёры и продаваемые продукты…
Прежде чем приступить к проектированию любой системы, необходимо в первую очередь узнать, как твоя компания зарабатывает деньги. Понимание экономических аспектов деятельности компании, таких как её клиенты, партнёры и продаваемые продукты…
❤🔥6
Представь, что ты построила из лего большую замечательную коробку для хранения своих игрушек. Эта коробка упорядочивает твои игрушки: куклы в одном углу, машинки в другом, кубики в третьем и так далее. В SQL (языке запросов для баз данных) такие "коробочки" называются таблицами.
Теперь, чтобы что-то изменить в конструкции этой коробки, например, добавить еще один отсек или разделитель, тебе нужно использовать специальные блоки и инструменты. В мире баз данных это называется DDL, что означает "язык описания данных".
Давай разберемся, как работает DDL:
Каждое действие с DDL, это как специальное волшебное заклинание, которое изменяет структуру твоей "коробочки" точно и аккуратно, точно как тебе нужно. Все эти изменения помогают лучше упорядочивать информацию (твои игрушки), чтобы ты могла легко найти то, что тебе нужно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4
Forwarded from Афонасьев Евгений - IT, Python и вот это все
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
CPython internals
- https://devguide.python.org/internals/compiler про компиляцию python кода в байткод
- https://devguide.python.org/internals/interpreter/ как работает интерпретатор
Разблокируй это! Что такое 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 в высоконагруженной системе, где жизненно необходимо чтобы система была отказоустойчивой, масштабируемой и при это не сильно сложной. Рекомендую для ознакомления.
Люблю статьи про реальные кейсы использования технологий. Давеча встретил статью Apache Airflow at Adyen: Our journey and challenges to achieve reliability at scale. Adyen это известная в узких кругах платёжная система (кажется даже публичная компания). Статья про использование Airflow в высоконагруженной системе, где жизненно необходимо чтобы система была отказоустойчивой, масштабируемой и при это не сильно сложной. Рекомендую для ознакомления.
Medium
Apache Airflow at Adyen: Our journey and challenges to achieve reliability at scale
A blog post by Jorrick Sleijster and Natasha Shroff
❤🔥3
Forwarded from DataEng
Apache Kafka For Python Developers
Бесплатный курс по работе с Apache Kafka через Python: https://developer.confluent.io/courses/kafka-python/intro/
Бесплатный курс по работе с Apache Kafka через Python: https://developer.confluent.io/courses/kafka-python/intro/
Confluent
Introduction to Python for Kafka
In this lecture, you will learn why Python has become such a popular language for developing real time event streaming applications that take advantage of the Apache Kafka platform.
❤🔥5