Олег Бартунов: Про «Postgres Pro»

Компания Источник: obartunov.livejournal.com

          Завтра рано утром я улетаю в Луклу навстречу треку, который я ждал целый год. Мы планируем пройти 5 высокогорных перевалов и 4 долины, увидеть еще раз высочайшие горы мира, ну и померзнуть в палатках, куда уж без этого. Моя голова уже почти отключилась от забот "того мира", но я попытаюсь объяснить зачем мы начали свои форки постгреса. Я уже наталкивался в сети на мифы вокруг наших сборок, что с одной стороны хорошо, ибо это означает, что дистрибутивами стали интересоваться и пользоваться, но это также означает, что мы недостаточно ясно пояснили наши мотивы. Поэтому я попробую это сделать сейчас, перед тем, как сдам ноутбук в камеру хранения.






          Мне понравился этот монах, который стоически несколько часов стоял неподвижно, чем-то он был похож на отважного Щелкунчика. Я пожертвовал один раз, а потом не выдержал и положил денег еше раз.

          Итак, мы имеем:

 

Postgres Pro Standard   |   Postgres для Windows   |   Postgres для 1C   |   Postgres Pro Sertificate   |   Postgres Pro Enterprise



Postgres Pro (он же Postgres Pro Standard), доступен с исходными текстами, включает некоторые наши патчи, которые уже попали в девелоперскую версию ванильного Постгреса, обычно отслеживает версии ванильного Постгреса, с которым сохраняет совместимость. Этим мы даем возможность пользователям быстрее попробовать новые фичи ванильного Постгреса.



Postgres для Windows - это наша сборка ванильного Постгреса для Windows, в которой мы улучшили локализацию, добавили оптимизацию конфигурации сервера и исправили некоторые критические баги.





Postgres для 1C - наши сборки ванильного Постгреса + наши патчи для Windows и Linux, совместимые с 1C. Пользователи отмечают, что наши сборки реально работают с 1С и с хорошей производительностью. Мы ведем работу с 1С для улучшения работы Постгреса с платформой.




Postgres Pro Certificate - закрытый форк Postgres Pro (9.5.2.1), прошедший сертификацию ФСТЭК, доступен для покупки и поддержки. Теперь можно хранить персональные данные в Постгресе совершенно легально. Чтобы удовлетворить требованиям ФСТЭК нам пришлось разработать специальные патчи безопасности, которые практически невозможно протолкнуть в сообщество (в ванильный Постгрес), поэтому нам пришлось сделать закрытый форк.

Этот форк включает патчи для очистки памяти, проверки контрольных сумм бинарников и другие. Очевидно, что такие патчи сообществу совсем не нужны. Отмечу, что ванильный Постгрес недавно прошел сертификацию на Common Criteria, но на самый низший уровень, для которого не требовались дополнительные работы. Я надеюсь, что со временем ванильный Постгрес будет сертифицироваться на более высокие уровни и тогда мы сможем пропихнуть (отдадим) наши патчи безопасности и поддержка нашего форка станет легче.


Postgres Pro Enterprise - коммерческий форк Postgres Pro, который не совместим с ванильным Постгресом, сейчас тестируется внутренний релиз 1.0, в середине декабря мы покажем версию 1.5 и к концу февраля планируем отдать нашим клиентам версию 2.0.

(Примечание: это внутренняя условная нумерация, эти версии будут доступны пользователям под номерами, соответствующими актуальным релизам Postgres Pro)

История этого форка началась с совещания разработчиков Постгреса весной этого года (2016), на котором Саша Коротков представил план разработок Postgres Professional, который мы подготовили перед конференцией исходя из запросов наших клиентов. Наши планы вызвали большой интерес, другие компании тоже откликнулись своими планами, но мы не увидели желания сообщества что-то коренным образом менять. Много шумихи было вокруг версии 10.0, но ничего кардинального в ней не предполагается.

