Data Engineering / reposts & drafts
34 subscribers
227 photos
22 videos
40 files
557 links
Download Telegram
Forwarded from 5 minutes of data
SQL or Death? Seminar Series – Spring 2025

Университет Carnegie Mellon проведет серию интересных семинаров. И аналогию для SQL написали тоже очень интересную.

Предположим, кто-то с 1970-х годов натирает свое тело бензином. Вы бы вышли замуж за этого человека, даже если бы от него ужасно пахло? Но предположим, что этот человек начинает принимать душ каждый день, чтобы пахнуть немного лучше. Они также отлично ладят практически со всеми на планете и зарабатывают много денег. А как насчет того, чтобы выйти замуж за этого человека сейчас? Это вопрос, с которым мы сталкиваемся сегодня в мире баз данных. SQL 50 лет. Сначала он пах как-то странно, но с годами стал лучше. Было много попыток заменить его, но ни одна из них не увенчалась успехом.

Группа исследования баз данных Университета Карнеги-Меллон изучает этот вопрос. В докладах этой серии будут представлены идеи о том, как (1) заставить SQL работать как можно быстрее, или (2) заменить SQL чем-то лучшим.


Все семинары проходят в Gates Hillman Center 6501 и транслируются онлайн через Zoom.

📅 Следите за обновлениями расписания выступлений на официальном сайте: https://db.cs.cmu.edu/seminar2025/
Forwarded from 5 minutes of data
𝐃𝐞𝐥𝐭𝐚 𝐋𝐚𝐤𝐞 𝐯𝐬. 𝐀𝐩𝐚𝐜𝐡𝐞 𝐈𝐜𝐞𝐛𝐞𝐫𝐠:

Пост на substack

TLDR

🔹 Delta Lake создан для Spark-heavy workflows , предлагает тесную интеграцию с Databricks и беспрепятственный прием потоковой передачи.

🔹 Apache Iceberg спроектирован с учетом совместимости нескольких движков, что делает его идеальным выбором для команд, совместно использующих Spark, Trino, Flink и Snowflake. Метаданные имеют значение.

Распределенная модель Iceberg легко масштабируется, а журнал транзакций Delta Lake может создавать узкие места за пределами Spark.

Эволюция схемы? Iceberg позволяет изменять столбцы без перезаписи данных, а Delta требует явных действий по слиянию.

Разделение? Айсберг автоматически адаптируется; Delta нуждается в предварительно определенных разделах, что часто требует дорогостоящей перезаписи.

🚀Преимущество в производительности? Iceberg представляет файлы Puffin для расширенной оптимизации запросов, чего не хватает Delta Lake.

💡 Что выбрать? Если вы ставите олл-ин на Spark и Databricks, выбирайте Delta.

Нужна межплатформенная гибкость? Айсберг побеждает.

А с каким табличным форматом работаете вы?

@data_whisperer
А как выглядит ваша репа dbt?

В начале внедрения мы несколько раз меняли подходы к размещению и именованию объектов в dbt и в итоге со временем выработали свой подход и обоснование, почему всё так. А потом года через 2 к нам пришел очень классный человек Антон и вполне обосновано не согласился - у него был свой опыт и свое обоснование.

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

Но каждый раз когда аналитики открывают репу их встречает вот такая пугающая картина, и она мало связана с sql :)

Тащу все наши проекты dbt (сейчас их 6) в новый гитлаб с новым ci, с новыми окружениями и тестированием. Опять же переход с тестирования на баше в обвязку на питоне смотрится приятно.
Системный дизайн — это основа для создания надежных, масштабируемых и производительных систем обработки данных. Он помогает выбирать подходящие инструменты для ETL/ELT, проектировать хранилища, оптимизировать запросы и ресурсы. Без него сложно обеспечить отказоустойчивость, безопасность и интеграцию потоков данных.

Подборка с YouTube по Системному дизайну
▫️PlayList System Design (Interview Pen) - English
▫️Data Engineer тренирует System Design секцию. Собеседует @halltape | rzv_de | Aug 2024
▫️System Design - теория шардирования | Как масштабировать базы данных
▫️Как кэшировать данные | Теория кэширования - System Design
▫️Проектирование баз данных за 40 минут. Практика
▫️PlayList Системный дизайн (Eugene Suleimanov)
▫️PlayList System Design Fundamentals (ByteByteGo)
▫️Как подготовиться и пройти System Design Interview. Александр Поломодов
▫️Владимир Маслов — System Design. Как построить распределенную систему и пройти собеседование
Iceberg - набирающий популярность формат данных поддерживающий конкурентное обновление, DML, эволюцию схемы, скрытое партицирование и другое.

Расширил статью по типам хранения данных orc, parquet еще и на iceberg:
https://blog.skahin.ru/2019/08/orc.html#iceberg
- Схема формата данных
- Конкурентный доступ
- Улучшение партицирования
- Версионирование
- Компакция и распределение
Чтобы что-то в каталоге нашлось, нужно что-то в каталог добавить! ☝️

Что же мешает данным оказаться в нём? «Метаинформационное налогообложение». Это оплата усилий, необходимых для документирования и ввода метаданных. А так как эффективный дата-каталог критически важен для успеха бизнеса, платить этот «налог» придётся.

🔍 Как найти тех, кто будет его (и данные) собирать, и как оптимизировать «налог» — то есть снизить затраты? Читайте в нашей статье про киллер фичи дата-каталогов.

