Data Science. SQL hub
35.8K subscribers
961 photos
52 videos
37 files
1K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
🔮 CozoDB — графовая база данных с поддержкой Datalog-запросов, временными срезами и векторным поиском через HNSW-индексы.

Инструмент имеет встроенные алгоритмы для работы с графами и кроссплатформенность: работает как embedded-решение на Python, Node.js, Android и даже в браузере через WASM. Поддерживает SQLite, RocksDB и распределённое хранилище TiKV.

🤖 GitHub

@sqlhub
6👍4🔥3
🚀 sebastien/multiplex — Command‑Line Process Multiplexer

Что это: простой CLI и Python API для запуска нескольких процессов параллельно, с гибким управлением зависимостями, задержками и завершением.

Фичи:
- Параллельный или последовательный запуск процессов
- Задержки: +2s, +500ms
- Зависимости: :A, :A&
- Именование процессов и цветной вывод
- Управление через Python API

🔧 Примеры:

- Запуск двух серверов:

multiplex "python -m http.server -p 8000" "python -m http.server -p 8001"


- Сначала сервер, потом бенчмарк:

multiplex "SERVER=python -m http.server" "+2s=ab -n1000 https://localhost:8000/"


- Сценарий: DB → API → тесты:

multiplex "DB=mongod" "API:DB&+2=node server.js" ":API&|end=npm test"


📦 Установка:
pip install multiplex-sh
или просто multiplex.py напрямую с GitHub

🔗 GitHub: https://github.com/sebastien/multiplex

🧰 Подходит всем, кто запускает несколько сервисов — API, БД, фоновые задачи — и хочет сделать это красиво.

@sqlhub
4👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥VK зовет всех поглитчевать и обсудить RecSys. 27 августа на встрече AI VK & Pro спецы обсудят реальные тренды и рекомендательные системы.

Нетворкингу быть

@sqlhub
👎147👍2🥰2😁2🤬2
Starbucks Korea ввела жёсткий запрет на «офис в кофейне»

Теперь по всей стране нельзя приносить в залы стационарные компьютеры, принтеры, сетевые фильтры и сооружать перегородки.

Причина — вирусное фото, на котором посетитель развернул полноценный офисный сетап, ушёл на три часа и оставил всё без присмотра.

Ранее отдельные точки пытались ограничивать время за столом, отключать розетки и мягко намекать клиентам, что пора уходить. Теперь это закреплено официальным национальным правилом.

📌 Подробнее

@sqlhub
👍26😁177🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Open-source инструмент для просмотра CSV, JSON, Excel и других таблиц прямо в терминале — без потери форматирования, аккуратно и читабельно.

🔥 Что умеет:
— Встроенный SQL-движок: фильтры, джойны и анализ прямо в терминале;
— Vim-подобные хоткеи (для фанатов, да 😁);
— Быстрый поиск, работа с несколькими таблицами, поддержка тем (Monokai, Nord и др.).

https://github.com/shshemi/tabiew
🔥16👍84
🚀 RisingLight — образовательная OLAP-база данных. Этот проект разрабатывается как учебная реализация OLAP-системы с поддержкой SQL-запросов, включая выполнение TPC-H тестов.

Для тех, кто хочет заглянуть под капот аналитических баз данных, RisingLight предлагает отличную возможность изучить их устройство на практике. Хотя проект пока не готов для production, он уже даёт представление о ключевых компонентах СУБД: от парсера запросов до исполнителя. Сообщество активно развивается: есть Discord, Telegram и даже WeChat-чат для обсуждения. Авторы приветствуют вклад новичков и предлагают список "good first issues" для первых PR.

🤖 GitHub

@sqlhub
👍3
🔌 pREST (PostgreSQL REST) — проект, предлагающий готовое решение для создания RESTful API поверх PostgreSQL. Этот инструмент написан на Go и позволяет быстро развернуть высокопроизводительный API-сервер без сложной настройки. Поддержка начинается с PostgreSQL 9.5, что делает его совместимым с большинством существующих баз данных.

Проект особенно удобен для разработчиков, которым нужно быстро создать API с минимальными затратами. Он поддерживает SQL-запросы через REST-эндпоинты, аутентификацию и кастомные маршруты. Развернуть pREST можно даже в один клик, например, на Heroku.

🤖 GitHub

@sqlhub
5👍4🔥2
🧩 Продвинутая задача по SQL (Oracle): найти «бычьи серии» продаж и момент разворота

Задача
Есть таблица продаж по дням:

sales(day_date DATE, customer_id NUMBER, amount NUMBER)

Нужно для каждого клиента найти интервалы из не меньше 3 подряд идущих дней, где сумма amount строго возрастает каждый день, а на следующий день после интервала происходит разворот вниз (т.е. amount меньше, чем в последний день серии). Для каждого такого интервала вернуть:
- customer_id
- start_date, end_date серии
- length (длина серии в днях)
- last_amount (сумма в последний день серии)
- drop_amount (сумма в день разворота)
- drop_pct (процент падения относительно last_amount)

