5 minutes of data – Telegram
5 minutes of data
1.89K subscribers
189 photos
4 videos
2 files
509 links
I’m making my life less dull by spending time learning and researching “how it works“ in the data engineering field.

Интерактивный учебник SQL
https://querynomic.one/#/

по всем вопросам @just_vanich
Download Telegram
Как работают C++, Java, Python?

Скомпилированные языки компилируются в машинный код компилятором.
Машинный код позже может быть выполнен непосредственно процессором. Примеры: C, C++, Go.

Язык байт-кода, такой как Java, сначала компилирует исходный код в байт-код, а затем JVM выполняет программу.
Иногда JIT-компилятор (Just-In-Time) компилирует исходный код в машинный код, чтобы ускорить выполнение. Примеры: Java, C#.

Интерпретируемые языки не компилируются.
Они интерпретируются интерпретатором во время выполнения. Примеры: Python, Javanoscript, Ruby.

Компилируемые языки обычно работают быстрее, чем интерпретируемые.
👍1
ScratchDB — это оболочка над Clickhouse,
которая позволяет пользователям вводить произвольные данные JSON и легко выполнять аналитические запросы.
Он автоматически генерирует таблицы и столбцы по мере поступления новых данных.
Less Components, Higher Performance: Apache Doris Instead of ClickHouse, MySQL, Presto, and HBase
Оригинальная статья на Medium (5 min read)


Стоит прочитать или нет? Сделали краткое содержание 🙌


Цель: Создание единой OLAP-платформы для страховой компании для выполнения задач анализа данных.

Основные задачи:
- Самостоятельный запрос на страховой контракт для клиентов.
- Многомерный анализ для аналитиков.
- Инструменты для визуализации тенденций продаж страхования.

Первоначальная архитектура: Архитектура Lambda с разделением на пакетную и потоковую обработку.

Используемые инструменты:

ClickHouse: Для чтения плоской таблицы. Столкнулись с проблемами при соединении таблиц и обновлениях в реальном времени.

MySQL: Используется для хранения метрических данных. Столкнулись с проблемами производительности при увеличении данных.

Apache Hive + Presto: Hive для пакетной обработки и Presto для интерактивного анализа.

Apache HBase: Для запросов по основному ключу. Ограниченная возможность чтения столбцов, не являющихся основными ключами.

Проблемы: Сложность из-за множества компонентов, требования к обучению и риски задержек.

Решение: Переход к Apache Doris, который предлагает:

- Анализ данных в реальном времени и в офлайн-режиме.
- Интерактивный анализ с высокой пропускной способностью.
- Запросы с высокой параллельностью.

Преимущества Apache Doris:
- Упрощенная архитектура данных.
- Сокращение человеческих усилий и затрат.
- Высокая эффективность с быстрыми ответами на запросы.
- Улучшенная доступность услуг и функции восстановления после сбоев.

#почитать
JetBrains выпустили новый продукт.

Writerside — инструмент технической документации. Он имеет множество функций, таких как встроенный пользовательский интерфейс Git, автоматические тесты, поддержка Markdown, предварительный просмотр в реальном времени и многое другое. Так же есть генерация документации для REST API.
2
Streamdal — open-source инструмент, который позволяет в режиме реального времени отслеживать следующие показатели:

🔵 Data observability

🔵 Data governance & enforcement

🔵 Data quality monitoring

🔵 Data transformation + obfuscation + masking + stripping

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

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

Так же можно почитать манифест разработчиком, зачем и какие цели решает продукт.

Выглядит на самом деле достаточно красиво и достаточно простая интеграция

#opensource
#obsevability
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1🐳1
Увидел интересный пост на Reddit.
Инструменты/технологии, которые вы изучали(потратили много времени), но в дальнейшем не использовали.
Отдельно доставляют комментарии)

Есть ли у вас примеры таких технологий?

Я как то изучал Talend, даже записал пару видео на YouTube, но так и не использовал его на работе.
Git for Data

Dolt - это база данных, которую можно форкать, клонировать, делать merge, pull, push.
Вообщем все тоже самое что и в git.
Подключиться можно так же как и к MySQL, выполнять обычные запросы к бд.

Dolt полностью совместим с MySQL, поэтому может быть развернуть, как реплика MySQL.

It's like Git and MySQL had a baby. 😅
На канале был пост про супер быстрый линтер для Python ruff, где я спрашивал, зачем скорость для линтера?

Сегодня посмотрел видео в YouTube от evrone, где рассказывают про ruff и почему, он скорее всего вам не нужен.
This media is not supported in your browser
VIEW IN TELEGRAM
В DBeaver есть плагин для работы с OpenAI.
Сегодня попробовал его, простые задачи решает правильно.

