Как создавать и применять кастомные запросы в Hibernate? Hibernate — ORM для Java, который упрощает взаимодействие приложения с базой данных. Кастомные запросы применяю, когда нужную сложную выборку нельзя выразить…
Транзакция представляет собой группу операций, выполняемых как единое целое. Основные команды транзакций: BEGIN TRANSACTION — запускает транзакцию. COMMIT — сохраняет внесённые изменения. ROLLBACK — отменяет изменения…
Этапы общего процесса проектирования базы данных Анализ требований: определение бизнес-данных и целей системы Моделирование данных: разработка концептуальной ER-модели Нормализация: сокращение избыточности и…
Как загрузить 10 000 клиентов в БД для нагрузочного тестирования? подготовить данные: создать реалистичные тестовые записи с помощью скриптов или Faker выбрать производительный метод — bulk insert (пакетную вставку),…
Использовать Spring AOP — аспектно-ориентированный подход для перехвата вызовов Создать аспект с аннотацией @Around и применить его к целевым методам Зафиксировать System.nanoTime() непосредственно перед вызовом и…
Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…
ускорение чтения за счёт сокращения числа JOIN рост производительности запросов применение в аналитике и OLAP-системах кэширование предварительно рассчитанных агрегатов увеличение избыточности и риска рассогласования…
Как индексы влияют на производительность Индекс представляет собой структуру данных, предназначенную для ускорения поиска в БД С его помощью строки находятся без полного просмотра таблицы (избегают full table scan)…
Обмен данными выполняется по асинхронному протоколу Для передачи используются очереди (queue) либо топики (publish-subscribe) Микросервисы отправляют сообщения в брокер и подписываются на нужные события Поддерживаются…
Как Redis используется для кэширования данных? Redis представляет собой in-memory key-value хранилище предоставляет микросекундный доступ к данным поддерживает TTL, автоматически удаляя кэш по истечении срока…
SQL-запрос и выборка данных чем больше полей, тем больше данных передаётся: растёт объём в байтах и сетевой трафик увеличение числа полей повышает нагрузку на I/O и сеть сложные типы данных, например LOB и TEXT, могут…