Решение (Oracle 12c+): используем MATCH_RECOGNIZE


SELECT *
FROM sales
MATCH_RECOGNIZE (
PARTITION BY customer_id
ORDER BY day_date
MEASURES
FIRST(day_date) AS start_date,
LAST(day_date) AS end_date,
COUNT(A.*) AS length,
LAST(amount) AS last_amount,
NEXT(amount) AS drop_amount,
ROUND( (LAST(amount) - NEXT(amount)) / NULLIF(LAST(amount),0) * 100, 2 ) AS drop_pct
ONE ROW PER MATCH
AFTER MATCH SKIP PAST LAST ROW
PATTERN (A{3,} D)
DEFINE
A AS ( PREV(amount) IS NULL OR amount > PREV(amount) ),
D AS amount < PREV(amount)
);


Пояснение
- PATTERN (A{3,} D) — ищем подпоследовательность из минимум трёх строго возрастающих дней A, за которой сразу идёт день падения D.
- DEFINE A — рост относительно предыдущего дня в группе клиента.
- DEFINE D — падение относительно предыдущего дня (последнего A).
- MEASURES — извлекаем границы серии и метрики, NEXT(amount) берёт сумму в день разворота.
- AFTER MATCH SKIP PAST LAST ROW — не пересекаем серии.

Бонус: защита от «лестниц» с пропусками дат
Если в данных бывают пропуски дней, а вам нужны подряд идущие даты, добавьте проверку календарной последовательности:


DEFINE
A AS ( (PREV(amount) IS NULL OR amount > PREV(amount))
AND (PREV(day_date) IS NULL OR day_date = PREV(day_date) + 1) ),
D AS ( amount < PREV(amount) AND day_date = PREV(day_date) + 1 )


Зачем так делать
MATCH_RECOGNIZE — мощный инструмент Oracle для поиска сложных паттернов по времени (распознавание трендов, разрывов, «голова-плечи», аномалий). Он заменяет громоздкие CTE с аналитиками и делает запрос короче, быстрее и точнее при работе с последовательностями.

@sqlhub
👍229🔥8
💡 Полезный хинт для Oracle SQL — использование TRUNC с датами для фильтрации и агрегации

В Oracle функция `TRUNC(date, 'fmt')` обрезает дату до заданного формата, обнуляя менее значимые части (часы, минуты, секунды и т.д.). Это помогает:
- фильтровать данные по дням, месяцам, годам, неделям, кварталам,
- делать группировки без сложных выражений,
- избавляться от ошибок, когда время мешает сравнению дат.

📌 Форматы:
- 'DD' — начало дня (по умолчанию)
- 'MM' — первый день месяца
- 'YYYY' — первый день года
- 'IW' — начало ISO-недели
- 'Q' — первый день квартала

📍 Примеры:

- Все сделки за сегодня

select *
from trades
where trunc(ts) = trunc(sysdate);


- Группировка по месяцам

select trunc(ts, 'MM') as month_start, sum(price) as total
from trades
group by trunc(ts, 'MM')
order by month_start;



-- Данные за текущий квартал
select *
from trades
where trunc(ts, 'Q') = trunc(sysdate, 'Q');


Плюсы:
- Удобно в чтении и написании
- Убирает проблемы с «лишними» часами и минутами в датах
- Работает напрямую с типом DATE без лишних кастов

@sqlhub
8👍4🔥4
🐘 Tarantool — необычная платформа, сочетающая in-memory базу данных с полноценным сервером приложений на Lua. Проект имеет два движка хранения: in-memory с WAL и LSM-дерево, поддерживает ANSI SQL и асинхронную репликацию.

Инструмент имеет встроенный JIT-компилятор LuaJIT, позволяющий исполнять бизнес-логику прямо рядом с данными. При этом сохраняется совместимость с внешними СУБД вроде PostgreSQL через коннекторы. Проект полезен для высоконагруженных веб-сервисов, кэширующих слоёв и систем обработки очередей сообщений.

🤖 GitHub

@sqlhub
9👎5👍3🔥1😁1🤬1
📊 Из PDF в DataFrame за пару строк кода

Работаете с финансовыми отчётами или любыми табличными данными в PDF?
С библиотекой docling это становится максимально просто.

Большинство инструментов для работы с PDF заставляют собирать пайплайн вручную:
одна библиотека для извлечения текста, другая для парсинга, третья для чанкинга.

Docling закрывает весь процесс — от сырых PDF до структурированных и готовых к поиску данных — в одном решении.

