Top Banner
Postgres + = Дружба Олег Бартунов, Postgres Professional Infostart 2016, Санкт-Петербург
21

Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Jul 17, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Postgres + 1С = Дружба

Олег Бартунов,Postgres Professional

Infostart 2016, Санкт-Петербург

Page 2: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Что такое PostgreSQL ?

PostgreSQL - это свободно распространяемаяобъектно-реляционная СУБДРасширяемая — типы данных, операторы,функции, индексы, методы доступаПоддержка SQL (1992, 1999, 2003, 2011), NoSQL(key-value, JSON, JSONB)Разрабатывается независимым мировымсообществом с существенным российскимучастиемПроизношение: post-gress-Q-L, post-gres, пост-грес,pgsql (пэ-жэ-эс-ку-эль)Web: http://www.postgresql.org, лицензия: - BSD

Page 3: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Форки PostgreSQL

2002 2006 2010 2012 20142004 2008

Aster DataTerradata

TruCQCisco

Greenplum

Enterprise PostgresFujtsu

GresCube

HadoopDB

HadaptTerradata

NetezzaIBM

TelegraphCQ

ParAccel Red ShiftAmazon

PipelineDB

Postgres-XC

Postgres-XL

PowerGres

RecDB

VerticaHP

EnterpriseDB

Yahoo! Everest

2015

Коммерческая СУБД СПОhttps://wiki.postgresql.org/wiki/PostgreSQL_derived_databases

Postgres-X2

Greenplum

CitusDB

2016

CitusDB

Postgres Pro

Page 4: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

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

ПРФ, ФНС, Московская Область, РосАтом, МО, Роснефть, МКС, РИА

Page 5: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Российское сообщество PostgreSQL

● Две большие конференции– PGCONF.RU (600 человек)

– PGDAY.RU (400 человек)

– Сессии и квартирники на Highload, RIT, Codefest,Stachka

● Митапы при поддержке крупных компаний -Postgresql Russia

● Чаты на русском– @pgsql(573), Gitter(173), Facebook(2031)

● Рассылка - pgsql-ru-general

● Форум - [email protected]

Page 6: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Российский вендор - Postgres Professional

● Разработка ядра (3 major contributors, 1 committer)– Комьюнити Postgres

– Postgres Pro (сертифицирован ФСТЭК, реестр )

– Postgres Pro 1C, разработка патчей с 2006 года

● Разработка специализированных расширений

● Поддержка, консалтинг, аудит

● Обучение, сертификация– Русская документация

– Курсы DBA1, DBA2, (DEV1, DEV2),

– Курс по разработке ядра

Page 7: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Российская СУБД Postgres Pro

Postgres Pro = PostgreSQL + …

1) Более ранний доступ к новым разработкам (в первуюочередь, российским – 65 патчей в версии 9.6 )

2) Поддержка со стороны российской компании-разработчика

3) Присутствие в Едином Реестре Российского ПО

Открытая версия

● Open Source● BSD-подобная лицензия

Закрытая версия

● Соответствие российскимтребованиям ИБ

● Сертификация ФСТЭК (5 НСД,4 НДВ) — в процессе

● Более высокие уровни — впланах

Page 8: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Postgres<НАШ> ?

Page 9: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

Российские разработчики

PostgreSQL CORE

• MVCC

• WAL

• Subselects

• Vacuum

• Transactions Isolation

• Triggers

Вадим Михеев, Красноярск (PostgreSQL CORE MEMBER)

Page 10: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

10

Российские разработчики

Олег Бартунов, Федор Сигаев, Александр Коротков

PostgreSQL CORE

● Locale support● PostgreSQL extendability:

GiST(KNN), GIN, SP-GiST● Full Text Search (FTS)● NoSQL (hstore, jsonb)● Indexed regexp search● Custom AM & Generic WAL● VODKA access method (WIP)

Расширения:● Intarray● Pg_trgm● Ltree● Hstore● plantuner

● Докладчики PGCon, PGConf: 20+ докладов● Менторы GSoC● Комитеры PostgreSQL (1+1 in progress)● Организаторы конференций● 50+ лет экспертизы PostgreSQL: разработка, аудит, консалтинг● Novartis, Raining Data, Heroku, Engine Yard, WarGaming, Rambler, Avito, 1c