Есть конечно вопросы к data privacy, но пишут
We prioritize data safety and user privacy.

- No Table Data: Only metadata like table and column names are shared with OpenAI. Actual table data is not transmitted.

- User Consent: On the first use of AI completion for a specific connection, DBeaver will prompt for your confirmation to send metadata.
This confirmation is mandatory to use the feature.

upd: закинул пару задач со StrataScratch, тоже решил правильно.
👍1
Подъехала новая архитектура ELTP.

Extract, Load, Transform, and Publish.

Этап publish похож на Reverse ETL, но как пишет автор статьи, вы не понимаете - это другое.

All Reverse ETL destinations are Publish-type destinations, but not all Publish destinations are Reverse ETL.

Сама статья в блоге Airbyte.

Похоже теперь каждая компания хочешь придумать модный buzz word, как DBT делают с modern data stack.
И потом продвигать новую концепцию на всех конференциях.
👍32
На youtube канале Honeypot вышла очередная документалка.
На это раз рассказывается история создания Ruby on Rails.

Так же на канале есть видео про:
- React
- GraphQL
- Kubernetes
- Vue
- Elixir
- Prometheus

а для тех кто плохо знает английский, есть замечательный плагин,
который делает закадровый перевод видео на русский язык.
Топ 8 расширений для PostgreSQL 🖥

🔵 PostGIS: Фундаментально преобразует PostgreSQL в систему баз данных, которая может эффективно обрабатывать пространственные данные. В нем представлены дополнительные типы данных, такие как geometry, geography, raster и другие.

🔵 pg_stat_statements: Отслеживает статистику запросов, выполняемых базой данных Postgres.

🔵 pgcrypto: Расширяет возможности PostgreSQL, предоставляя криптографические функции прямо в системе базы данных. Это расширение предлагает множество функций для создания хэшей, шифрования и дешифрования данных, позволяя вам выполнять безопасные криптографические операции с вашими данными в PostgreSQL.

🔵 pg_partman: Это расширение, которое упрощает создание и обслуживание разделов таблиц PostgreSQL.

🔵 postgres_fdw: Модуль postgres_fdw позволяет использовать оболочку внешних данных для доступа к таблицам на удаленных серверах Postgres.

🔵pgvector: Добавляет поддержку векторных операций в PostgreSQL. Он позволяет PostgreSQL выполнять поиск по сходству, поиск ближайших соседей и другие сложные операции с векторными данными.

🔵hstore: Это хранилище «ключ-значение» в PostgreSQL, функционирующее как расширение, позволяющее хранить наборы пар «ключ-значение» в одном типе данных PostgreSQL.

🔵pgpcre: Это расширение PostgreSQL, которое интегрирует Perl-совместимые регулярные выражения (PCRE) в PostgreSQL. Он обеспечивает расширенные функции сопоставления строк и особенно полезен, когда встроенные возможности регулярных выражений PostgreSQL недостаточны для сложных требований сопоставления с образцом.

подробнее про все расширения тут

#postgres
#database
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
На Reddit иногда очень интересно почитать комменарии.

Эта ветка мемов под названием "Инженер данных пришел ко мне… слезы на глазах" в субреддите "dataengineering" вращается вокруг проблем первичных ключей. Комментатор Ein_Bear с юмором противопоставляет серьезность освоения навыков обработки данных, таких как индексирование и балансировка нагрузки, повседневной деятельности.

While you were out partying, I mastered the index.

While you were having casual sex, I studied load balancing.

While you were using Excel as a database, I trained in SSRS.

And now you have the audacity to ask me for help?

Другой пользователь, hisglasses66, объясняет сложность операции внутреннего соединения с несколькими условиями. Комментатор RuprectGern подчеркивает важность столбцов LastModified, а Jg-mz подчеркивает необходимость тщательной очистки данных. Общее настроение предполагает сочетание юмора и признания сложностей, связанных с разработкой данных.
😁2
На YouTube очень много каналов по программированию и часто, непросто отделить годный контент от второстепенного.

Хочу посоветовать(по-моему мнению один из лучших каналов для разработчиков)
Hussein Nasser.

В основном автор разбирает темы backend разработки и разбирает их достаточно глубоко.
Все видео разделены на плэйлисты.
Например есть:

- Backend
engineering(beginner)


- Backend engineering(intermediate)

- Backend engineering(advanced)

- HTTP/2

- Network engineering

Так же у Hussein есть крутые курсы на Udemy, один из них я проходил и могу порекомендовать.

Fundamentals of database engineering
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Top 9 HTTP Request Methods

