🎓 А ещё, dlt и dbt вместе - это как два могучих волшебника одного клана! Есть поддержка dbt из коробки
#Python #DataIngestion #Innovation
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒2
PyGraphistry: Революция в Визуализации Графов! 🔍
PyGraphistry - мощный инструмент на основе Python, который радикально изменит твой подход к анализу и визуализации сложных сетей!🚀
🧬 Библиотека, разработанная для работы с огромными графами, призвана расширить горизонты анализа данных, обеспечивая непревзойденную детализацию и глубину понимания твоих данных.
🌐 Визуальные возможности на новом уровне:
WebGL клиентская технология рендеринга предоставляет возможность отображения до 8 млн узлов и рёбер, перенося визуализацию графов на качественно новый уровень.
💻 Мощный аналитический инструмент:
Серверный GPU-аналитик способен обрабатывать ещё бОльшие графы, вне зависимости от их размера, делая PyGraphistry идеальным выбором для проектов любой сложности.
📊 Интеграция с PyData Экосистемой:
PyGraphistry плавно интегрируется с основными инструментами PyData, такими как Pandas, Spark, Dask, а также с графовыми и нейронными сетями DGL и PyTorch, расширяя границы возможного в анализе данных.
🔆 Универсальная совместимость:
Подойдет для работы с различными источниками данных Python, включая CSV, SQL, Neo4j, и другие, что делает PyGraphistry незаменимым инструментом в арсенале любого аналитика.
#PyGraphistry #Python #визуализация_данных #аналитика #GPU
PyGraphistry - мощный инструмент на основе Python, который радикально изменит твой подход к анализу и визуализации сложных сетей!
🧬 Библиотека, разработанная для работы с огромными графами, призвана расширить горизонты анализа данных, обеспечивая непревзойденную детализацию и глубину понимания твоих данных.
WebGL клиентская технология рендеринга предоставляет возможность отображения до 8 млн узлов и рёбер, перенося визуализацию графов на качественно новый уровень.
Серверный GPU-аналитик способен обрабатывать ещё бОльшие графы, вне зависимости от их размера, делая PyGraphistry идеальным выбором для проектов любой сложности.
PyGraphistry плавно интегрируется с основными инструментами PyData, такими как Pandas, Spark, Dask, а также с графовыми и нейронными сетями DGL и PyTorch, расширяя границы возможного в анализе данных.
Подойдет для работы с различными источниками данных Python, включая CSV, SQL, Neo4j, и другие, что делает PyGraphistry незаменимым инструментом в арсенале любого аналитика.
#PyGraphistry #Python #визуализация_данных #аналитика #GPU
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒2❤🔥1
DuckDB in action 🦆
Команда MotherDuck предлагает бесплатный PDF-файл с ранним доступом к книге "DuckDB в действии". Первые несколько глав помогут понять основы DuckDB, и со временем авторы будут добавлять новые главы [по таким темам, как интеграция с Python, WASM, пайплайны передачи данных], которые будут высланы бесплатно.
В DuckDB легко обрабатывать гигабайты данных — и всё это без хранилища данных. Звучит как кликбейт, но надо проверить🙃
Обещают, что не нужно дорогостоящее оборудование или развёртывание целого нового кластера, когда нужно проанализировать большой набор данных. Просто нужен DuckDB! Современная и быстрая встроенная БД работает на ноуте и позволяет легко обрабатывать данные практически из любого источника, включая JSON, CSV, Parquet, SQLite и Postgres. В DuckDB in action описано всё, что нужно знать, чтобы максимально эффективно использовать этот инструмент, обеспечить безопасность данных локально и сэкономить сотни долларов на счетах за облако. Верим?🙂
Книгу можно скачать с сайта MotherDuck
#book
Команда MotherDuck предлагает бесплатный PDF-файл с ранним доступом к книге "DuckDB в действии". Первые несколько глав помогут понять основы DuckDB, и со временем авторы будут добавлять новые главы [по таким темам, как интеграция с Python, WASM, пайплайны передачи данных], которые будут высланы бесплатно.
В DuckDB легко обрабатывать гигабайты данных — и всё это без хранилища данных. Звучит как кликбейт, но надо проверить
Обещают, что не нужно дорогостоящее оборудование или развёртывание целого нового кластера, когда нужно проанализировать большой набор данных. Просто нужен DuckDB! Современная и быстрая встроенная БД работает на ноуте и позволяет легко обрабатывать данные практически из любого источника, включая JSON, CSV, Parquet, SQLite и Postgres. В DuckDB in action описано всё, что нужно знать, чтобы максимально эффективно использовать этот инструмент, обеспечить безопасность данных локально и сэкономить сотни долларов на счетах за облако. Верим?
Книгу можно скачать с сайта MotherDuck
#book
Please open Telegram to view this post
VIEW IN TELEGRAM
MotherDuck
Free "DuckDB in Action" Book
Download a free PDF of the DuckDB in Action book published by Manning. The book is rich with technical guidance on data analytics and data engineering with DuckDB and MotherDuck.
❤🔥2🆒2
Learn Streaming Data Fundamental with Redpanda
Отличный способ изучить основы потоковой передачи данных — запишись в Университет Redpanda для бесплатного онлайн-обучения. Курсы включают в себя 8 уроков и заканчиваются небольшим квизом.
Начни с курса «Основы потоковой передачи данных», чтобы получить прочную базу знаний в этой области. Помимо этого есть более продвинутые курсы, такие как управление кластерами.⚡️
Redpanda это аналог Kafka, что обещает сервис?
🟡 никакой java – сервис написан на c++ с тулингом на go. На выходе у нас 2 бинарных файла и всё
🟡 полная совместимость с протоколом Apache Kafka. Ни надо ничего переписывать на стороне клиентов, подмены транспорта никто не заметит
🟡 своя реализация raft протокола – не нужны никакие сторонние сервисы
🟡 очень эффективное использование ресурсов – это общий тренд такого рода инструментов-заместителей
🟡 самостоятельное лечение кластера при потерях брокеров
🟡 встроенная schema registry и http proxy
Отличный способ изучить основы потоковой передачи данных — запишись в Университет Redpanda для бесплатного онлайн-обучения. Курсы включают в себя 8 уроков и заканчиваются небольшим квизом.
Начни с курса «Основы потоковой передачи данных», чтобы получить прочную базу знаний в этой области. Помимо этого есть более продвинутые курсы, такие как управление кластерами.
Redpanda это аналог Kafka, что обещает сервис?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2
DELETE FROM your_table
WHERE rowid NOT IN (
SELECT MAX(rowid)
FROM your_table
GROUP BY column1, column2, ...
);
DELETE FROM your_table
WHERE column1 IS NULL OR column2 IS NULL;
UPDATE your_table
SET column1 = 'default_value'
WHERE column1 IS NULL;
UPDATE your_table
SET column1 = UPPER(column1);
UPDATE your_table
SET column1 = TRIM(column1);
UPDATE your_table
SET date_column = TO_DATE(date_string, 'YYYY-MM-DD');
SELECT EXTRACT(YEAR FROM date_column) AS year,
EXTRACT(MONTH FROM date_column) AS month,
EXTRACT(DAY FROM date_column) AS day
FROM your_table;
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8
Завтра пройдёт воркшоп по работе с инструментом.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - risingwavelabs/risingwave: Streaming data platform. Real-time stream processing, low-latency serving, and Iceberg table…
Streaming data platform. Real-time stream processing, low-latency serving, and Iceberg table management. - risingwavelabs/risingwave
❤🔥2😁1🆒1
Dolt — первая в мире база данных SQL с системой контроля версий.
Управление версиями в БД в стиле Git предоставляет ряд полезных функций, включая:
🔘 мгновенный откат к любому предыдущему состоянию
🔘 полный лог аудита всех данных с возможностью запроса до начала работы с данными
🔘 несколько эволюционирующих веток данных
🔘 возможность объединения веток данных
🔘 быстрая синхронизация с удаленными версиями для резервного копирования или децентрализованной совместной работы
🔘 доступные для запроса различия (т.е. diffs) между версиями
Под капотом Dolt использует Prolly Tree-хранилище схемы и данных, представленных в виде графа. Таким образом достигается контроль версий БД на уровне хранилища.
Механизм хранения Dolt построен на графе коммитов Prolly Trees в стиле Git. Схема таблицы и данные хранятся в Prolly Trees. Корни этих деревьев Prolly вместе с другими метаданными хранятся в графе коммитов, чтобы обеспечить контроль версий в стиле Git.
Блогпост о движке Dolt.
Управление версиями в БД в стиле Git предоставляет ряд полезных функций, включая:
Под капотом Dolt использует Prolly Tree-хранилище схемы и данных, представленных в виде графа. Таким образом достигается контроль версий БД на уровне хранилища.
Механизм хранения Dolt построен на графе коммитов Prolly Trees в стиле Git. Схема таблицы и данные хранятся в Prolly Trees. Корни этих деревьев Prolly вместе с другими метаданными хранятся в графе коммитов, чтобы обеспечить контроль версий в стиле Git.
Блогпост о движке Dolt.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - dolthub/dolt: Dolt – Git for Data
Dolt – Git for Data. Contribute to dolthub/dolt development by creating an account on GitHub.
🆒4❤🔥2
Методы оптимизации SQL-запросов в высоконагруженных приложениях
Цикл постов, в которых рассмотрим малоизвестные, но мощные методы повышения производительности SQL-запросов, обеспечивающие бесперебойную работу высоконагруженных приложений.
👇 👇 👇
1️⃣ Ключевые аспекты плана выполнения запроса
2️⃣ Продвинутые стратегии индексирования
3️⃣ Переписывание и оптимизация запросов
4️⃣ Денормализация данных для повышения производительности
5️⃣ Использование временных таблиц для оптимизации запросов
6️⃣ Оптимизация подзапросов и агрегаций
7️⃣ Избегай курсоров и циклов для повышения производительности
Успех высоконагруженных приложений зависит от эффективной работы БД, лежащих в их основе. По мере роста сложности SQL-запросов, особенно тех, которые включают в себя сложные соединения и проблемы индексирования, оптимизация запросов приобретает первостепенное значение.
Цикл постов, в которых рассмотрим малоизвестные, но мощные методы повышения производительности SQL-запросов, обеспечивающие бесперебойную работу высоконагруженных приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7
Ключевые аспекты плана выполнения запроса
Обрати пристальное внимание на индексы, используемые в плане выполнения. Убедись, что для столбцов, участвующих в выражениях
WHERE, условиях JOIN и выражениях ORDER BY, доступны соответствующие индексы. Если индексы используются не так, как ожидалось, подумай о создании покрывающих индексов или пересмотри дизайн индексов.В плане выполнения показано, как происходит соединение таблиц. Определи используемые типы соединений (например,
NNER JOIN, LEFT JOIN) и оцени влияние на производительность. Убедись, что условия соединения оптимизированы и подходят для данного запроса.Ищи операции фильтрации и сортировки в плане выполнения. Эти операции могут повлиять на производительность запроса. При необходимости оптимизируйте предложения
WHERE и добавь соответствующие индексы, чтобы уменьшить количество обрабатываемых строк.Пойми, какой алгоритм соединения используется в плане. Вложенные циклы эффективны для небольших наборов результатов, в то время как хэш-соединения лучше использовать для больших наборов. В зависимости от распределения данных рассмотри возможность оптимизации стратегий соединения.
Использование EXPLAIN для анализа запросов
В большинстве баз данных SQL для анализа плана выполнения можно использовать оператор EXPLAIN:
EXPLAIN
SELECT *
FROM orders
WHERE true
AND customer_id = 123
AND order_date BETWEEN '2023-01-01' AND '2023-06-30';
Внимательно изучи результаты работы
EXPLAIN, уделяя внимание вышеупомянутым аспектам. Ищи узкие места в производительности, операции сканирования таблиц и возможности использования индексов.Помимо изучения текста ответа удобно использовать визуализаторы планов запросов, об одном из таких писал в одном из своих предыдущих постов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒4😁2❤🔥1
Продвинутые стратегии индексирования
Оптимизация индексов — способ повысить производительность запросов. Помимо стандартного индексирования, давай рассмотрим продвинутые техники.
В дополнение к покрывающим индексам рассмотри использование столбцов
INCLUDE, позволяющее охватить больше сценариев запросов. Включённые столбцы хранятся в индексе, но не используются для сортировки или фильтрации. Они могут ускорить выполнение запроса за счёт уменьшения необходимости поиска в таблице.CREATE INDEX idx_covering
ON products (product_id)
INCLUDE (product_name, unit_price);
С этим индексом запрос, упомянутый ранее, может получить ещё больше преимуществ от покрытия индекса.
Фильтрованные индексы подходят для запросов, направленных на конкретные подмножества данных. Предположим, у тебя есть таблица заказов, и ты часто запрашиваешь заказы из конкретного региона. Ты можешь создать фильтрованный индекс для оптимизации таких запросов:
CREATE INDEX idx_region_orders
ON orders (order_date)
WHERE region = 'West';
Этот отфильтрованный индекс фокусируется на заказах из региона 'West', улучшая производительность запроса для этого условия.
Для сложных соединений рассмотри возможность создания индексов, охватывающих столбцы соединений. Такие индексы могут ускорить операции соединения. Проанализируй план выполнения запроса, чтобы определить столбцы, участвующие в условиях соединения, и создай соответствующие индексы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
DE
Методы оптимизации SQL-запросов в высоконагруженных приложениях
Успех высоконагруженных приложений зависит от эффективной работы БД, лежащих в их основе. По мере роста сложности SQL-запросов, особенно тех, которые включают в себя сложные соединения и проблемы…
Успех высоконагруженных приложений зависит от эффективной работы БД, лежащих в их основе. По мере роста сложности SQL-запросов, особенно тех, которые включают в себя сложные соединения и проблемы…
❤🔥5