Pull to refresh
9
56.5
Tantor Labs @TantorLabs

СУБД, машины БД, целостный стек управления данными

Send message

Внутристраничная очистка в индексах PostgreSQL

Level of difficultyEasy
Reading time12 min
Views2.1K

Внутристраничная очистка (HOT cleanup) — это оптимизация, благодаря которой старые версии строк могут эффективно удаляться из блоков таблиц. Освобождённое место используется под размещение новой версии строки. Освобождается только место, занимаемое версиями строк, вышедшими за горизонт базы данных (xmin horizon). В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.

Читать далее

Трассировка запросов в Postgres с расширением pg_trace

Level of difficultyMedium
Reading time11 min
Views2.9K

В рамках статьи расскажем о расширении pg_trace, предназначенном для сбора трассировок запросов в PostgreSQL, соберем трассировку на реальном примере работы приложения, оценим влияние сбора трассировки на производительность и агрегируем данные трассировки.

Читать далее

Как провести нагрузочное тестирование БД PostgreSQL и ничего не забыть

Level of difficultyEasy
Reading time14 min
Views3.5K

При нагрузочном тестировании баз данных Tantor Postgres или других на базе PostgreSQL с использованием стандартного инструмента pgbench отсутствие фиксации деталей окружения (таких как конфигурация СУБД, характеристики сервера, версии ПО) часто приводит к нерепрезентативным результатам и необходимости повторных тестов. В статье рассматривается разработанный автором инструмент pg_perfbench, который призван решить эту проблему.

Читать далее

Работа с длинными строками в PostgreSQL

Level of difficultyMedium
Reading time9 min
Views5.1K

Если в таблицах БД PostgreSQL есть поля большого размера, при выгрузке часть строк таких таблиц может не выгружаться с выдачей ошибки ERROR: out of memory. Столкнуться с подобной ситуацией можно, например, при выгрузке утилитой pg_dump таблиц, в которых хранятся XML-документы, или при выгрузке таблицы public.config системы «1C:Предприятие». В статье рассматриваются причины возникновения подобных ошибок и способы решения проблемы.

Читать далее

Information

Rating
162-nd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Database Administrator, Database Developer
Lead
PostgreSQL
SQL
Database
Algorithms and data structures