1. HTTP GET - получает информаци с сервера. Он идемпотентен. Несколько одинаковых запросов возвращают один и тот же результат.

2. HTTP PUT- обновляет или создает ресурс. Он идемпотентен. Несколько одинаковых запросов обновят один и тот же ресурс.

3. HTTP POST - используется для создания новых ресурсов. Он не идемпотентен: создание двух идентичных POST приведет к дублированию создания ресурса.

4. HTTP DELETE - Используется для удаления ресурса. Он идемпотентен. Несколько одинаковых запросов приведут к удалению одного и того же ресурса.

5. HTTP PATCH - Метод PATCH применяет к ресурсу частичные изменения.

6. HTTP HEAD - Метод HEAD запрашивает ответ, идентичный запросу GET, но без тела ответа.

7. HTTP CONNECT - Метод CONNECT устанавливает туннель к серверу, указанному целевым ресурсом.

8. HTTP OPTIONS - этот метод описывает параметры связи для целевого ресурса.

9. HTTP TRACE - с помощью этого метода выполняется проверка обратной связи сообщения на пути к целевому ресурсу.
👍3
Data Quality Fundamentals

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

«Основы качества данных» O’Reilly — это полное руководство и первая книга, опубликованная O’Reilly, в которой рассказывается о том, как лучшие в своем классе команды по работе с данными проектируют технические системы для получения достоверных и надежных данных в большом масштабе.

Книга выпущена издательством O'Reilly совместно с Monte Carlo (Один из лидеров в сфере Data Quality и Data Observability)

p.s книга в комментариях

#book
#dataquality
👍8
Log Parsing Cheat Sheet

1.
GREP выполняет поиск в любых входных файлах, выбирая строки, соответствующие одному или нескольким шаблонам.

2. CUT вырезает выбранные части каждой строки из каждого файла и записывает их в стандартный вывод.

3. SED считывает указанные файлы, изменяя входные данные, как указано в списке команд.

4. AWK сканирует каждый входной файл на наличие строк, соответствующих любому набору шаблонов.

5. SORT сортирует текстовые и двоичные файлы по строкам.

6. UNIQ считывает указанный входной файл, сравнивая соседние строки, и записывает копию каждой уникальной входной строки в выходной файл.

Эти команды часто используются в сочетании для быстрого поиска полезной информации в лог файлах.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Data Pipelines Overview

Data pipelines являются фундаментальным компонентом эффективного управления и обработки данных в современных системах. Эти пайплайны обычно включают в себя 5 основных этапов: Collect, Ingest, Store, Compute, Consume.

Collect:
Данные собираются из хранилищ данных, потоков данных и приложений, полученных удаленно с
устройств, приложений или бизнес-систем.

Ingest:
В процессе приема данные загружаются в системы и организуются в очередях событий.

Store:
После этапа ingest организованные данные хранятся в data warehouse/data lake/data lakehouse, а также в различных системах, таких как базы данных, что обеспечивает хранение после приема.

Compute:
Данные подвергаются агрегированию, очистке и манипуляциям в соответствии со стандартами компании, включая такие задачи, как преобразование формата, сжатие данных и секционирование. На этом этапе используются методы пакетной и потоковой обработки.

Consume:
Обработанные данные доступны для потребления через инструменты аналитики и визуализации, хранилища операционных данных, механизмы принятия решений, пользовательские приложения, информационные панели, обработку данных, услуги машинного обучения, бизнес-аналитику и аналитику самообслуживания.
👍3
DevOps vs. SRE vs. Platform Engineering.
В чем разница?


Концепции DevOps, SRE и Platform Engineering возникли в разное время и разрабатывались разными людьми и организациями.

DevOps как концепция была представлена ​​в 2009 году Патриком Дебуа и Эндрю Шафером на конференции Agile. Они стремились сократить разрыв между разработкой программного обеспечения и его эксплуатацией, продвигая культуру сотрудничества и общую ответственность за весь жизненный цикл разработки программного обеспечения.

SRE, или Site Reliability Engineering, была впервые разработана компанией Google в начале 2000-х годов для решения операционных задач управления крупномасштабными и сложными системами. Google разработала методы и инструменты SRE, такие как система управления кластерами Borg и система мониторинга Monarch, чтобы повысить надежность и эффективность своих услуг.

Platform engineering - это более новая концепция, основанная на фундаменте SRE-инжиниринга. Точные истоки platform engineering не известны, но обычно считается, что это расширение практик DevOps и SRE с упором на предоставление комплексной платформы для разработки продуктов, которая поддерживает всю бизнес-перспективу.
👍1