DATABASE DESIGN
前往频道在 Telegram
Лучшие материалы по работе с хранилищами данных на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
显示更多1 354
订阅者
-324 小时
-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个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 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 |
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
