Инжиниринг Данных
23.5K subscribers
1.98K photos
56 videos
192 files
3.2K links
Делюсь новостями из мира аналитики и карьерными советами.

15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG

🛠️ dataengineer.ru | 🏄‍♂️ Surfalytics.com

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Дельный карьерный совет - всегда обещайте поменьше, а делайте побольше (на 10%).

А не наоборот, как обычно бывает!
❤‍🔥72🤷10💯74
Concurrency (конкурентность )- одна из самых важные характеристик в базе данных. Что будет, если несколько процессов будут писать в одну таблицу? Традиционные базы данных уже научились это делать, а вот с озером данных или гибридным озером данных (lake house), не так все просто.

Когда несколько процессов одновременно пытаются записать данные в одну и ту же таблицу, это может привести к серьезным проблемам:
- Потерянные обновления (Lost Updates): Один процесс записывает данные, а второй тут же их перезаписывает, не зная о предыдущей операции.
- Несогласованные данные (Inconsistent Data): Данные могут оказаться в некорректном или неполном состоянии.
- Гонки данных (Race Conditions): Результат операции зависит от того, какой из процессов завершится первым, что делает результат непредсказуемым.

Традиционные реляционные базы данных, такие как PostgreSQL, MySQL и SQL Server, давно решили эту проблему. У них есть встроенные механизмы, которые гарантируют надежность транзакций по принципу ACID (Atomicity, Consistency, Isolation, Durability).

Они используют:
- Блокировки (Locking): Процессы временно блокируют доступ к данным, пока не завершат свою операцию.
- Управление параллельным доступом с помощью версий (MVCC): Вместо блокировки база данных создает разные версии данных. Это позволяет читателям видеть старую версию, пока новый процесс записывает новую.

Архитектура Data Lake и Lakehouse принципиально отличается. Они построены на распределенных файловых системах (HDFS, Amazon S3, Azure Blob Storage), которые изначально созданы для хранения огромных объемов данных, а не для поддержки транзакций.

Основные проблемы:
- Нет встроенной поддержки ACID: Файловые системы не поддерживают атомарные транзакции. Если запись прервется на полпути, файл может остаться поврежденным.
- Работа с файлами, а не со строками: Изменение одной строки данных может потребовать перезаписи всего большого файла, что крайне неэффективно и опасно.

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

- Delta Lake
- Apache Hudi
- Apache Iceberg

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

В статье Can 10 Spark Writers Perform Concurrent Appends to an Iceberg Table Simultaneously? автор проверил, могут ли 10 одновременных процессов Spark успешно записывать (добавлять) данные в одну и ту же таблицу Apache Iceberg.


Тест 10 параллельных Spark‑записей (`MERGE INTO`) в разные партиции Iceberg‑таблицы на S3.

Проверяется, как система справляется с одновременными обновлениями: выполняется 10 Spark‑джобов, каждый таргетит отдельную партицию, и анализируются успехи и неудачи операций.

Основные настройки Iceberg для надёжной параллельной записи:
- `commit.retry.num-retries = 20` — попыток на случай конфликтов,
- `commit.retry.min-wait-ms = 30000` — минимальная задержка между попытками,
- `write.merge.isolation-level = snapshot` — слой изоляции, гарантирующий консистентность снимков.

Результат: несмотря на возникающие ошибки во время выполнения, автоматические ретраи и snapshot‑изоляция позволяют успешно завершить все `MERGE INTO` операции, сохранив целостность данных.
❤‍🔥2313🌚4
Норм идея - малышам не давать AI ассистента, а то совсем разучатся соображать.

Или не норм, мы же живем в мире AI, все движется со скоростью света, кто не успел, тот опоздал.
1💯39❤‍🔥63🫡3🍌1
Заметил новый pattern, все аналитики (Excel, BI, SQL), которые не знали куда им деваться, и что делать - учить дата инжиниринг или data science, наконец определились и стали AI инженерами.

Возможно хороший pivot🤑
Please open Telegram to view this post
VIEW IN TELEGRAM
54🙈9🐳7🫡32😈1
Великий день для Oracle DBA, конечно если владеете акциями Oracle.

Вот коллеги из Oracle в США точно могут открывать шампанское 🥇
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
20🐳4
Вчера все поздравляли Larry… Когда я слышу Larry то почему-то вспоминаю игру Leisure Suit Larry: Love for Sail!, но тут другое….

А сегодня народ стал обсуждать интересные моменты:
- У OpenAI нет 300 миллиардов долларов.
- У них даже близко нет 300 миллиардов долларов.
- Согласно их собственным (и, вероятно, оптимистичным) прогнозам, они не выйдут на прибыль до 2030 года.
- И всё это от компании, которая считала (или заявляла), что GPT-5 будет равнозначен ИИ уровня AGI (спойлер: нет, не стал).
- К слову, у Oracle нет чипов, которые нужны для выполнения контрактов, и даже денег, чтобы их купить.

Сама статья - Peak bubble, автор Gary Marcus сравнивает AI пузырь с тюльпаноманией.

Гэри когнитивный психолог и нейроучёный, профессор в NYU. Известен как критик “чистой” масштабируемой модели ИИ, часто подчёркивающий её ограничения, и сторонник гибридных (нейро-символических) подходов.

Реально Ларри там кому-то нормально откатил, что бы так залететь на пик😌
Please open Telegram to view this post
VIEW IN TELEGRAM
💯16🫡131😈1
Forwarded from ЮMoney Tech
High SQL: практики, которые стоит забрать себе 😉

Делимся записью докладов с митапа ЮMoney о работе с базами данных.

Илья, разработчик ЮMoney и один из спикеров события, поделился, что для него главный критерий успешности доклада — новизна. Даже пересказ чужого опыта в инфотейнмент-формате не заходит так, как решение актуальных проблем отрасли.

«Судя по отклику зала, особенно зашёл доклад Миши про DG. И было интересно взглянуть на актуальный опыт ”а как у них“ от Димы», — делится Илья.

Инсайты с выступлений, которые участники унесли с собой:

🟣 Data-agnostic-подход DBT позволяет мигрировать между разными хранилищами без переписывания SQL-логики, сохраняя версионность и автоматизацию через Git и CI/CD.
🟣 Производительность БД зависит от множества факторов: выбирайте эффективные ключи, проектируйте секционирование, не стремитесь покрыть индексами все запросы и подбирайте оптимальные сценарии загрузки данных.
🟣 Контроль качества данных эффективен только при комплексном подходе: собственная система с UI/API, интеграция с каталогом и «светофором» для метрик актуальности, точности и согласованности, а также вовлечение владельцев данных, инженеров и бизнес-заказчиков.

Смотрите записи докладов на YouTube и ВКонтакте, а фотографии лежат в альбоме ™️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
14❤‍🔥6
Можно бесплатно получить книгу https://buf.build/resources/data-engineering-design-patterns

В комментариях я скачал для вас.
1❤‍🔥614
Учите JOINs!
2143🫡126🙊6🐳1🌚1💯1