Что нового в postgres и что это даёт для 1С · postgres –СУБД...

24
Что нового в Postgres и что это даёт для 1С Иван Панченко Postgres Professional postgrespro.ru

Upload: others

Post on 04-Sep-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

Что нового в Postgresи

что это даёт для 1С

Иван Панченко

PostgresProfessional

postgrespro.ru

Page 2: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

2

Небольшое введение

Postgres – СУБД общего назначения

Это семейство продуктов, в которое входит

PostgreSQL – наиболее совершенная open source СУБД

Postgres Pro – российская коммерческая СУБД

Другие продукты

Поддерживается платформой 1С

Page 3: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

3

Postgres - №4

https://db-engines.com/en/ranking

Page 4: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

4

Что нового в Postgres ?

Версия 10 и то, что в ней появилось

Postgres Pro и 1С

Сертификация Postgres Pro

Page 5: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

5

PostgreSQL v 10

Выход – в начале октября

Новая нумерация

Изменения для DBA

«Нативное» секционирование таблиц

Логическая репликация

Повышение производительности

Прочее

Page 6: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

6

Изменения для DBA

Переименование каталогов

pg_xlog → pg_wal, pg_clog → pg_xact и т.п.

Поддержка библиотеки ICU

Расширение amcheck для проверки целостности B-Tree

SELECT bt_index_check(oid)

Ещё одно напоминание о важности fsync = on

Page 7: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

7

Безопасность

SCRAM-аутентификация

Более безопасный способ аутентификации

password_encryption=scram-sha-256

Теперь невозможно хранить и передавать пароли

незашифрованными

Page 8: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

8

Параллельная обработка запросов

9.3: Инфраструктура

background workers

9.6: Появление

Parallel sequential scans

Hash joins

Nested Loops

10.0: Улучшение

Bitmap heap scans

Index scans

Merge joins

Subqueries

>10.0: Продолжение

Create index

Parallel Append

Page 9: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

9

Повышение производительности

Улучшенный параллелизм (см пред.слайд)

Параллельная индексная выборка, выборка по bitmap, ….

set max_parallel_workers_per_gather=4;

Многопараметрическая статистика

CREATE STATISTICS name ON col1, col2, ….

Улучшение планировщика и исполнителя запросов

(~20%)

Улучшение FDW Push-down

Задел для JIT-компиляции запросов

Page 10: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

10

Логическая репликация

Управляется на уровне отдельных таблиц

Может быть между разными версиями СУБД и разными ОС

Бесшовный upgrade

Реплика не обязательно read-only

Шаг к мультимастеру

SQL интерфейс для управления

Пока не реплицирует:

DDL, TRUNCATE, последовательности

Page 11: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

11

Логическая репликация

На мастере: wal_level = logical

CREATE/ALTER/DROP PUBLICATION name

[ FOR TABLE [ ONLY ] table_name [ * ] [, ...]

| FOR ALL TABLES ]

[ WITH ( publication_parameter [= value] [, ... ] ) ]

WITH (publish = ʼinsert, deleteʼ)

На реплике:

CREATE/ALTER/DROP SUBSCRIPTION subscription_name

CONNECTION 'conninfo'

PUBLICATION publication_name [, ...]

[ WITH ( subscription_parameter [= value] [, ... ] ) ]

WITH ( copy_data = false )

Page 12: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

12

Потоковая репликация

Quorum commit для потоковой репликации

Полезно при нескольких синхронных репликах:

synchronous_standby_names = ANY 2(node1,node2,node3);

Теперь и для HASH-индексов

Page 13: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

13

Для отказоустойчивости

Возможность выбирать один из серверов для

подключения

host=host1,host2,host3 target_session_attrs=read-write

Полезно для работы в отказоустойчивых конфигурациях.

Раньше было только в JDBC.

Traceable commit

INSERT INTO ... RETURNING txid_current();SELECT txid_status(….)

Page 14: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

14

Секционирование таблиц (1)

Раньше:

CREATE TABLE some (

created TIMESTAMPTZ NOT NULL,

some_data TEXT

);

CREATE TABLE some_2017 (

CONSTRAINT c2017 CHECK (

created BETWEEN DATE ‘2017-01-01’ AND

DATE ‘2018-01

));

…….

Теперь:

CREATE TABLE some (

created TIMESTAMPTZ NOT NULL,

some_data TEXT

) PARTITION BY RANGE(created);

CREATE TABLE some_2017

PARTITION OF some ….

FOR VALUES FROM DATE ‘2017-01-01’ TO ‘2018-01-

