Data Engineering / Инженерия данных / Data Engineer / DWH
1.92K subscribers
49 photos
7 videos
52 files
349 links
Data Engineering: ETL / DWH / Data Pipelines based on Open-Source software. Инженерия данных.

DWH / SQL
Python / ETL / ELT / dbt / Spark
Apache Airflow

Рекламу не размещаю
Вопросы: @iv_shamaev | datatalks.ru
Download Telegram
🚀 Изучаем SQL индексы!

Индексы в базах данных — это структуры, которые помогают ускорить поиск и извлечение данных.

Вот основные типы индексов:
B-Tree индексы: Наиболее распространённый тип индексов. Используется для диапазонного поиска и поддерживает сортировку данных. Работает по принципу сбалансированного дерева.
Hash индексы: Используются для быстрого поиска по точному совпадению. Не поддерживают диапазонные запросы, но могут быть очень быстрыми для конкретных значений.
GiST (Generalized Search Tree): Позволяет создавать индексы для сложных типов данных, таких как географические данные. Поддерживает множество операций поиска.
GIN (Generalized Inverted Index): Эффективен для индексации массивов и полнотекстового поиска. Использует инвертированный индекс, что делает его подходящим для текстовых данных.
Кластеризованные индексы: Определяют физический порядок хранения данных в таблице. То есть физически сортирует строки таблицы в соответствии с индексом. Обычно создаются на первичном ключе и позволяют значительно ускорить чтение данных.
Некластеризованный индекс (Nonclustered): Создаются отдельно от основной таблицы и содержат указатели на строки данных. Позволяют создавать несколько индексов для одной таблицы.
Составные индексы: Индексы, которые включают несколько колонок таблицы. Полезны для запросов, которые фильтруют данные по нескольким полям.


В этом посте собраны полезные статьи и видео на YouTube о SQL индексах, которые помогут вам разобраться в этой важной теме:

📌 Статья: Влияние индексов БД на производительность выборки данных
📌 Статья: Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?
📌 YouTube: Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами
📌 YouTube: ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
📌 YouTube: Как устроен B-TREE индекс в базах данных
📌 YouTube: EXPLAIN в базах данных за 10 минут
📌 YouTube: Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
📌 YouTube: Оптимизация запросов с помощью индексов
📌 Статья: 14 вопросов об индексах в SQL Server, которые вы стеснялись задать

#Индексы #btree #hashindex #index
🔥3👍1
How Uber Manages Petabytes of Real-Time Data (en)

В статье описывается, как Uber эффективно обрабатывает телеметрию с миллионов устройств, используя Apache Kafka и Flink для потоковой обработки, и как она поддерживает низкие задержки при высоких объемах данных.
Отдельно описан механизм репликации данных.

https://blog.bytebytego.com/p/how-uber-manages-petabytes-of-real
Гайд по логированию за 12 минут

▫️Вы узнаете, что такое логи, зачем они нужны и как правильно их использовать.
▫️Как настроить логи с помощью библиотек, вместо простого вывода на консоль, чтобы не потерять данные.
▫️Уровни логирования (INFO, DEBUG, ERROR).
▫️Как интегрировать логи с ElasticSearch и использовать их в Spring проектах.

https://youtu.be/KHS8hPh8mtU?si=IIBATXhg3KhsOn4u
👍2
OReillys Data Quality Fundamentals 2022.pdf
9.7 MB
OReillys Data Quality Fundamentals 2022.pdf

📌 Build more trustworthy and reliable data pipelines
📌 Write scripts to make data checks and identify broken pipelines with data observability
📌 Learn how to set and maintain data SLAs, SLIs, and SLOs
📌 Develop and lead data quality initiatives at your company
📌 Learn how to treat data services and systems with the diligence of production software
📌 Automate data lineage graphs across your data ecosystem
📌 Build anomaly detectors for your critical data assets

#DataQuality #SLA #SLI #SLO #DataAssets #DataLineage
👍4
Spark_v_deystvii.pdf
14.5 MB
Spark в действии.pdf

О книге👇

