Утопии данных не существует, не существует мифической зрелой организации, в которой хранилище данных было бы идеальным, и всегда будут возникать проблемы с данными. Но мы, инженеры данных, имеем возможность и несём ответственность за устранение неполадок, создание отличного хранилища данных и обеспечение доступности данных для компании.
Напомню, что рассмотрели:
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