https://t.iss.one/avito_data_tech/134?comment=303 #DataCatalog
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Trino #dbt #Сходства #отличия
Trino vs dbt: что и когда использовать


Что общего между Trino и dbt, чем они отличаются и в каких случаях выбирать тот или иной инструмент для инженерии и анализа данных. Краткий ликбез для начинающего дата-инженера и аналитика.

Сходства и отличия Trino и dbt
Trino и dbt (Data Build Tool) — это два популярных инструмента с открытым исходным кодом для задач инженерии и анализа данных. Несмотря на некоторые сходства, они применяются в разных сценариях. В частности, Trino — это распределённый движок с массово-параллельной архитектурой для выполнения SQL-запросов к разным, в. т.ч. нереляционным, источникам.
Статья
Курсы:
TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#Проекции #ClickHouse #СУБД
Проекции в ClickHouse

Зачем создавать разные проекции таблиц в базе данных и как это работает в Clickhouse: практический пример с агрегатным запросом. Возможности и ограничения механизма проекций в колоночной аналитической СУБД.

Что такое проекции и как они реализованы в ClickHouse
Поскольку основное назначение ClickHouse – аналитика больших объемов данных в реальном времени, это колоночное хранилище поддерживает различные механизмы оптимизации аналитических запросов. Одним из них является механизм проекций. Проекция – это простая операция реляционной алгебры для выбора определенных столбцов из таблицы при получении данных, исключая другие.
Статья
Курсы:
CLICH
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#Trino #объектные #хранилища
Как Trino работает с удаленными объектными хранилищами

Зачем Trino использует внешние таблицы при запросах к данным в объектных хранилищам и удаленных файловых системах, чем они отличаются от внутренних и как повысить производительность таких SQL-запросов с помощью кэширования.

Доступ из Trino к данным в объектных хранилищах
Помимо реляционных и нереляционных баз данных, Trino позволяет делать распределенные запросы и к файлам, хранящимся в объектных хранилищам AWS S3, Google Cloud Storage, Azure Storage, а также в распределенных файловых системах HDFS и Alluxio.
Статья
Курсы:
TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#Celery #AirFlow #исполнитель
Очереди задач исполнителя Celery в Apache AirFlow

Как работает исполнитель Celery в Apache AirFlow, зачем ему очередь сообщений и каким образом это помогает масштабировать параллельное выполнение задач.

Как работает исполнитель Celery в Apache AirFlow
Именно исполнитель (Executor) в Apache Airflow отвечает за выполнение задач в рабочих процессах, определяя их локацию и последовательность, а также использование ресурсов. Хотя вариантов исполнителей есть несколько, на практике для запуска удаленных задач наиболее часто используются Celery и Kubernetes. Подробно об этом мы писали здесь.
Статья
Курсы:
AIRF
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#Citus #PostgreSQL #расширение
Почему расширение Citus для PostgreSQL не превратит его в Greenplum?

Как расширение Citus повышает производительность PostgreSQL, организуя распределенный кластер с помощью шардирования и почему этого недостаточно для эффективных OLAP-запросов как в Greenplum.

Что такое Citus для PostgreSQL
Поскольку Greenplum представляет собой массив отдельных баз данных PostgreSQL 12, работающих вместе для представления единого образа базы данных, у тех, кто знакомится с Greenplum впервые, возникает вопрос, в чем отличие этих СУБД.
Статья
Курсы:
GPDE GRAD
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#ETL #конвейер #Flink #CDC #пример #YAML
ETL-конвейер с Flink CDC: пример YAML-конфигурации

Как описать ETL-конвейер захвата, преобразования и передачи изменения данных в YAML-файле: пример конфигурации Flink CDC из PostgreSQL в Elasticsearch.

ETL-конвейер Flink CDC в YAML-файле
Apache Flink позволяет строить надежные конвейеры обработки данных, используя не только с внутренние API, но и с помощью дополнительных компонентов. Одним из таких компонентов является Flink CDC – инструмент интеграции потоковых данных, который позволяет пользователям описывать логику ETL-конвейера в YAML-файле, автоматически генерировать настраиваемые операторы фреймворка и отправлять задания на исполнение.
Статья
Курсы:
FLINK
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#Trino #кластер #настройка #конфигурации
Безопасность в кластере Trino: настройка конфигураций на примерах


Где и как задавать настройки безопасного доступа клиента к кластеру Trino, каким образом обеспечить безопасность внутри кластера и защитить доступ к внешним источникам данных: примеры конфигураций.

Как настроить безопасную работу кластера Trino

По умолчанию в Trino не включены функции обеспечения безопасности. Однако, это можно настроить для различных частей архитектуры фреймворка:
Статья
Курсы:
TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#Kubernetes #Argo #Rollouts
Управление развертыванием контейнерных приложений в Kubernetes с Argo Rollouts

Сложности развертывания контейнерных stateful-приложений и как их решить с Argo Rollouts и Kubernetes Downward API: примеры YAML-конфигураций канареечного развертывания Spark-приложения.

Расширение стратегий развертывания в Kubernetes с Argo Rollouts
Мы уже писали, в чем сложности оркестрации параллельных заданий на платформе Kubernetes и как их можно решить с помощью Argo Workflows — контейнерного движка рабочих процессов с открытым исходным кодом. Однако, помимо Argo Workflows, в экосистеме Argo есть еще один полезный инструмент, который пригодится для управления контейнерными распределенными приложениями — Argo Rollouts.
Статья
Курсы:
MK-K8S
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"