DATABASE DESIGN
Відкрити в Telegram
Лучшие материалы по работе с хранилищами данных на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Показати більше1 356
Підписники
-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 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 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 |
| 4 | Уже знаете свой уровень в Java-разработке?
В разработке, как и в карьере, важна конкретика. Сертификация для Java-разработчиков — это объективное измерение ваших навыков. Стандарт уже признан АПКИТ и получил награду как лучшее digital-решение для обучения.
В системе три уровня, подходящие для разного опыта: от новичков в профессии до экспертов, проектирующих сложные решения.
Плюсы:
➡️ После экзамена вы получаете отчёт с оценкой каждой компетенции в процентах: от Core до многопоточности — сразу видно, что стоит прокачать.
➡️ Данные сертификата публичны: работодатель может мгновенно проверить его подлинность на сайте.
Как подобрать свой уровень?
Пройдите бесплатный пробный тест — он займёт около 30 минут. Тест подскажет, какой экзамен выбрать, и позволит скачать полную карту компетенций Java-разработчика.
📎 Выбрать уровень или пройти бесплатное тестирование
Это #партнёрский пост | 0 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