Анализ корпоративных данных начинается с чтения, фильтрации и объединения файлов и потоков из многих источников. Механизм обработки данных Spark способен обрабатывать эти разнообразные объемы информации как признанный лидер в этой области, обеспечивая в 100 раз большую скорость, чем например Hadoop. Благодаря поддержке SQL, интуитивно понятному интерфейсу и простому и ясному многоязыковому API вы можете использовать Spark без глубокого изучения новой сложной экосистемы. Эта книга научит вас создавать полноценные и завершенные аналитические приложения. В качестве примера используется полный конвейер обработки данных, поступающих со спутников NASA.

Для чтения этой книги не требуется какой-либо предварительный опыт работы со Spark, Scala или Hadoop.

#spark #scala #hadoop
👍9
Алгоритмы_и_структуры_для_массивных_наборов_данных_2023_Меджедович.pdf
63.3 MB
Алгоритмы и структуры для массивных наборов данных [2023] Меджедович Дж., Тахирович Э.pdf

Стандартные алгоритмы и структуры при применении к крупным распределенным наборам данных могут становиться медленными — или вообще не работать. Правильный подбор алгоритмов, предназначенных для работы с большими данными, экономит время, повышает точность и снижает стоимость обработки.
Книга знакомит с методами обработки и анализа больших распределенных данных. Насыщенное отраслевыми историями и занимательными иллюстрациями, это удобное руководство позволяет легко понять даже сложные концепции. Вы научитесь применять на реальных примерах такие мощные алгоритмы, как фильтры Блума, набросок count-min, HyperLogLog и LSM-деревья, в своих собственных проектах.
40_algoritmov.pdf
12.5 MB
40 алгоритмов, которые должен знать каждый программист на Python

Автор: Ахмад Имран

Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике. Вы начнете с введения в алгоритмы, от поиска и сортировки перейдете к линейному программированию, ранжированию страниц и графам и даже поработаете с алгоритмами машинного обучения. Теории не бывает без практики, поэтому вы займетесь прогнозами погоды, кластеризацией твитов, механизмами рекомендаций фильмов. И, наконец, освоите параллельную обработку, что даст вам возможность решать задачи, требующие большого объема вычислений. Дойдя до конца, вы превратитесь в эксперта по решению реальных вычислительных задач с применением широкого спектра разнообразных алгоритмов.
🔥2
Нормальные формы базы данных (YouTube)

00:00​ - О чём пойдёт речь в статье
00:45​ - Коротко о реляционных БД
01:20​ - Что такое нормализация
01:46​ - Зачем нужна нормализация БД
02:08​ - Что такое избыточность данных с примерами
04:51​ - Какие бывают нормальные формы БД и о процессе нормалиции в целом
08:00​ - Ненормализованная форма или нулевая нормальная форма с примером
09:37​ - Первая нормальная форма с примером нормализации
11:24​ - Вторая нормальная форма с примером нормализации
15:29​ - Что такое декомпозиция
16:18​ - Третья нормальная форма с примером нормализации
18:54​ - Нормальная форма Бойса-Кодда с примером нормализации
21:54​ - Четвертая нормальная форма с примером нормализации
27:45​ - Почему обычно никто не нормализует БД до 5 или 6 нормальной формы
29:14​ - Пятая нормальная форма с примером нормализации
34:23​ - Доменно-ключевая нормальная форма
35:39​ - Шестая нормальная форма
38:02​ - Выводы и заключение

https://youtu.be/zqQxWdTpSIA?si=9WUJIZbQ8Qu7QWjO
🔥4
Оконные функции.pdf
2.6 MB
Небольшая шпаргалка по оконным функциям.
Делал при подготовке к собесам
🔥72
The Bitnami Containers Library
Popular applications, provided by Bitnami, containerized and ready to launch.

Здесь можно найти примеры docker compose и других настроек для таких приложений как:
airflow, spark, vault, nginx, minio, clickhouse, kafka и многое другое

https://github.com/bitnami/containers/
🔥4
Atlas нужен для автоматизации управления схемами баз данных, позволяя легко проектировать, мигрировать и управлять ими с использованием декларативного подхода и гибкого CLI.

Проект
GitHub - ariga/atlas: Manage your database schema as code
https://github.com/ariga/atlas

Habr: Atlas — инструмент управления схемами миграций БД с открытым исходным кодом: наш опыт и ошибки создателей
https://habr.com/en/companies/flant/articles/753122/
👍2