Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
Mostrar más📈 Análisis del canal de Telegram Data Science. SQL hub
El canal Data Science. SQL hub (@sqlhub) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 36 141 suscriptores, ocupando la posición 3 709 en la categoría Tecnologías y Aplicaciones y el puesto 17 596 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 36 141 suscriptores.
Según los últimos datos del 25 octubre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 194, y en las últimas 24 horas de -4, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 7.94%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 3.82% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 2 872 visualizaciones. En el primer día suele acumular 1 380 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 9.
- Intereses temáticos: El contenido se centra en temas clave como sql, индекс, postgres, index, sqlite.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 26 octubre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
sqlite3 часто достаточно. APSW полезен, когда нужны расширенные возможности SQLite и более глубокий контроль над движком.
Установка: pip install apsw
https://github.com/rogerbinns/apswoplog фиксирует логические операции. Запись подтверждается после устойчивого сохранения большинством реплик журнала.
• phylog передаёт физические изменения страниц при checkpoint, сохраняя пакетную обработку WiredTiger.
То есть подтверждение записи отделено от подготовки страниц для чтения.
Новая read replica подключается к общим страницам и догоняет хвост журнала. Ей не нужно сначала копировать всю базу. А данные шифруются на вычислительном узле: общий storage-слой работает с зашифрованным содержимым.
Для приложения сохраняются протокол, драйверы и семантика операций. Меняется инфраструктура под базой. Atlas Infinite пока в public preview.
Хороший разбор для тех, кому интересны внутренности СУБД:
https://muratbuffalo.blogspot.com/2026/10/atlas-infinite-mongodbs-disaggregated.htmlid | start_at | end_at
---+----------+-------
1 | 1 | 10
2 | 2 | 3
3 | 9 | 12
4 | 15 | 16
5 | 16 | 20
Объедините пересекающиеся и соприкасающиеся интервалы. Вложенные интервалы тоже учитываются.
Ожидаемый результат:
start_at | end_at
---------+-------
1 | 12
15 | 20
Попробуйте решить до просмотра ответа 👇
Решение для PostgreSQL:
WITH bounds AS (
SELECT *,
MAX(end_at) OVER (
ORDER BY start_at, end_at, id
ROWS BETWEEN UNBOUNDED PRECEDING
AND 1 PRECEDING
) AS prev_max
FROM intervals
),
marked AS (
SELECT *,
CASE WHEN prev_max IS NULL
OR start_at > prev_max
THEN 1 ELSE 0 END AS new_group
FROM bounds
),
grouped AS (
SELECT *,
SUM(new_group) OVER (
ORDER BY start_at, end_at, id
ROWS UNBOUNDED PRECEDING
) AS grp
FROM marked
)
SELECT MIN(start_at) AS start_at,
MAX(end_at) AS end_at
FROM grouped
GROUP BY grp
ORDER BY start_at;
Подвох: LAG(end_at) для интервала [9,12] вернёт 3 и ошибочно начнёт новую группу. Но более ранний интервал [1,10] всё ещё перекрывает его.
Нужен максимальный конец среди всех предыдущих строк, а не только конец соседней.1 и 99 через границу всего 2 единицы.
Для каждой точки найдите всех ближайших соседей, исключая саму точку.
WITH points(id, x, y) AS (
VALUES (1, 1, 1), (2, 99, 99), (3, 3, 99)
),
distances AS (
SELECT a.id, b.id AS neighbor,
POWER(LEAST(ABS(a.x-b.x), 100-ABS(a.x-b.x)), 2)
+ POWER(LEAST(ABS(a.y-b.y), 100-ABS(a.y-b.y)), 2) AS d2
FROM points a
JOIN points b ON a.id <> b.id
),
ranked AS (
SELECT *,
DENSE_RANK() OVER (
PARTITION BY id ORDER BY d2
) AS r
FROM distances
)
SELECT id, neighbor, SQRT(d2) AS distance
FROM ranked
WHERE r = 1
ORDER BY id, neighbor;
Ответ: 1 → 2, 3; 2 → 1; 3 → 1. Расстояние во всех случаях √8 ≈ 2,828.
Подвох: по каждой оси выбираем минимум между прямым путём и переходом через границу. DENSE_RANK() сохраняет все равные минимумы, а ранжирование по квадрату расстояния позволяет вычислить корень только при выводе.