SQL и Анализ данных – Telegram
SQL и Анализ данных
12.5K subscribers
672 photos
64 videos
3 files
684 links
Базы данных и всё, что с ними связано!

Сотрудничество: @haarrp

РКН № 6520279766
Download Telegram
📊 Анализ Данных Alibaba: Оптимизация Хранения Сжатых Файлов

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

Сегодня мы разберём задачу по оптимизации хранения сжатых файлов, имитирующую реальные сценарии Alibaba.

🎯 Цель — определить сжатые файлы и рассчитать общую экономию памяти.

Постановка Задачи
Дана таблица files со столбцами:
- file_id — идентификатор файла
- file_type — тип файла
- file_size — исходный размер в байтах
- compressed_size — размер после сжатия (`NULL`, если файл не сжат)

Задачи:
1. Найти все сжатые файлы (`compressed_size IS NOT NULL`).
2. Для каждого сжатого файла вывести file_id и file_type.
3. Вычислить и вывести общую экономию места:
экономия = file_size - compressed_size.

Пример Данных

| file_id | file_type | file_size | compressed_size |
|---------|-----------|-----------|-----------------|
| 1 | image | 1000 | 600 |
| 2 | video | 5000 | NULL |
| 3 | document | 200 | 100 |
| 4 | image | 1500 | 700 |

Решение

🔹 Шаг 1. Идентификация Сжатых Файлов
Фильтруем только те строки, где compressed_size не равен NULL:


SELECT
file_id,
file_type
FROM
files
WHERE
compressed_size IS NOT NULL;


Результат для примера:

file_id file_type
1 image
3 document
4 image

🔹 Шаг 2. Вычисление Общей Экономии Места

Суммируем разницу между исходным и сжатым размером:


SELECT
SUM(file_size - compressed_size) AS total_space_saved
FROM
files
WHERE
compressed_size IS NOT NULL;


Промежуточные расчёты:

- Файл 1: 1000 - 600 = 400
- Файл 3: 200 - 100 = 100
- Файл 4: 1500 - 700 = 800
Общая экономия: 400 + 100 + 800 = 1300

Результат запроса:

- total_space_saved: 1300

Итоговое Решение

Обычно на платформах типа DataLemur ожидаются два отдельных запроса:

1. Список сжатых файлов


SELECT
file_id,
file_type
FROM
files
WHERE
compressed_size IS NOT NULL;


2. Общая экономия


SELECT
SUM(file_size - compressed_size) AS total_space_saved
FROM
files
WHERE
compressed_size IS NOT NULL;


💰 В чем плюс такой методики — меньше данных → меньше расходов на хранение и трафик. В масштабе Alibaba это миллионы долларов.

📊 Мониторинг эффективности — можно оценить, насколько хорошо работают алгоритмы сжатия.

📦 Планирование ёмкости — точный прогноз потребностей в хранилище.

Повышение производительности — сжатые файлы быстрее передаются и обрабатываются.

Эта задача показывает, как простые SQL-запросы решают ключевые задачи оптимизации Big Data.

Понимание подобных принципов помогает инженерам данных:
- рационально использовать ресурсы,
- снижать расходы,

- повышать эффективность работы систем.

📌 Задача
👍54🔥1🥰1
Forwarded from Golang
⚙️ pgschema — Terraform-подобный инструмент для Postgres

Разработчики выкатили pgschema — утилиту для декларативных миграций схемы в Postgres.
Теперь можно описывать схему как “источник правды”, сравнивать её с текущей и применять изменения безопасно — как в Terraform.

🟢 Главное
- dump — снимаем слепок схемы
- plan — видим diff и список изменений
- apply — применяем миграции с контролем блокировок и таймаутов
- Поддержка Postgres 14-17
- Transaction-adaptive исполнение и dry-run режим

Зачем нужно
- Порядок в быстро меняющейся схеме
- Прозрачные миграции через CI/CD
- Контроль DDL-операций без неожиданных простоев
- Удобно для gitops и командной разработки

👉 Репозиторий: https://github.com/pgschema/pgschema

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥1
🔥 Beekeeper Studio — «убийца» DBeaver

SQL-редактор с открытым исходным кодом для MySQL, PostgreSQL, SQLite, SQL Server и других баз.

Доступен на Windows, macOS и Linux, удобный интерфейс со вкладками и всё, что нужно:
- 👥 Онлайн-коллаборация
- 📥 Импорт баз данных
- 🛠️ Создание таблиц в GUI
- 👀 Просмотр данных
- 🤖 Встроенный ИИ-копайлота


💰 Есть бесплатная Community Edition

https://www.beekeeperstudio.io/get
👍10🔥5😁31🥰1
Forwarded from Machinelearning
🎓 ChatGPT для студентов

В одном месте собрано всё самое нужное в разделе “for Students”.

Это готовые промпты и чаты в ChatGPT, которые помогают учиться, готовиться к экзаменам и даже строить карьеру.

Что внутри:
- Более 100 готовых шаблонов для колледжа и университета.
- Категории: Учёба, Карьера, Жизнь.
- Практика: редактировать курсовые, делать конспекты, готовить планы к экзаменам.
- Карьера: советы по резюме, подготовка к собеседованиям.
- Организация: составление расписания и чек-листов.

