DATABASE DESIGN
前往频道在 Telegram
Лучшие материалы по работе с хранилищами данных на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
显示更多1 357
订阅者
-224 小时
-47 天
-1030 天
数据加载中...
吸引订阅者
六月 '26
六月 '260
在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个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 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 | 298 |
| 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 | 224 |
| 4 | Уже знаете свой уровень в Java-разработке?
В разработке, как и в карьере, важна конкретика. Сертификация для Java-разработчиков — это объективное измерение ваших навыков. Стандарт уже признан АПКИТ и получил награду как лучшее digital-решение для обучения.
В системе три уровня, подходящие для разного опыта: от новичков в профессии до экспертов, проектирующих сложные решения.
Плюсы:
➡️ После экзамена вы получаете отчёт с оценкой каждой компетенции в процентах: от Core до многопоточности — сразу видно, что стоит прокачать.
➡️ Данные сертификата публичны: работодатель может мгновенно проверить его подлинность на сайте.
Как подобрать свой уровень?
Пройдите бесплатный пробный тест — он займёт около 30 минут. Тест подскажет, какой экзамен выбрать, и позволит скачать полную карту компетенций Java-разработчика.
📎 Выбрать уровень или пройти бесплатное тестирование
Это #партнёрский пост | 106 |
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
