Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
显示更多📈 Telegram 频道 Data Science. SQL hub 的分析概览
频道 Data Science. SQL hub (@sqlhub) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 35 848 名订阅者,在 技术与应用 类别中位列第 3 835,并在 俄罗斯 地区排名第 18 129 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 35 848 名订阅者。
根据 13 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -8,过去 24 小时变化为 -11,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 9.82%。内容发布后 24 小时内通常能获得 4.08% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 3 522 次浏览,首日通常累积 1 461 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 13。
- 主题关注点: 内容集中在 sql, индекс, postgres, index, sqlite 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
凭借高频更新(最新数据采集于 14 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
docker.io/gvenzl/oracle-free
- ghcr.io/gvenzl/oracle-free
💡 Что нового:
✅ Автоплаг PDB:
Если вы заранее подготовили .pdb`-файлы, просто поместите их в `/pdb-plug и укажите нужные имена через переменную ORACLE_DATABASE. Контейнер сам подключит их как полноценные базы, минуя процесс создания с нуля.
✅ Новый механизм healthcheck-кодов:
Контейнер теперь возвращает коды от 0 до 5, показывая текущую стадию запуска:
- 0 — база данных полностью готова
- 1 — база ещё не готова
- 2 — контейнер инициализируется
- 3 — происходит подключение/создание PDB
- 4 — выполняются init-скрипты
- 5 — выполняются пользовательские startup-скрипты
✅ Новые возможности в самой Oracle Database 23.8:
- Поддержка векторных операций и пользовательских функций расстояния
- Расширенная работа с JSON-типами и массивами
- Dynamic Statistics для PL/SQL
- Elastic Vector Memory
- Ограниченное выполнение JavaScript в БД (Restricted Execution Contexts)
📦 Пример запуска:
docker pull gvenzl/oracle-free:23.8-full
docker run --name oracle \
-e ORACLE_DATABASE="mydb" \
-v $(pwd)/mydb.pdb:/pdb-plug/mydb.pdb \
gvenzl/oracle-free:23.8-full
📌 Подробнее
@sqlhubobject_store позволяет подключать даже кастомные хранилища.
🤖 GitHub
@sqlhubCustomer Orders (CO) моделирует систему управления заказами в розничной торговле. Подходит для обучения, тестов и демонстрации возможностей Oracle Database.
🔹 Основные особенности:
• Хранение товаров с описанием в JSON
• Учёт заказов, клиентов, магазинов и отправок
• Поддержка офлайн и онлайн-продаж
• Использование современных SQL-возможностей
🔹 Таблицы:
• products — товары, цены, JSON-описание и изображения
• customers — покупатели с ID, именем и email
• orders — заказы с датой, статусом и привязкой к магазину
• order_items — позиции в заказе, количество, цена, доставка
• stores — физические и онлайн-точки продаж
• shipments — информация об отправке товара
📦 Схема отражает типичный розничный бизнес-процесс и показывает, как можно сочетать структурированные данные и JSON в Oracle DB.
📌 Github
@sqlhubMERGE — это быстрее, чище и атомарно.
🔧 Пример:
MERGE INTO employees e
USING (SELECT 101 AS emp_id, 'Alice' AS name FROM dual) src
ON (e.emp_id = src.emp_id)
WHEN MATCHED THEN
UPDATE SET e.name = src.name
WHEN NOT MATCHED THEN
INSERT (emp_id, name)
VALUES (src.emp_id, src.name);
📌 Что делает:
• Ищет по ключу (`ON`)
• Если запись есть — обновляет
• Если нет — вставляет
• Всё за один проход, без гонок и лишних проверок
⚡ Почему это важно:
• Меньше round-trip'ов между приложением и БД
• Атомарная логика — MERGE гарантирует целостность
• Лучше подходит для ETL, синхронизации, загрузки внешних данных
🧠 Вывод: если пишешь IF EXISTS THEN UPDATE ELSE INSERT — ты уже проиграл.
Пиши MERGE, и база всё сделает за тебя.#![forbid(unsafe_code)]
● Кастомизация: Vi/Emacs режимы, локализации, собственные темы вывода
📥 Установка
curl -LsSf https://raw.githubusercontent.com/theseus-rs/rsql/main/install.sh | sh
🧪 Пример использования
# Одноразовый запрос к SQLite
rsql --url "sqlite://file.db" -- "SELECT * FROM users LIMIT 5;"
# Интерактивная сессия с PostgreSQL
rsql --url "postgres://user:pass@localhost/db"
🆕 Что нового в v0.19.0
Добавлены драйверы CrateDB и FlightSQL
Появился metadata-catalog для удобной навигации по источникам данных
Улучшены примеры, обновлены зависимости, повышена стабильность
🔗 GitHub: https://github.com/theseus-rs/rsql
rsql — универсальный инструмент, который понравится аналитикам, разработчикам и data-инженерам, нуждающимся в максимально быстром и простом SQL-клиенте.
@sqlhub em.flush(), что упрощает работу со сложными доменными моделями.
Для работы с отношениями достаточно добавить entity в коллекцию, и MikroORM сам решит, нужен INSERT или UPDATE. Инструмент поддерживает 7 СУБД, включая MongoDB и libSQL, а для валидации достаточно декораторов в духе @Property().
🤖 GitHub
@sqlhubemployees, где хранится история переводов сотрудников между отделами:
CREATE TABLE employees (
employee_id INT,
department VARCHAR(50),
start_date DATE,
end_date DATE
);
Пример данных:
employee_id department start_date end_date
1 Sales 2020-01-01 2022-01-01
1 HR 2022-01-02 NULL
2 Sales 2019-05-01 2021-05-01
2 Sales 2021-05-02 NULL
3 HR 2022-06-01 NULL
🎯 Задача: Найдите всех сотрудников, которые работали в одном и том же отделе без перерыва более 3 лет.
Если человек работал в Sales 2+ периода подряд — они считаются одним, если не было пропуска между ними.
🛠 Решение на PostgreSQL:
WITH ordered_periods AS (
SELECT *,
LAG(end_date) OVER (PARTITION BY employee_id, department ORDER BY start_date) AS prev_end
FROM employees
),
grouped_periods AS (
SELECT *,
CASE
WHEN prev_end IS NULL OR prev_end + INTERVAL '1 day' < start_date THEN 1
ELSE 0
END AS is_new_group
FROM ordered_periods
),
group_tags AS (
SELECT *,
SUM(is_new_group) OVER (PARTITION BY employee_id, department ORDER BY start_date) AS group_id
FROM grouped_periods
),
grouped_ranges AS (
SELECT employee_id, department, group_id,
MIN(start_date) AS period_start,
MAX(COALESCE(end_date, CURRENT_DATE)) AS period_end
FROM group_tags
GROUP BY employee_id, department, group_id
),
long_periods AS (
SELECT employee_id, department, period_start, period_end,
(period_end - period_start) AS duration_days
FROM grouped_ranges
WHERE period_end - period_start > INTERVAL '3 years'
)
SELECT *
FROM long_periods;
🔍 Разбор логики:
• Сначала находим предыдущие даты окончания для сравнения.
• Метим, где начинается новая непрерывная группа.
• Суммируем метки — получаем уникальные группы без разрывов.
• Группируем и считаем длительность.
• Оставляем только тех, кто проработал более 3 лет подряд в одном отделе.
📌 Такая задача хороша для собеседований: проверяет оконные функции, интервалы и группировки по логике, а не только по ключам.
@sqlhub
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