📌 Преимущества Docling:
🔹 Поддержка PDF, DOCX, PPTX, HTML и изображений
🔹 AI-модель TableFormer для понимания сложных таблиц
🔹 Vision-модели для OCR и image-to-text
🔹 Простой экспорт в pandas DataFrame, JSON и Markdown

Пример: конвертируем PDF с отчётом о доходах и сразу получаем pandas DataFrame 👇


from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("financial_report.pdf")

for table in result.document.tables:
df = table.export_to_dataframe()


📌 Github

@sqlhub

#AI #RAG #Docling #DataEngineering #PDF
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2111🔥3😱1
🚀 Ускоряем работу с данными с помощью Delta Lake

Когда нужно добавить новые данные к уже существующему набору, есть два подхода:

🔴 Без Delta Lake
- Сначала загружаешь все старые данные (например, 10 000 записей) из CSV.
- Загружаешь новые данные (например, 50 записей).
- Объединяешь их, что требует обработки всех 10 050 записей.
- Это медленно, расходует память и ресурсы.

🟢 С Delta Lake
- Хранишь данные в формате Delta Lake.
- Загружаешь только новые записи (например, 50 штук).
- Добавляешь их напрямую в существующую таблицу с помощью append, обрабатывая только новые данные.
- Экономия времени, памяти и ресурсов.

💡 Преимущества Delta Lake:
- Инкрементальная загрузка данных.
- Работа с большими объёмами без полной перезагрузки.
- Поддержка транзакций (ACID).
- Совместимость с большими дата-платформами (Spark, Pandas и др.).

📊 Если у тебя миллионы строк — выигрыш в скорости будет колоссальным.

@sqlhub
6👍5🔥3
🗿 Монолит на 930 эндпоинтов: лечим по шагам

С монолитом и 4+ ТБ данных можно работать! Доказано Яндекс Едой. Ребята применили классические методы для оптимизации запросов и перераспределения нагрузки, добавив к этому свой TableSwitcher для миграции данных. Базовое + новое = улучшенная производительность.


Реклама. ООО «ЯНДЕКС», ИНН 7736207543
👎6👍31
🎮 Учим SQL через захватывающую аркадную игру

Разработчики замутили настоящий олдскульный
шедевр, который сделает из вас МАСТЕРА баз данных и точно не даст заскучать.

• Проходим уровни, собираем пазлы вместе с уткой DuckDB и прокачиваем SQL на максимум.
• Квесты, задачи, подсказки — всё как в настоящем приключении.
• Работает прямо в браузере и даже на телефоне.

Любые запросы к базам — щёлкаем как семечки 👉 https://dbquacks.com/.
🔥13👍43
📉 На Уолл-стрит началась просадка AI-акций — и спусковым крючком оказался в отчёте MIT.

В нём говорится, что 95% компаний не получают прибыли от внедрения generative AI, а реальные результаты видят только 5%.

Почему так:
- Компании запускают до того, как готовы пайплайны данных, безопасность и обучение сотрудников
- Деньги уходят на сервера и модели, а внедрение в процессы оказывается долгим и дорогим

⚠️ На фоне разговоров про «AI-пузырь» фонды начали выходить из популярных AI-акций, что вызвало обвал.

👉 Но это похоже не на крах, а на проверку реальностью.

Дальнейший рост будет зависеть от реальной экономики ИИ: снижения стоимости инференса и доказанного роста продуктивности.

📌 Источник
👍13😁86🔥4
🌲 Datahike — персистентная база данных на основе Datalog. Это локальная база данных с поддержкой временных запросов и историчностью данных, совместимая с подмножеством API Datomic.

Интрумент используется в проверенных решениях: ядра запросов из DataScript и устойчивой структуры данных hitchhiker-tree. Проект подходит для средних по размеру приложений, где важна простота развертывания и открытая лицензия.

🤖 GitHub

@sqlhub
5👍5🔥2
Media is too big
VIEW IN TELEGRAM
🚀 Jupyter Agent 2

Этот агент умеет:
📂 Загружать данные
💻 Запускать код
📊 Строить графики прямо в Jupyter — быстрее, чем вы успеете прокрутить экран!

🤖 Основан на движке Qwen3-Coder
⚡️ Работает на Cerebras
⚙️ Запускается в E2B
↕️ Поддерживает загрузку файлов

👉 Попробовать можно здесь: https://hf.co/spaces/lvwerra/jupyter-agent-2

@sqlhub
👍147🔥4👎2
This media is not supported in your browser
VIEW IN TELEGRAM
🦆 Полезный интерактивный тренажёр по SQL

Учитесь писать SQL-запросы через игру:
- Пошаговые уроки с живым редактором — пишешь код и сразу видишь результат.
- Задачи и мини-квесты, где вы помогаете Дакберту пробираться сквозь потоки данных.
- Работает бесплатно, прямо в браузере или на телефоне.

🎮 Попробовать: https://dbquacks.com/
🔥119👍4