Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Science. SQL hub
تُعد قناة Data Science. SQL hub (@sqlhub) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 36 138 مشتركاً، محتلاً المرتبة 3 717 في فئة التكنولوجيات والتطبيقات والمرتبة 17 613 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 36 138 مشتركاً.
بحسب آخر البيانات بتاريخ 26 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 181، وفي آخر 24 ساعة بمقدار -9، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 8.14%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 3.93% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 941 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 422 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 9.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل sql, индекс, postgres, index, sqlite.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 27 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
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() сохраняет все равные минимумы, а ранжирование по квадрату расстояния позволяет вычислить корень только при выводе.