🟠Попробовать можно здесь
https://chatgpt.com/use-cases/students

@ai_machinelearning_big_data


#ChatGPT #Students #Учёба
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥1
🎮 Elden GitHub: Погрузитесь в мир Elden Ring на GitHub!

Этот репозиторий предлагает уникальный опыт взаимодействия с GitHub, вдохновленный атмосферой Elden Ring. Исследуйте, создавайте и делитесь своими проектами в стиле любимой игры.

🚀Основные моменты:
- Интерактивные элементы, основанные на Elden Ring.
- Уникальный интерфейс для работы с репозиториями.
- Возможность делиться опытом с другими пользователями.
- Поддержка различных функций GitHub в игровом контексте.

📌 GitHub: https://github.com/SaltyAom/elden-github
👍31
🔗 PGMCP: AI-Driven PostgreSQL Queries 🚀

PGMCP позволяет взаимодействовать с любыми базами данных PostgreSQL через естественные языковые запросы. Пользователи могут задавать вопросы на английском и получать структурированные результаты SQL с автоматической обработкой ошибок и потоковой передачей данных.

🚀Основные моменты:
- Поддержка любого PostgreSQL без изменений схемы
- Безопасный доступ только для чтения
- Автоматическая потоковая передача больших наборов данных
- Интеллектуальное понимание запросов
- Множественные форматы вывода (таблица, JSON, CSV)

📌 GitHub: https://github.com/subnetmarco/pgmcp
👍61
Какая команда используется для объединения результатов запроса без удаления дубликатов?
Anonymous Quiz
17%
UNION
60%
UNION ALL
23%
FULL JOIN
👍121
⚡️ Неочевидный SQL-совет

Иногда нужно выбрать строки, где значение в одной колонке соответствует экстремальному (минимальному или максимальному) значению в другой колонке.
Вместо подзапросов с JOIN можно использовать WITH TIES (поддерживается в PostgreSQL 13+, SQL Server, Oracle, MySQL 8.0+):


SELECT *
FROM orders
ORDER BY created_at DESC
FETCH FIRST 1 ROW WITH TIES;


👉 Результат: вернутся все заказы с максимальной датой (например, если несколько заказов сделаны в одну и ту же последнюю минуту).

WITH TIES особенно удобно, когда вам нужно не одно значение, а все «равные лидеры» по условию сортировки.
👍24🔥32
🧠 Qwen3-ASR Toolkit: Умный инструмент для транскрипции аудио

Qwen3-ASR Toolkit — это мощный Python-инструмент для работы с API Qwen-ASR, позволяющий обрабатывать аудио и видео любой длины. Он преодолевает ограничение в 3 минуты, умно разбивая длинные файлы и обрабатывая их параллельно, что значительно ускоряет транскрипцию.

🚀 Основные моменты:
- Обходит 3-минутное ограничение API для транскрипции.
- Умное разделение аудио с использованием детекции активности голоса.
- Параллельная обработка для быстрого получения результатов.
- Автоматическая очистка текста от артефактов ASR.
- Поддержка множества форматов медиа благодаря FFmpeg.

📌 GitHub: https://github.com/QwenLM/Qwen3-ASR-Toolkit

#python
1
2 в 1: бесплатная теория и практика по расширениям PostgreSQL 🐘

В мини-курсе Академии Selectel рассказали, как улучшить работу с СУБД при помощи полезных расширений.

Открытый гид по PostgreSQL научит вас:
🔹 шифровать данные прямо в PostgreSQL,
🔹 ускорять выборки из JSONB,
🔹 работать с геоданными с помощью PostGIS,
🔹 адаптировать базу под конкретные задачи.

Практические примеры и разбор популярных расширений помогут вам использовать PostgreSQL на максимум — от безопасности и оптимизации до работы с геоданными.

Жмите на ссылку, чтобы пройти курс бесплатно ➡️

Реклама. АО "Селектел". erid:2W5zFHvwwtU
1🔥1💯1
🧩 Devsyringe

Devsyringe — это CLI-инструмент, который позволяет инжектить динамические значения из внешних команд и внедрять их в конфигурационные файлы с помощью декларативного YAML.

Он упрощает работу с параметрами, такими как токены API и домены, без необходимости использования шаблонов.

🚀Основные моменты:
- Инъекция значений в любые целевые файлы.
- Поддержка извлечения данных из командной строки.
- Конфигурация через YAML-файлы.
- Удобный интерфейс для управления процессами.

📌 GitHub: https://github.com/alchemmist/devsyringe

#go
👍42
⚡️SQL на собеседованиях: где тренироваться

Принесли вам отличный ресурс, который собрал огромное количество практических задач по SQL.

Там можно найти всё: от базовых упражнений до сложных вопросов, включая отдельный блок с заданиями от FAANG.

Но самое ценное здесь не сами вопросы, а структура подачи:
- Формулировка задачи в формате собеседования
- Подробное решение с объяснением
- Встроенный редактор, чтобы попробовать свои силы прямо на месте

И главное — доступ полностью бесплатный.

Начать тренироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3