Где-то в июле 2016 года мы окончательно поняли (есть точная дата), что у сообщества другие интересы, а наши клиенты хотят новых фич уже сейчас, и нам надо самим начинать продвигать наши разработки в нашем собственном форке без оглядки на совместимость.

  • В первую очередь, мы имели ввиду 64-битные транзакции, которые для "больших клиентов" являются фичей "must have". Почитайте, например, наш реальный случай в вакууме или этот пост, чтобы понять важность проблемы. Введение 64-битных транзакций является серьезным вмешательством в ядро Постгреса и сообщество к этому пока не готово, хотя эта тема поднималась уже не раз.

  • Кроме этого, мы предоставляем нашим клиентам по-настоящему инкрементальный бэкап на уровне блоков, что тоже потребовало изменений в ядре.

  • Автономные транзакции возможно появятся в Постгресе в виде "background transactions", но это не то, что нужно нашим клиентам, которые мигрируют с Оракла, поэтому мы разработали автономные транзакции с оглядкой на совместимость с Ораклом, но не с некоторыми расширениями.

  • Наш подход к секционированию, реализованный в расширении pg_pathman, в энтерпрайз версии получит бОльшую производительность, бОльшую масштабируемость при большом количестве таблиц и декларативный синтаксис, совместимый с Оракловым (обсуждение возможного синтаксиса в ванильном Постгресе безрезультатно ведется уже несколько лет).

  • Мы уже второй год работаем над мульти-мастером из "коробки", который необходим для обеспечения высокой доступности СУБД и масштабирования чтения. Он также требует новой функциональности от ядра субд, которую мы обсуждали много раз на разных форумах разработчиков Постгреса, но так и не получили уверенности, что наши патчи войдут в ванильный Постгрес.

На этом разработки Postgres Pro Enterprise не заканчиваются, и мы обязательно напишем о них подробно. Мы также рассматриваем возможность включения поддержки 1С в энтерпрайз версию. Я надеюсь, что теперь понятна необходимость Postgres Pro Enterprise, которая в первую очередь предназначена для крупных клиентов.



          На все эти продукты, а также на ванильный Постгрес, мы предоставляем техническую поддержку.

          Мне кажется, что сейчас все должно быть кристально чистым.

          Сейчас, дерево решений выглядит довольно сложным. Надо решить, нужна ли сертифицированная версия, нужна ли с поддержкой 1С? Если нужна с поддержкой 1С, то дальше надо решать, брать с сайта 1С или нашу сборку? Если поддержка 1С не нужна, то надо выбирать между ванильным Постгресом, Postgres Pro Standard и Postgres Pro Enterprise. Видно, что есть несколько недостижимых вариантов, например, сертифицированный Постгрес с поддержкой 1С. Есть несколько путей, например, договориться с 1С и включить ее поддержку в Postgres Pro (Standard и Enterprise). Сертифицированная версия также может включать поддержку 1С, но сертификация - это довольно длительный и дорогой процесс, поэтому скорее всего она все равно будет отдельной веткой.

          Теперь про мифы. Чтобы написать про них, у меня не осталось времени и сил, так что просто дам ссылку на короткую презентацию «Russians in PostgreSQL» (видео), где я очень кратко показал 20-лет развития Постгреса и отметил российский вклад (красненьким цветом).

          Пора мне паковаться, сдавать ноутбук в storage room, и немного поспать перед полетом в Луклу на маленьком самолетике, чтобы начать свой трек и окончательно раствориться в Гималаях. А вам всем желаю не ссориться, а просто принять тот факт, что мы создали нашу компанию Postgres Professional во благо всех, в том числе и ванильного Постгреса. Почитайте внимательно, если что-то непонятно, то проще прийти к нам в компанию и поговорить с нами, мы очень открыты, у нас проходят семинары, можно выступить, высказаться. На крайний случай, я доступен в ЖЖ, ФБ, ко мне обращаются сотни(!) людей, и я стараюсь со всеми быть откровенен и оказываю помощь. Этот месяц меня почти не будет в сети, я буду изредка что-то постить, чтобы показать прогресс нашего похода, но у меня не будет возможности оказывать профессиональную помощь, для этого вы можете воспользоваться контактами на нашем сайте.

Источник: obartunov.livejournal.com
26.11.2016

СМИ о нас
27 лет с Postgres — от разработчиков-первопроходцев до крупнейшего вендора СУБД в России

Олег Бартунов, генеральный директор и сооснователь компании Postgres Professional, в большом интервью для портала TAdviser: Жизнь нужно прожить так, чтобы в git-логе Postgres остался твой след: git log|grep Bartunov|wc

Новости
Postgres Professional на HighLoad++ Foundation 2022

13-14 мая в Москве прошла 15-я профессиональная конференция разработчиков высоконагруженных систем HighLoad++ Foundation 2022. В течение двух дней на девяти потоках эксперты ведущих компаний представили 150 докладов, рассказав о работе высоконагруженных приложений, о СУБД и системах хранения,  об архитектуре платежных систем, о BigData, ИИ, о менеджменте крупных проектов, кибербезопасности, производительности enterprise-систем и других ключевых темах. 

СМИ о нас
Выручка главного российского разработчика СУБД выросла в 8,5 раз

По итогам 2021 г. выручка наиболее известного разработчика российских СУБД, компании Postgres Professional увеличилась на 68%. В ретроспективе трех лет ее бизнес на волне импортозамещения вырос более чем в 8,5 раз.