01’

));

…….

Page 15: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

15

Секционирование таблиц (2)

PARTITION BY RANGE; PARTITION BY LIST

Внутри почти то же, что и раньше

Скорость такая же

Партиции и индексы создавать (делить, сливать) вручную

Нет работы с внешними партициями

Но есть задел на будущее

Если надо быстрее – расширение pg_pathman

https://github.com/postgrespro/pg_pathman

Page 16: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

16

Разное

XMLTABLE (better standard, infrastucture for json_table)

Больше статистики по ожиданиям и репликации

Security Technical Implementation Guide (STIG DoD),

первая из open source СУБД

RLS – запретительные политики

Полнотекстовый поиск для JSONB

И многое другое

Page 17: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

17

Postgres Pro

Российский продукт (Реестр, ФСТЭК)

Поддерживает 1С «из коробки»

С 2017 года – официально: http://v8.1c.ru/requirements/

Варианты:

• Standard (PostgreSQL + патчи (1С, фиксы, оптимизации))

• Enterprise (Standard + существенная оптимизация)

Page 18: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

18

Postgres Pro Enterprise

Компрессия таблиц

Мультимастер

Адаптивный оптимизатор запросов

Инкрементальный backup

Автоматическое конфигурирование

Оптимизация работы с временными таблицами

64-разрядный счетчик транзакций

Встроенный планировщик и мониторинговый агент…

Page 19: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

19

Postgres Pro и 1С

С июля 2017 г – официальное подтверждение

совместимости Postgres Pro и 1C:Предприятия 8

На основе тестов, проводимых Postgres Professional

совместно с ALP Group

Имеется подтверждение для версии Enterprise с 9.6.3.1;

для версии Standard – ожидается (тесты прошли). Будут

тестироваться все новые версии

Самые выгодные условия для партнёров

ALP Group предоставляет комплексную поддержку:

Базальт Linux + Postgres Pro + 1C:Предприятие

Page 20: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

20

Postgres Pro и 1С: примеры

Госкорпорация:

Платформа 1С 8.3.8

АСКУ+АСБНУ+ФСЗУП

150 пользователей

APDEX > 0.987

Партнер

На том же оборудовании Postgres

Pro Enterprise поддерживает на

20% больше пользователей

Крупная торговая сеть

Платформа 1С 8.3.8

ТОиР

1500 пользователей

Page 21: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

21

Postgres Pro Enterprise для 1С: лицензирование

По аппаратным ядрам или виртуальным ядрам ВМ

1-й год поддержки 24х7 входит в стоимость

Поддержка = 20% от лицензий в год + НДС

Part# Описание Цена, руб

PPC-86-LIC Лицензия СУБД Postgres Pro для 1С на 1 ядро х86 78 000

Page 22: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

22

Postgres Pro Enterprise для 1С: лицензирование по пользователям

Лицензия на сервер и на пользователей

1-й год поддержки 24х7 входит в стоимость

Наилучшие условия в 1С:Дистрибуция

Part# Описание Цена, руб

PPC-SRV-LIC Лицензия СУБД Postgres Pro Enterprise для 1C на 1 сервер 16 800 ₽

PPC-USR-1 Лицензия СУБД Postgres Pro Enterprise для 1C на 1 пользователя 8 500 ₽

PPC-USR-5 Лицензия СУБД Postgres Pro Enterprise для 1C на 5 пользователей 42 500 ₽

PPC-USR-10 Лицензия СУБД Postgres Pro Enterprise для 1C на 10 пользователей 85 000 ₽

PPC-USR-20 Лицензия СУБД Postgres Pro Enterprise для 1C на 20 пользователей 170 000 ₽

PPC-USR-50 Лицензия СУБД Postgres Pro Enterprise для 1C на 50 пользователей 425 000 ₽

PPC-USR-100 Лицензия СУБД Postgres Pro Enterprise для 1C на 100 пользователей 850 000 ₽

Page 23: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

23

Postgres Pro для 1С: правила лицензирования

Лицензии и поддержка приобретаются на серверы в

промышленной эксплуатации

Серверы разработки и тестирования не требуют

приобретения лицензий

Для получения СУБД для тестов – обратитесь к нам

Page 24: Что нового в Postgres и что это даёт для 1С · Postgres –СУБД общего назначения Это семейство продуктов, в которое

24

Postgres Pro для 1С: лицензирование по пользователям

Государственные организации

Государственные компании

Заказчики с требованиями по сертификации

Коммерческие организации, желающие сэкономить

Пользователи PostgreSQL