DATABASE DESIGN
Відкрити в Telegram
Лучшие материалы по работе с хранилищами данных на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Показати більше1 354
Підписники
Немає даних24 години
-27 днів
-830 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+5
в 0 каналах
травень '26
+4
в 0 каналах
Get PRO
квітень '26
+9
в 0 каналах
Get PRO
березень '26
+4
в 0 каналах
Get PRO
лютий '26
+5
в 0 каналах
Get PRO
січень '26
+8
в 0 каналах
Get PRO
грудень '25
+9
в 0 каналах
Get PRO
листопад '25
+21
в 0 каналах
Get PRO
жовтень '25
+19
в 0 каналах
Get PRO
вересень '25
+27
в 0 каналах
Get PRO
серпень '25
+15
в 0 каналах
Get PRO
липень '25
+4
в 0 каналах
Get PRO
червень '25
+7
в 0 каналах
Get PRO
травень '25
+25
в 0 каналах
Get PRO
квітень '25
+13
в 0 каналах
Get PRO
березень '25
+34
в 0 каналах
Get PRO
лютий '25
+18
в 0 каналах
Get PRO
січень '25
+15
в 0 каналах
Get PRO
грудень '24
+14
в 0 каналах
Get PRO
листопад '24
+17
в 0 каналах
Get PRO
жовтень '24
+9
в 0 каналах
Get PRO
вересень '24
+17
в 0 каналах
Get PRO
серпень '24
+18
в 0 каналах
Get PRO
липень '24
+20
в 0 каналах
Get PRO
червень '24
+24
в 0 каналах
Get PRO
травень '24
+20
в 0 каналах
Get PRO
квітень '24
+18
в 0 каналах
Get PRO
березень '24
+20
в 0 каналах
Get PRO
лютий '24
+20
в 0 каналах
Get PRO
січень '24
+26
в 0 каналах
Get PRO
грудень '23
+51
в 0 каналах
Get PRO
листопад '23
+21
в 0 каналах
Get PRO
жовтень '23
+48
в 0 каналах
Get PRO
вересень '23
+47
в 0 каналах
Get PRO
серпень '23
+39
в 0 каналах
Get PRO
липень '23
+19
в 0 каналах
Get PRO
червень '23
+28
в 0 каналах
Get PRO
травень '23
+19
в 0 каналах
Get PRO
квітень '23
+43
в 0 каналах
Get PRO
березень '23
+38
в 0 каналах
Get PRO
лютий '23
+29
в 0 каналах
Get PRO
січень '23
+25
в 0 каналах
Get PRO
грудень '22
+69
в 0 каналах
Get PRO
листопад '22
+44
в 0 каналах
Get PRO
жовтень '22
+48
в 0 каналах
Get PRO
вересень '22
+67
в 0 каналах
Get PRO
серпень '22
+88
в 0 каналах
Get PRO
липень '22
+131
в 0 каналах
Get PRO
червень '22
+68
в 0 каналах
Get PRO
травень '22
+86
в 0 каналах
Get PRO
квітень '22
+358
в 0 каналах
Get PRO
березень '22
+1 291
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 25 червня | 0 | |||
| 24 червня | 0 | |||
| 23 червня | 0 | |||
| 22 червня | 0 | |||
| 21 червня | 0 | |||
| 20 червня | 0 | |||
| 19 червня | 0 | |||
| 18 червня | +1 | |||
| 17 червня | 0 | |||
| 16 червня | +2 | |||
| 15 червня | +1 | |||
| 14 червня | 0 | |||
| 13 червня | 0 | |||
| 12 червня | +1 | |||
| 11 червня | 0 | |||
| 10 червня | 0 | |||
| 09 червня | 0 | |||
| 08 червня | 0 | |||
| 07 червня | 0 | |||
| 06 червня | 0 | |||
| 05 червня | 0 | |||
| 04 червня | 0 | |||
| 03 червня | 0 | |||
| 02 червня | 0 | |||
| 01 червня | 0 |
Дописи каналу
Архитектура, которая не прощает ошибок
Представьте систему, где вы не можете накатить хотфикс, перезагрузить сервер или добавить памяти. Ваш код летит в межзвездном пространстве, и любая ошибка в проектировании приведет к полной потере данных.
Именно с такими вызовами сталкивались инженеры прошлого. Ребята из Яндекса и Tproger собрали главные архитектурные парадоксы в интерактивный квест.
Они нарисовали космическую карту, где каждая планета — это отдельный инструмент для разработчика (от облачных сред до сканера уязвимостей). Вы летите по планетарной системе, изучаете фичи и разминаете мозги историческими загадками.
А если хотите выиграть настоящие космические призы вроде профессионального телескопа:
1. Проходите квест. Каждый правильный ответ — плюс балл для розыгрыша.
2. Регистрируйтесь на платформе SourceCraft.
3. Присылайте ссылку на свой репозиторий.
Запускайте миссию и проверьте свою эрудицию.
| 2 | Один логический оператор ускоряет запрос в 32 раза: почему NOT EXISTS быстрее
Если в таблице есть булево поле (например, deleted), и большинство строк имеют одно значение, а меньшинство — другое, то способ написания запроса может кардинально повлиять на скорость.
Пример: 50 млн записей, удалено всего 2%. Для активных строк построен большой индекс (1 ГБ), для удалённых — маленький (22 МБ). Логически одинаковые запросы:
— EXISTS (SELECT ... WHERE NOT deleted) — ищет в большом индексе, находит строку почти всегда, и затем идёт в основную таблицу, чтобы проверить актуальность данных.
— NOT EXISTS (SELECT ... WHERE deleted) — ищет в маленьком индексе, не находит строку в 98% случаев и сразу завершает работу, не обращаясь к основной таблице.
Результат: 22,5 секунды против 717 миллисекунд. Разница в 32 раза.
Суть в том, что проверка «не найдено» обходится дешево. А «найдено» требует дополнительного чтения из основной таблицы. Эту логику можно применять к любым полям, где одно значение встречается редко: is_archived, is_banned, is_draft.
Подробные бенчмарки и объяснения : https://postgres.ai/blog/20260311-not-exists-vs-exists-partial-index | 0 |
| 3 | Cosine, Euclidean, Dot Product — что ставить в векторной базе
Разберём, что делает каждый из этих вариантов, и почему cosine стоит по умолчанию.
Euclidean (L2) — считает расстояние между двумя точками в пространстве. Чем ближе друг к другу точки, тем ближе и смыслы, стоящие за ними. Зависит и от направления векторов, и от их длины.
Cosine — считает угол между векторами, длина не учитывается. Два вектора с одинаковым направлением дадут сходство 1, даже если абсолютные значения их компонент различаются в разы.
Dot product — скалярное произведение, учитывает и направление, и длину. Чем больше значение, тем сильнее похожи векторы. Это полезно, когда длина вектора несёт смысл — например, отражает «уверенность» модели.
Большинство популярных моделей эмбеддингов (OpenAI, Cohere, модели из MTEB-лидербордов) выдают нормализованные векторы — единичной длины. Для таких векторов все три метрики дают одинаковый ранкинг результатов.
Тогда почему косинус дефолтный
Потому что он более безопасный и надёжный. Если векторы не нормализованы (вы используете кастомную модель, дообучали что-то своё, берёте эмбеддинги из промежуточных слоёв) — cosine всё равно будет работать корректно, потому что длина вектора на результат не повлияет. Euclidean и dot product в этой ситуации начнут учитывать длину вектора наравне со смысловой близостью, и порядок результатов будет другим.
Что делать
Проверить, нормализованы ли эмбеддинги модели (обычно это написано в документации). Если да — можно ставить что угодно, разницы не будет. Если нет или непонятно — cosine. Если длина вектора значима — dot product.
Если хотите разобраться более системно, посмотрите курс «Математика для анализа данных» от Яндекс Практикума PRO.
В курсе нужная вам база: линейная алгебра, матанализ, теория вероятностей и статистика. Те самые векторы, нормы, косинусные расстояния, градиентный спуск, регрессия, SVD, A/B-тесты. Попробуйте силы на вводной части, это бесплатно.
Реклама. Рекламодатель: АНО ДПО «Образовательные технологии Яндекса» ИНН 7704282033, erid: 2W5zFJLXwkm | 0 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