Page 11: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

11

20 лет развития постгресаF

unct

iona

lity

1995 2000 2005 2010 2015

Pos

tgre

s95

1st c

omm

itP

ostg

reS

QL

1st russian patchinternationalization

Trig

gers

Tra

nsac

tion

isol

atio

n

MVCCWAL

GINHstore

FTS KNN GiSTSP-GiST

JSONB

Create AM Generic WAL

PITR

Streaming repSync rep

Cascading rep

Logical decoding

GiST

XML

CTEFDW

Windows

JSON

RLS, Upsert

parallel exec, FDW pushdown

10.0

+

9.6

9.5

9.0

8.0

7.0

6.0

LateralMat VIEW

IOSSSI

Exclusion constraints

Pluggable Table engines XTM, SQL for non-atomic

Page 12: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

12

Импортозамещение

Page 13: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

13

Импортозамещение

Page 14: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

14

Технологическаянезависимость

Page 15: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

15

Технологическаянезависимость

Мировая тенденция к открытым решениям

Page 16: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

16

Пирамида «импортозамещения»

Хороший Open Source продукт (Postgres)

Существенный российский вклад

Рост компетенции

Экосистема отрасли

Импортозамещение

Технологическая

независимость

Конкурентоспособность на мировом рынке

Page 17: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

17

PostgreSQL + 1C = Дружба

Почему PostgreSQL ?

● Экономика и доступность

● Продвинутая СУБД, технологический лидер нарынке свободных СУБД

● Тенденция мирового рынка к открытому ПО

● Тенденция российского рынка к российскому ПО

● Единственная российская СУБД с поддержкой 1C

● Крепкий российский вендор – Postgres Professional

Page 18: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

18

PostgreSQL + 1C = Дружба

● Начало - Postgres 8.1.4 (2006 год), 10 лет !

● Последняя поддерживаемая версия – 9.4– Патчи сейчас недоступны

● Последний релиз PostgreSQL - 9.6

● Сборка Postgres Pro 9.5.4 (Linux, Windows)https://postgrespro.ru/products/1c_build– Внутренний билд 9.6

● Подробно о PostgreSQL+1C докладhttps://pgconf.ru/media/2016/02/19/Ласкин Лев.pdf

● Postgres Pro EE – много улучшений для 1CДоклад Григория Смолкина 29 октября, Малый зал

Page 19: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

19

PostgreSQL + 1C = Патчи

● mchar - MS SQL [varying] character types (not committed due to dependency on libicu. citextextension is similar, but doesn't provides independency on system locale !)

● fulleq, select NULL == NULL => true, support hash joins

● fast truncate (non-transaction safe) – быстрый TRUNCATE для временных таблиц

● optimization (col > 10 or col < 9, (col > 4 and col < 5) or (col > 6 and col < 7)) not committedbecause of high computation complexity and rare need. Append Path + ordered index scans

● Applock (1c) – две новые блокировки, не конфликтующие с постгресовыми.

Сообщество PostgreSQL получило следующие патчи (спасибо 1С !)

● Index support for IS NULL (committed)

● ORDER BY … NULLS [FIRST | LAST] – (committed), index supported

● Typmod for user-defined types (committed)

● Win32 patch to fix pg_stat freezing (committed)

● Plantuner (public) – http://www.sigaev.ru/git/gitweb.cgi?p=plantuner.git

● Online_analyze (public) - http://sigaev.ru/git/gitweb.cgi?p=online_analyze.git

Page 20: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

20

PostgreSQL + 1C = Будущее

● Использование ванильного PostgreSQL (?)1C Fresh уже использует PostgreSQL

● Генерация запросов для PostgreSQL (сейчасориентация на MS SQL)

● Поддержка постгресом статистики кросс-корелляции

● Postgres Pro EE – много улучшений для 1C

(в частности, улучшенная работа с временными таблицами)Доклад Григория Смолкина 29 октября, Малый зал

Page 21: Postgres · PostgreSQL CORE Locale support PostgreSQL extendability: GiST(KNN), GIN, SP-GiST Full Text Search (FTS) NoSQL (hstore, jsonb) Indexed regexp search Custom AM & Generic

СПАСИБО ЗА ВНИМАНИЕ !