📊 Анализ Данных Alibaba: Оптимизация Хранения Сжатых Файлов
Введение
В Alibaba, где ежедневно генерируются петабайты данных, эффективное хранение критически важно. Оно не только снижает затраты, но и ускоряет работу систем.
Сегодня мы разберём задачу по оптимизации хранения сжатых файлов, имитирующую реальные сценарии Alibaba.
🎯 Цель — определить сжатые файлы и рассчитать общую экономию памяти.
Постановка Задачи
Дана таблица
- file_id — идентификатор файла
- file_type — тип файла
- file_size — исходный размер в байтах
- compressed_size — размер после сжатия (`NULL`, если файл не сжат)
Задачи:
1. Найти все сжатые файлы (`compressed_size IS NOT NULL`).
2. Для каждого сжатого файла вывести
3. Вычислить и вывести общую экономию места:
Пример Данных
| 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. Идентификация Сжатых Файлов
Фильтруем только те строки, где
Результат для примера:
file_id file_type
1 image
3 document
4 image
🔹 Шаг 2. Вычисление Общей Экономии Места
Суммируем разницу между исходным и сжатым размером:
Промежуточные расчёты:
- Файл 1: 1000 - 600 = 400
- Файл 3: 200 - 100 = 100
- Файл 4: 1500 - 700 = 800
Общая экономия: 400 + 100 + 800 = 1300
Результат запроса:
- total_space_saved: 1300
Итоговое Решение
Обычно на платформах типа DataLemur ожидаются два отдельных запроса:
1. Список сжатых файлов
2. Общая экономия
💰 В чем плюс такой методики — меньше данных → меньше расходов на хранение и трафик. В масштабе Alibaba это миллионы долларов.
📊 Мониторинг эффективности — можно оценить, насколько хорошо работают алгоритмы сжатия.
📦 Планирование ёмкости — точный прогноз потребностей в хранилище.
⚡ Повышение производительности — сжатые файлы быстрее передаются и обрабатываются.
Эта задача показывает, как простые SQL-запросы решают ключевые задачи оптимизации Big Data.
Понимание подобных принципов помогает инженерам данных:
- рационально использовать ресурсы,
- снижать расходы,
- повышать эффективность работы систем.
📌 Задача
Введение
В 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.
Понимание подобных принципов помогает инженерам данных:
- рационально использовать ресурсы,
- снижать расходы,
- повышать эффективность работы систем.
📌 Задача
👍5❤4🔥1🥰1
Forwarded from Golang
Разработчики выкатили 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
SQL-редактор с открытым исходным кодом для MySQL, PostgreSQL, SQLite, SQL Server и других баз.
Доступен на Windows, macOS и Linux, удобный интерфейс со вкладками и всё, что нужно:
- 👥 Онлайн-коллаборация
- 📥 Импорт баз данных
- 🛠️ Создание таблиц в GUI
- 👀 Просмотр данных
- 🤖 Встроенный ИИ-копайлота
💰 Есть бесплатная Community Edition
https://www.beekeeperstudio.io/get
👍10🔥5😁3❤1🥰1
Forwarded from Machinelearning
🎓 ChatGPT для студентов
В одном месте собрано всё самое нужное в разделе “for Students”.
Это готовые промпты и чаты в ChatGPT, которые помогают учиться, готовиться к экзаменам и даже строить карьеру.
✨ Что внутри:
- Более 100 готовых шаблонов для колледжа и университета.
- Категории: Учёба, Карьера, Жизнь.
- Практика: редактировать курсовые, делать конспекты, готовить планы к экзаменам.
- Карьера: советы по резюме, подготовка к собеседованиям.
- Организация: составление расписания и чек-листов.
🟠 Попробовать можно здесь
https://chatgpt.com/use-cases/students
@ai_machinelearning_big_data
#ChatGPT #Students #Учёба
В одном месте собрано всё самое нужное в разделе “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
👍4❤2🔥1
🎮 Elden GitHub: Погрузитесь в мир Elden Ring на GitHub!
Этот репозиторий предлагает уникальный опыт взаимодействия с GitHub, вдохновленный атмосферой Elden Ring. Исследуйте, создавайте и делитесь своими проектами в стиле любимой игры.
🚀Основные моменты:
- Интерактивные элементы, основанные на Elden Ring.
- Уникальный интерфейс для работы с репозиториями.
- Возможность делиться опытом с другими пользователями.
- Поддержка различных функций GitHub в игровом контексте.
📌 GitHub: https://github.com/SaltyAom/elden-github
Этот репозиторий предлагает уникальный опыт взаимодействия с GitHub, вдохновленный атмосферой Elden Ring. Исследуйте, создавайте и делитесь своими проектами в стиле любимой игры.
🚀Основные моменты:
- Интерактивные элементы, основанные на Elden Ring.
- Уникальный интерфейс для работы с репозиториями.
- Возможность делиться опытом с другими пользователями.
- Поддержка различных функций GitHub в игровом контексте.
📌 GitHub: https://github.com/SaltyAom/elden-github
👍3❤1
🔗 PGMCP: AI-Driven PostgreSQL Queries 🚀
PGMCP позволяет взаимодействовать с любыми базами данных PostgreSQL через естественные языковые запросы. Пользователи могут задавать вопросы на английском и получать структурированные результаты SQL с автоматической обработкой ошибок и потоковой передачей данных.
🚀Основные моменты:
- Поддержка любого PostgreSQL без изменений схемы
- Безопасный доступ только для чтения
- Автоматическая потоковая передача больших наборов данных
- Интеллектуальное понимание запросов
- Множественные форматы вывода (таблица, JSON, CSV)
📌 GitHub: https://github.com/subnetmarco/pgmcp
PGMCP позволяет взаимодействовать с любыми базами данных PostgreSQL через естественные языковые запросы. Пользователи могут задавать вопросы на английском и получать структурированные результаты SQL с автоматической обработкой ошибок и потоковой передачей данных.
🚀Основные моменты:
- Поддержка любого PostgreSQL без изменений схемы
- Безопасный доступ только для чтения
- Автоматическая потоковая передача больших наборов данных
- Интеллектуальное понимание запросов
- Множественные форматы вывода (таблица, JSON, CSV)
📌 GitHub: https://github.com/subnetmarco/pgmcp
👍6❤1
Какая команда используется для объединения результатов запроса без удаления дубликатов?
Anonymous Quiz
17%
UNION
60%
UNION ALL
23%
FULL JOIN
👍12❤1
⚡️ Неочевидный SQL-совет
Иногда нужно выбрать строки, где значение в одной колонке соответствует экстремальному (минимальному или максимальному) значению в другой колонке.
Вместо подзапросов с
👉 Результат: вернутся все заказы с максимальной датой (например, если несколько заказов сделаны в одну и ту же последнюю минуту).
WITH TIES особенно удобно, когда вам нужно не одно значение, а все «равные лидеры» по условию сортировки.
Иногда нужно выбрать строки, где значение в одной колонке соответствует экстремальному (минимальному или максимальному) значению в другой колонке.
Вместо подзапросов с
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🔥3❤2
🧠 Qwen3-ASR Toolkit: Умный инструмент для транскрипции аудио
Qwen3-ASR Toolkit — это мощный Python-инструмент для работы с API Qwen-ASR, позволяющий обрабатывать аудио и видео любой длины. Он преодолевает ограничение в 3 минуты, умно разбивая длинные файлы и обрабатывая их параллельно, что значительно ускоряет транскрипцию.
🚀 Основные моменты:
- Обходит 3-минутное ограничение API для транскрипции.
- Умное разделение аудио с использованием детекции активности голоса.
- Параллельная обработка для быстрого получения результатов.
- Автоматическая очистка текста от артефактов ASR.
- Поддержка множества форматов медиа благодаря FFmpeg.
📌 GitHub: https://github.com/QwenLM/Qwen3-ASR-Toolkit
#python
Qwen3-ASR Toolkit — это мощный Python-инструмент для работы с API Qwen-ASR, позволяющий обрабатывать аудио и видео любой длины. Он преодолевает ограничение в 3 минуты, умно разбивая длинные файлы и обрабатывая их параллельно, что значительно ускоряет транскрипцию.
🚀 Основные моменты:
- Обходит 3-минутное ограничение API для транскрипции.
- Умное разделение аудио с использованием детекции активности голоса.
- Параллельная обработка для быстрого получения результатов.
- Автоматическая очистка текста от артефактов ASR.
- Поддержка множества форматов медиа благодаря FFmpeg.
📌 GitHub: https://github.com/QwenLM/Qwen3-ASR-Toolkit
#python
GitHub
GitHub - QwenLM/Qwen3-ASR-Toolkit: Official Python toolkit for the Qwen3-ASR API. Parallel high‑throughput calls, robust long‑audio…
Official Python toolkit for the Qwen3-ASR API. Parallel high‑throughput calls, robust long‑audio trannoscription, multi‑sample‑rate support. - QwenLM/Qwen3-ASR-Toolkit
❤1
2 в 1: бесплатная теория и практика по расширениям PostgreSQL 🐘
В мини-курсе Академии Selectel рассказали, как улучшить работу с СУБД при помощи полезных расширений.
Открытый гид по PostgreSQL научит вас:
🔹 шифровать данные прямо в PostgreSQL,
🔹 ускорять выборки из JSONB,
🔹 работать с геоданными с помощью PostGIS,
🔹 адаптировать базу под конкретные задачи.
Практические примеры и разбор популярных расширений помогут вам использовать PostgreSQL на максимум — от безопасности и оптимизации до работы с геоданными.
Жмите на ссылку, чтобы пройти курс бесплатно ➡️
Реклама. АО "Селектел". erid:2W5zFHvwwtU
В мини-курсе Академии Selectel рассказали, как улучшить работу с СУБД при помощи полезных расширений.
Открытый гид по PostgreSQL научит вас:
🔹 шифровать данные прямо в PostgreSQL,
🔹 ускорять выборки из JSONB,
🔹 работать с геоданными с помощью PostGIS,
🔹 адаптировать базу под конкретные задачи.
Практические примеры и разбор популярных расширений помогут вам использовать PostgreSQL на максимум — от безопасности и оптимизации до работы с геоданными.
Жмите на ссылку, чтобы пройти курс бесплатно ➡️
Реклама. АО "Селектел". erid:2W5zFHvwwtU
❤1🔥1💯1
🧩 Devsyringe
Devsyringe — это CLI-инструмент, который позволяет инжектить динамические значения из внешних команд и внедрять их в конфигурационные файлы с помощью декларативного YAML.
Он упрощает работу с параметрами, такими как токены API и домены, без необходимости использования шаблонов.
🚀Основные моменты:
- Инъекция значений в любые целевые файлы.
- Поддержка извлечения данных из командной строки.
- Конфигурация через YAML-файлы.
- Удобный интерфейс для управления процессами.
📌 GitHub: https://github.com/alchemmist/devsyringe
#go
Devsyringe — это CLI-инструмент, который позволяет инжектить динамические значения из внешних команд и внедрять их в конфигурационные файлы с помощью декларативного YAML.
Он упрощает работу с параметрами, такими как токены API и домены, без необходимости использования шаблонов.
🚀Основные моменты:
- Инъекция значений в любые целевые файлы.
- Поддержка извлечения данных из командной строки.
- Конфигурация через YAML-файлы.
- Удобный интерфейс для управления процессами.
📌 GitHub: https://github.com/alchemmist/devsyringe
#go
👍4❤2
Принесли вам отличный ресурс, который собрал огромное количество практических задач по SQL.
Там можно найти всё: от базовых упражнений до сложных вопросов, включая отдельный блок с заданиями от FAANG.
Но самое ценное здесь не сами вопросы, а структура подачи:
- Формулировка задачи в формате собеседования
- Подробное решение с объяснением
- Встроенный редактор, чтобы попробовать свои силы прямо на месте
И главное — доступ полностью бесплатный.
Начать тренироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3