Релиз СУБД PostgreSQL 9.2
10 сентября 2012 года
После года разработки представлен релиз новой стабильной ветки PostgreSQL 9.2. Кроме реализации новых функций в новой ветке проведена значительная работа по увеличению производительности и масштабируемости, как горизонтальной (распределение нагрузки на несколько серверов), так и вертикальной (оптимальная работа на больших мощных серверах). В качестве примеров возросшей производительности PostgreSQL приводится способность обрабатывать до 350 тыс. запросов на чтение в секунду (в 4 раза больше чем раньше) и до 14 тысяч запросов на запись в секунду (в 5 раз быстрее).
Ключевые улучшения:
- Поддержка типа данных JSON и встроенные средства для манипулирования данными в формате JSON, что позволяет создавать гибридные документо-реляционные базы данных. Дополнительно представлен набор сопутствующих функций для преобразования массивов и строк в JSON-представление;
- Новые типы для определения диапазонов (INT4RANGE, INT8RANGE, NUMRANGE, TSRANGE, TSTZRANGE и DATERANGE), которые могут быть использованы в календарях, временных рядах и аналитических приложениях;
- Расширение возможностей оператора ALTER, упрощающих изменение и обновление структуры работающей БД. Снижение числа ситуаций, когда необходимо перестроение индексов и таблиц при выполнении ALTER TABLE. Поддержка выражения "IF EXIST", позволяющего игнорировать действие если элемент не существует (например, "ALTER FOREIGN TABLE IF EXISTS foo RENAME TO bar"). Добавлены выражения: ALTER FOREIGN DATA WRAPPER / RENAME, ALTER SERVER / RENAME, ALTER DOMAIN / RENAME;
- Поддержка каскадных репликаций, при которых допускается репликация между slave-серверами (ранее slave-сервер мог получать данные только от master-сервера). Возможность создания территориально распределённых реплицированных резервных БД;
- Включение в поставку утилиты pg_receivexlog для архивирования изменений в файлах xlog по мере записи данных, не дожидаясь окончания полного формирования xlog-файла;
- Добавление в утилиту pg_basebackup возможности создания основных резервных копий, используя данные с запасных standby-серверов, что позволяет снять нагрузку с основного сервера в процессе создания бэкапа;
- В представлениях добавлена поддержка опции security_barrier для обеспечения изоляции на уровне строк;
- В libpq добавлена возможность указания строки инициирования соединения в форме URI. В libpq обеспечен однострочный (single-row) режим обработки запросов, позволяющий улучшить обработку больших результирующих наборов данных;
- Многочисленные оптимизации производительности, в том числе:
- Режим сканирования только по индексам при котором scan-операции манипулируют только содержимым индекса, не обращаясь к базовым таблицам. По заявлению разработчиков, выборка только по индексам позволяет увеличить скорость выполнения аналитических запросов от 2 до 20 раз;
- Расширены возможности масштабирования работающих только на чтение конфгураций, поддерживается задействование до 64 процессорных ядер и обеспечения производительности на одном сервере на уровне сотен тысяч запросов в секунду;
- Ускорены операции записи данных, включая выполнение групповых коммитов;
- В планировщик выполнения запросов добавлена поддержка генерации отдельных планов выполнения запроса для специфичных значений параметров;
- Улучшение возможности планировщика запросов по использованию вложенных циклов при внутренних сканированиях индекса;
- Поддержка метода доступа к индексам SP-GiST (Space-Partitioned GiST);
- Снижена нагрузка на CPU в периоды простоя сервера, что позволило снизить потребление энергии и улучшить работу на встраиваемых системах и при использовании виртуализации;
- Проведена оптимизация производительности операций сортировки данных в памяти, что позволило добиться в некоторых ситуациях ускорения до 25%;
- Оптимизировано выполнение операции COPY, которая теперь приводит к установке меньшего числа внутритабличных блокировок и к генерации меньшего объема записей в WAL-лог.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.