В статье рассматриваются три отечественные СУБД — Postgres Pro, Jatoba и Tantor. Эти системы соответствуют высоким требованиям к надежности, масштабируемости и настраиваемости. Они легко интегрируются с другими БД, имеют регистрацию в Реестре российского ПО и сертификат ФСТЭК.
Давайте рассмотрим характеристики всех трёх СУБД более подробно.
Выделим насколько важных параметров, для начала технические аспекты:
Надежность;
Масштабируемость;
Возможность расширения базового функционала под задачи организации;
Возможность миграции с других СУБД.
Для многих организаций не менее важны:
Возможность получить квалифицированную поддержку от вендора;
Регистрация в Реестре российского ПО;
Наличие сертификации ФСТЭК.
Давайте попробуем представить, что некая организация решила установить «ванильный» PostgreSQL, так как не нужно покупать лицензию, а это экономия. Для того, чтобы СУБД выдерживала нагрузки и соответствовала требованиям приложения, зачастую в неё требуется добавлять различные модули и вносить изменения в конфигурацию, а иногда и в исходный код.
Предположим, что организация нашла такого специалиста, он сделал все необходимое, все работает. Однако, что делать, если этот специалист заболеет, уйдет в отпуск, уволится? Изменения, скорее всего, будут не задокументированы, но даже если и будут, то другой специалист вряд ли сможет (или захочет) разбираться в них.
Чтобы избежать таких рисков, организации потребуется своими силами организовывать техническую поддержку пользователей СУБД, нанимать компетентных разработчиков, тратить ресурсы на инфраструктуру для разработки и тестирования. Если разработка СУБД не является профильной для организации, то она, скорее всего, будет вынуждена нанять руководителя с необходимыми навыками управления разработкой СУБД.
Отсюда возникает вопрос — есть ли смысл такой организации тратить ресурсы на собственный отдел разработки, если проще и дешевле внедрить уже готовый продукт, приобрести контракт на техническую поддержку, которая в сложных ситуациях помогут штатному администратору баз данных.
Немаловажно, что вендоры проверяют качество исходного кода, что повышает уровень безопасности.
Сейчас на отечественном рынке присутствует достаточное количество вендоров‑разработчиков отечественных СУБД, которые основываются на свободных технологиях. Мы решили изучить несколько, на наш взгляд, интересных образцов систем управления базами данных и поделиться своими впечатлениями от них. В своих исследованиях мы старались встать на место организации, которой необходимо мигрировать на одну из российских СУБД, и таким образом определить, готовы ли выбранные нами продукты к миграции.
Выбор пал на Postgres Pro, Jatoba, Tantor.
Эти продукты разработаны на основе СУБД PostgreSQL. Компании‑разработчики внесли свои доработки для соответствия требованиям законодательства и запросам рынка.
Процесс замены СУБД является довольно трудоёмкой задачей, поэтому все разработчики предлагают помощь в миграции с иностранных СУБД. Мы также готовы помочь вам в этом процессе, предоставляя консультации и проводя пилотные внедрения.
Мы изучили информацию на сайтах вендоров, запросили образцы для тестирования, провели развертывание тестовых стендов. В качестве тестового кейса решили провести миграцию 1С.Предприятия 8.3 с СУБД Microsoft SQL Server на российские СУБД.
Ниже представляем, что мы получили при анализе информации из открытых источников и документации.
Postgres Pro
Начнем с СУБД Postgres Pro, производитель Postgres Professional. Компания была основана в 2015 году группой известных российских постгресистов во главе с Major Contributors международного сообщества PostgreSQL Олегом Бартуновым и Федором Сигаевым. Сейчас в компании работает большинство российских разработчиков PostgreSQL. Команда активно развивает открытую СУБД (занимая 2-е место в мире по вкладу в систему по данным рейтинга EDB) и разрабатывает коммерческую СУБД для высоконагруженных систем — Postgres Pro в четырех редакциях.
На текущий момент на сайте вендора доступны следующие продукты:
Postgres Pro Enterprise — флагманская версия СУБД Postgres Pro для высоконагруженных систем крупных предприятий. Включает более 40 дополнительных функций, повышающих надежность, безопасность и производительность системы. Среди функциональных особенностей Postgres Pro Enterprise: инкрементальный бэкап на уровне страниц, автономные транзакции, 64-разрядный счетчик транзакций, компрессия данных, симметричный отказоустойчивый кластер (Multimaster) и многие другие. Система работает с базами данных свыше 150 ТБ с более чем 10 000 одновременно работающих пользователей, при этом максимальная задержка при восстановлении работы кластера не превышает 5 секунд.
Postgres Pro Standard — версия СУБД для менее нагруженных систем. Имеет ряд доработок «ванильного» PostgreSQL, в том числе совместимость с Microsoft SQL Server. Поддерживает секционирование таблиц, покрывающие индексы, утилиту pg_probackup, расширение pgpro_pwr и другие функции. Предоставляет возможности инкрементального резервного копирования.
Postgres Pro Shardman — уникальная распределенная СУБД, состоящая из отдельных частей (шардов), каждая из которых является отказоустойчивым кластером. Shardman — отдельная разработка, которая базируется на PostgreSQL, но при этом обладает расширенными возможностями СУБД Postgres Pro, такими как CFS, pg_probackup, pgpro_stats, pgpro_audit.
Сертифицированные ФСТЭК редакции СУБД, имеющие встроенные средства защиты от несанкционированного доступа к информации. Сертификат ФСТЭК по требованиям к СУБД — по 4 классу, по требованиям доверия — по 4 уровню (защита конфиденциальной информации).
Специалисты компании «Системный софт» готовы поддержать миграционные проекты, предоставляя следующие услуги:
Оценка сложности миграции с других СУБД на Postgres;
Помощь в разработке архитектуры нового решения и необходимых доработок;
Консультации разработчиков в процессе миграции на СУБД Postgres прикладных систем, в том числе, действующих под нагрузкой.
Ключевые преимущества Postgres Pro можно разбить на несколько блоков:
Надежность и масштабируемость
Multimaster — уникальное расширение, обеспечивающее высокую доступность и надежность со строгой согласованностью и масштабируемостью чтения.
Автономные транзакции — собственная, наиболее производительная реализация автономных транзакций в ядре Postgres Pro.
pg_probackup — утилита для управления резервным копированием и восстановлением кластеров баз данных PostgreSQL.
Распределение нагрузки на Multimaster, шарды
BiHA — новая система управления отказоустойчивым кластером Postgres Pro Enterprise. Специальные процессы BiHA осуществляют непрерывный мониторинг состояния узлов кластера и автоматическое отключение проблемного узла кластера с выбором нового лидера при необходимости. Технология BiHA также существенно упрощает установку и конфигурацию физической репликации Postgres Pro Enterprise по сравнению со сторонними решениями.
Планировщик заданий pgpro_scheduler — позволяет выполнять задания внутри СУБД в соответствии с расписанием.
Безопасность
Сертификат ФСТЭК по требованиям к СУБД — по 4 классу, по требованиям доверия — по 4 уровню (защита конфиденциальной информации).
Маскирование данных — pgpro_anonymizer позволяет маскировать или заменять конфиденциальные коммерческие данных или информацию, позволяющую установить личность (PII, персональные данные), в БД Postgres Pro.
Очистка выделенной оперативной и дисковой памяти
Расширение pg_proaudit — позволяет регистрировать различные события, связанные с безопасностью
Утилита pg_integrity_check для проверки целостности.
Профили пользователей — позволяют установить парольную политику.
Поддержка более 10 методов аутентификации
Работа с большими БД и под большой нагрузкой
Секционирование — разбиение одной большой логической таблицы на несколько меньших физических секций.
Механизм компрессии CFS — уменьшает объем данных на диске до 5 раз.
Параллельная обработка запросов — позволяет ускорить выполнение запросов.
Управление ресурсами — позволяет создавать несколько планов управления ресурсами, назначающих приоритеты группам и переключаться между ними, когда необходимо.
Производительность
Адаптивный оптимизатор запросов (AQO) — разработка, которая собирает статистики планирования и выполнения запросов и, используя методы машинного обучения, на этапе последующего выполнения, заменяет ошибочную оценку стоимости операции на корректную, что позволяет планировщику Postgres Pro выбрать более эффективный план.
64-битный счетчик транзакций — исторически первая разработка Postgres Professional на мировом рынке. Позволяет справиться с проблемой переполнения счётчика (xid wraparound) и обеспечить бесперебойную работу СУБД Postgres Pro
Оптимизатор запросов и модуль PG_hint_plan — для учета стоимости выполнения запросов и корректировки планов
Множество различных типов индексов — Хеш‑индексы, B‑деревья, GiST, SP‑GiST, GIN, RUM
Создание планов запросов, их оптимизации и экспорта в базах данных
Заморозка планов
Собственная панель управления базами данных
Также в комплекте к Postgres Pro Enterprise теперь поставляется Postgres Pro Enterprise Manager (PPEM) — административная панель управления, обладающая следующими возможностями:
Единая консоль с простым интерфейсом мониторинга и управления;
Возможность производить основные административные действия из окна браузера;
Централизация доступа ко всем экземплярам и базам данных;
Навигация через единое меню с учетом иерархии объектов;
Ролевая модель управления доступом пользователей PPEM;
Вызов привычной утилиты psql прямо в браузере, что сочетает простоту графического интерфейса и гибкость командной строки.
PPEM повышает продуктивность группы сопровождения БД и облегчает выполнение повседневных административных задач:
Создание, запуск и остановка экземпляров;
Резервное копирование (в т. ч. по расписанию) и восстановление;
Получение информации по профилю нагрузки;
Визуализация основных метрик производительности с возможностью создания собственных графиков, задания временных интервалов, исследования интересующих периодов на графиках для облегчения диагностики проблем;
Выполнение регламентных операций по обслуживанию объектов схемы БД: vacuum, analyze, reindex.
Официальная сертификация 1С
Postgres Pro — одна из немногих СУБД официально сертифицированных компанией 1С. Экспертиза и многолетний опыт команды Postgres Professional в работе с базами данных позволили разработать усовершенствованные механизмы Postgres Pro для работы с 1С — среди них усовершенствованный оптимизатор и экзекьютор запросов, а также различные вспомогательные механизмы.
Совместимость
Postgres Pro работает более чем на 30 платформах и совместима более чем с 240 решениями, среди которых все ключевые операционные системы и прикладное ПО. Поддержкивает несколько аппаратных платформ. Подробный список совместимых решений вы можете запросить у нас.
Не лишним будет сказать, что Postgres Pro Enterprise имеет большой спектр доработок для улучшения совместимости с СУБД Oracle, а именно:
Поддержка пакетов (Packages) в стиле Oracle;
Передача позиционных параметров из скрипта в psql;
Утилита ora2pgpro — решение для автоматического портирования пакетов и автономных транзакций Oracle в аналогичные сущности Postgres Pro;
Таким образом можно сделать вывод, что линейка продуктов компании Postgres Professional подходит для миграции с зарубежных решений.
Jatobа
СУБД Jatoba — разработка компании «Газинформсервис», выпущенная в 2019 году.
СУБД Jatoba зарегистрирована в реестре российских программ для электронно‑вычислительных машин и баз данных и получила сертификат ФСТЭК России.
Вендор предлагает 4 версии продукта:
Jatoba Standard — содержит функции ИБ и графический интерфейс;
Jatoba Standard Certified — Стандартная версия, сертифицированная ФСТЭК по УД4;
Jatoba Enterprise — Расширенная версия, содержит функции ИБ, кластерные решения и графический интерфейс;
Jatoba Enterprise Certified — Расширенная версия, сертифицированная ФСТЭК по УД4.
СУБД Jatoba зарегистрирована в реестре российских программ для электронно‑вычислительных машин и баз данных и получила сертификат ФСТЭК России.
Функциональные возможности СУБД Jatoba:
Автоматический отказоустойчивый кластер — обеспечивает непрерывную работу СУБД, входит в расширенную версию.
Производительный кластер — увеличивает производительность СУБД за счёт распределения нагрузки между серверами.
Катастрофоустойчивый кластер — географически распределенная архитектура СУБД, сохраняет работоспособность в случае отказа целого ЦОД.
Защита баз данных и таблиц — предотвращает возможность чтения данных в случае кражи.
Обфускация хранимых процедур и функций — защита вашего исходного кода от реверс‑инжиниринга.
SQL Firewall — выявление и предотвращение исполнения нетипичных SQL запросов.
64 разрядный счетчик транзакций.
Поддерживается работа с программным комплексом 1С:Предприятие.
Инструменты для упрощения миграции с Oracle DB и MSSQL.
Графический интерфейс для работы с СУБД — управление функциями и оптимизацией СУБД Jatoba без командной строки.
Поддержкой автоматизированной синхронизации пользователей с Active Directory, ALD Pro, FreeIPA и Samba.
Планировщик — оптимизация выполнения запросов.
В состав СУБД Jatoba входят компоненты собственной разработки:
ja_CSum — выполнение периодических фоновых проверок файлов, расположенных в ключевых директориях СУБД;
ja_Log — для сбора событий безопасности с целевых СУБД «Jatoba» в служебную СУБД «Jatoba data safe»;
ja_Plan_Manager — создание планов запросов в базах данных (БД), их оптимизации и экспорта в БД;
ja_Sync_LDAP — Синхронизация учетных записей СУБД с LDAP;
jaDog — управление режимом работы узлов кластера;
jaPooler — управление соединениями, позволяет подключиться к СУБД большому числу клиентов без существенного снижения производительности;
Jatoba Data Safe — пользовательский веб‑интерфейс для администраторов;
Jatoba data vault — контроль субъектов доступа;
Jatoba crypto access storage — сокрытие информации в файлах данных СУБД.
Также в поставку входит ряд компонентов из «ванильной» PostgreSQL, код которых был проверен на безопасность и совместимость с текущей версией СУБД Jatoba. На все компоненты есть подробная документация на русском языке. Компания «Газинформсервис» имеет развитую службу технической поддержки.
Вывод — c помощью СУБД Jatoba можно решать задачу импортозамещения.
Tantor
СУБД Tantor разработана компанией «Тантор Лабс», входит в «Группу Астра. С 2016 года команда работала на международном рынке, в 2021 году полностью переориентировались на российский рынок, где сконцентрировали свои основные направления деятельности.
Линейка продуктов представлена следующим образом:
Tantor Basic 15 — включает новые доработки и функционал по сравнению с «ванильным» PostgreSQL и поддержку вендора.
Tantor Special Edition 1C 15 — для высоких нагрузок, оптимизированная и одобренная для работы с приложениями 1С.
Tantor Special Edition 15 — СУБД Enterprise уровня, подходящая для наиболее нагруженных систем организации или корпоративных хранилищ данных размером до 100 ТБ.
Платформа Tantor — решение, позволяющее администрировать и вести мониторинг всех корпоративных баз данных на основе PostgreSQL.
Все продукты включены в «Единый реестр российских программ для электронных вычислительных машин и баз данных». Полный список отличий между редакциями можем прислать по вашему запросу.
Краткий список доработок по сравнению с «ванильным» PostgreSQL
Улучшения и оптимизация ядра
64-битный счетчик транзакций (XID) — в PostgreSQL существует ограничение (N = 2^32) на количество идентификаторов транзакций (XID), при достижении которого, необходимо выполнить процедуру заморозки. С 64-битным XID переполнение счетчика транзакций теперь фактически невозможно.
Префетчинг для WAL — повышение производительности путем добавления предварительного чтения WAL (Write Ahead Log) блоков
Повышение скорости обработки потоковых данных для процессоров с архитектурой ARM64 — в частности, для ускорения операций при работе с json\text
Сжатие в libpq — добавлен параметр libpq_compression, который контролирует доступные методы сжатия трафика между клиентом и сервером
Возможность настраивать размеры буферов SLRU — улучшение с целью повышения производительности кэша SLRU (simple least recently used) путем оптимизации его структуры
Оптимизация алгоритма сжатия данных pglz — удаляет некоторые потенциально избыточные операции, повышая производительность сжатия до 1.4 раза
Дополнительная функциональность
PRAGMA AUTONOMOUS_TRANSACTION — поддержка автономных транзакций с использованием синтаксиса PRAGMA AUTONOMOUS_TRANSACTION.
Дополнительные модули в сontrib — пакет contrib расширен на более чем 20 дополнительных модулей (расширений).
Двунаправленная логическая мультимастер репликация — стало возможно использовать двунаправленную логическую репликацию между двумя таблицами, за счет добавления нового параметра origin в команду CREATE SUBSCRIPTION
GUC параметр transaction_timeout — тайм аут применяется, как к явным транзакциям (начатым с помощью команды BEGIN, так и к неявно начатым транзакциям, соответствующим отдельному оператору.)
Управление, мониторинг, профилирование
Платформа Tantor, как визуальный графический инструмент, интегрированный с СУБД
Модуль, отображающий информацию о текущем событии ожидания конкретного процесса
Статистические данные по найденным предикатам в операторах WHERE и предложениях JOIN
pg_configurator — инструмент для оптимизации настройки сервера СУБД под конкретные аппаратные ресурсы, профиль нагрузки и поставку
Модуль для отслеживания статистики плана выполнения всех операторов SQL, выполняемых СУБД Tantor
Гипотетические или виртуальные индексы
Надёжность и высокая доступность
Полное и инкрементальное резервное копирование — возможно быстрое резервное копирование без остановки работы, в том числе, дифференциальное и инкрементальное
Восстановление блоков данных с сервера горячего резерва
Добавлены функции восстановления страниц(рае), карты видимости(т) и карты свободного пространства(fsm)
Контроль целостности журнала транзакций
Возможность автоматического обнаружения и восстановления из буфера журнала транзакции, при его повреждениях
Совместимость и интеграция с RuBackup — тестирование на совместимость, интеграция с комплексом архивации данных RuBackup и синхронизация дорожных карт развития
Безопасность баз данных
Проверка учетных данных, во время создания пользователя, смены пароля и переименования пользователя — определяет набор правил для управления пользователями и парольными политиками
Динамическое маскирование и поиск конфиденциальных данных
Совместимость с системой Astra Linux Special Edition во всех режимах работы
Расширенный аудит в СУБД — подробное ведение аудита журнала сессий и/или объектов
ПК по классу СУБД «AstraDB Tantor Platform» сертификат ФСТЭК по 1 категории (Tantor Basic)
Сертификация ФСТЭК по 4 категории (4 кв. 2023 г.)
Миграция из Oracle
Возможность двунаправленной логической репликации
Модуль orafce добавляет ряд функций для упрощения миграции с Oracle
pgq — универсальная высокопроизводительная очередь с API, основанном на функциях SQL
Optimized Row Columnar (ORC) — колоночный метод хранения данных
Хинты для планировщика
Автономные транзакции для plpgsql
Модуль pg_partman позволяет автоматически создавать и управлять партициями таблиц
Возможность установки и использования некоторых пакетов DBMS_*, аналогичных в Oracle из репозитория Tantor
Сессионные переменные
Совместимость с 1С
Доработки в ядре СУБД Tantor SE 1C
Доработки в ядре СУБД Tantor SE 1C улучшают производительность по сравнению с открытой версией PostgreSQL
Набор расширений для 1С
Улучшает совместимость при миграции с MSSQL
Интеграция с Платформой Tantor
Адаптивная настройка конфигурации СУБД под специфику работы 1С
Self Join Removal, SJR
Реализует удаление самосоединения (Self Join Removal, SJR), что в некоторых сценариях улучшает производительность запросов
Оптимизация поведения планировщика СУБД
Улучшение оценки селективности при соединениях таблиц
Если резюмировать, то редакции СУБД Tantor обладают необходимым функционалом для миграции с MS SQL и Oracle. Также можно отметить, что на все редакции есть подробная документация с описанием модулей и инструкциями по настройки на русском и английском языках.
Настройка стенда
Для проведения испытаний мы получили дистрибутив 1С.Предприятие Сервер (Комьюнити лицензия) версии 8.3.23.1782 и установили его на виртуальную машину с пробной версией MS Windows 2016. Там же был развернут Microsoft SQL Server 2016, который и был указан в качестве СУБД для 1С.
Далее мы развернули для тестирования Postgres Pro Enterprise Edition один сервер для установки СУБД, и один сервер для PPEM.
Также мы поступили с Jatoba и Tantor, по одному серверу для СУБД, и по одному для серверов с интерфейсами управления. В соответствии с инструкциями вендоров СУБД были подготовлены к работе с 1С.Предприятием.
В принципе, можно было обойтись и без серверов управления, но было интересно познакомиться с функционалом и оценить, насколько удобно с ними работать.
Далее мы развернули еще один сервер с 1С.Предприятие Сервер (Комьюнити лицензия) версии 8.3.23.1782, но уже на Astra Linux Special Edition 1.7, для проверки работоспособности 1С.Предприятия в linux окружении. При настройке столкнулись с одной проблемой — сервис RAS, отвечающий за подключения к СУБД, падал с ошибкой подключения к кластеру. В итоге удалось решить проблему отключением ipv6 в конфигурации ядра. После этого сервис заработал.
Перенос информационной базы в 1С.Предприятии можно разными несколькими способами:
Первый способ
Через выгрузку и последующую загрузку информационной базы в Конфигураторе
Второй способ
В 1С:Предприятие 8.3.23 в утилите ibcmd в режиме infobase добавлена команда replicate. Это позволяет скопировать информационную базу из одного расположения в другое без промежуточного сохранения в *.dt файл
Третий способ
Воссоздать DDL‑скрипт базы MS SQL в формате SQL92 (штатным инструментарием этой СУБД) и сгенерировав заново структуру БД в PostgreSQL. Сами данные могут быть выгружены в любом формате (CSV, XML и т. д.) и загружены в таблицы сгенерированной структуры. Данный способ имеет смысл применять, когда предыдущие 2 способа не сработали.
Проверка миграции
Мы решили для начала идти простым путем и выбрали первый способ. При выгрузке на сервере с MS SQL мы получили *.dt файл, перенесли его на linux‑сервер с 1С, далее по очереди подключали российские СУБД и произвели импорт и проверку работы. Все СУБД с задачей справились, сложностей с переносом не возникло. Размер dt файла был около 100 Мб, импорт занимал несколько минут. Данный способ подробно описан в документации и на информационных ресурсах 1С, поэтому мы не видим смысла описывать процедуру, все стандартно.
Второй и третий способы мы отложили на потом. Их преимущества в том, что не требуется промежуточная операция в виде сохранения в dt файл, поэтому на больших объемах данных имеет смысл попробовать эти способы. Рассчитываем, что в будущем мы найдем возможность провести тестирование этих способов со сравнением результатов.
Какие сложности могут возникнуть при миграции
У платформы 1С.Предприятие достаточно большое количество различных конфигураций, поэтому проверить все в рамках нашего эксперимента было нереально. Тем более если конфигурации дорабатывали или писали «с нуля», разработчики могли упростить себе задачу и не придерживаться стандартов переносимости.
Известны случаи, когда после миграции скорость работы приложений замедлялась и возникала необходимость проводить оптимизацию планов запросов в СУБД, или переписывать сам запрос.
Поэтому перед миграцией обязательно нужно провести проверку, протестировать работоспособность и лишь потом мигрировать. Зачастую стоит задача провести миграцию «бесшовно», без отключения пользователей. Такие варианты миграции тоже можно осуществить при должной подготовке.
Знакомство с интерфейсами управления и контроля
Чтобы не превращать статью в обзор web‑интерфейсов, опишем основной функционал, присутствующий в каждом продукте, и выделим основные отличия.
Ранее мы упоминали, что каждый из вышеописанных продуктов имеет web‑интерфейс.
В нем можно посмотреть список серверов и баз данных, увидеть графики и метрики, посмотреть логи событий, провести анализ и отладку запросов. Это удобно и помогает в повседневной работе администраторов. Теперь отличия.
Postgres Pro Enterprise Manager (PPEM)
Бэкапы — управление задачами резервного копирования и восстановления. Возможность конфигурации хранилищ резервных копий. Поддерживаются локальные или облачные (через протокол S3) хранилища.
Можно вызвать привычную утилиту psql, выбрав нужную базу данных.
Jatoba data safe
Просмотр событий безопасности.
Управление кластером СУБД, через собственный агент ja_dog.
Формирование матрицы привилегий пользователей.
Формирование матрицы системных привилегий пользователей.
Платформа Tantor
Мониторинг и управление отказоустойчивыми кластерами Patroni.
Конфигурация БД с помощью адаптивных рекомендаций.
Общий вывод
На основе проведенного сравнения можно сделать вывод о том, что отечественные системы управления базами данных обладают достаточным функционалом и уровнем безопасности, а их гибкость позволяет адаптировать их под различные задачи и особенности ИТ‑инфраструктуры организаций. Благодаря этому компании, планирующие осуществить миграцию, имеют возможность выбора наиболее подходящего для них решения. Однако для того, чтобы сделать окончательный выбор, необходимо учесть множество деталей и особенностей, связанных с конкретными задачами и условиями работы.
Для более глубокого понимания функционала мы рекомендуем протестировать приглянувшееся вам решение с помощью демоверсии (для её получения отправьте нам запрос). Чтобы увидеть, как система работает в реальной среде конкретной ИТ‑инфраструктуры, можно организовать пилотный проект. Этот процесс, конечно, потребует определённых затрат времени и сил, но многократно окупится, когда миграция пройдет по плану и выбранное решение будет качественно закрывать потребности организации.
В любом случае, если вы столкнулись с необходимостью замены или обновления СУБД и встали на нелёгкий путь поиска оптимального решения, и у вас есть вопросы — напишите нам (ссылка на форму). Наша компания готова предложить вам свою помощь, включая предоставление консультаций, демонстрационных версий продуктов и содействие в процессе миграции.
Комментарии (25)
sergey_prokofiev
06.12.2023 12:32+2Предположим, что организация нашла такого специалиста, он сделал все необходимое, все работает. Однако, что делать, если этот специалист заболеет, уйдет в отпуск, уволится?
Заставить его писать документацию и проверять что написанное соотвествует? Нанять 2х специалистов для диверсификации рисков? Может сделать что нить еще из боянистых практик менеджмента про снижение риска ухода ключевых людей?
shubenkov-alexander Автор
06.12.2023 12:32Все верно, однако не все готовы вкладываться в разработку, иногда проще купить продукт и поддержку. Часто дешевле купить велосипед и сразу ехать, чем заново его изобретать.
sergey_prokofiev
06.12.2023 12:32Мой пойнт в том, что риски ухода ключевого сотрудника и покупка продукта - это совсем разные, мало пересекающиеся между собой вещи. Даже в купленном продукте нужен ключевой сотрудник, который(потенциально) будет делать меньше велосипедов, но все равно если он уйдет то сапорт не поможет.
Ну и с покупкой продукта тоже валом рисков, самый типичный: изменение ценовой политики через пару лет в сторону существенного увеличения. Или закрытие продукта компаний разработчиков. Тоже года через 3 после покупки.
shubenkov-alexander Автор
06.12.2023 12:32Спасибо за разъяснение. Если говорить о рисках, то наверное закрытие продукта будет наиболее весомым. Однако, если организация приобретет продукт у надежного вендора, который разрабатывает продукт достаточно давно, возможно этот риск будет уменьшен.
ptr128
06.12.2023 12:32+1Если "все необходимое" сделано через Terraform/Ansible, то даже в документации сильной нужды нет.
Fafhrd
06.12.2023 12:32+1Для того, чтобы СУБД выдерживала нагрузки и соответствовала требованиям приложения, зачастую в неё требуется добавлять различные модули и вносить изменения в конфигурацию
А предложенные СУБД прям из астрала берут настройки конфигурации и модули?
Не надо придумывать несуществующие недостатки у ванильного постгреса.
Вся прелесть данных СУБД в наличии различных сертификаций для использования в госструктурах в первую очередь и наличие вендорской поддержки во вторую.
Да, многие доработки полезны, но не прям критичны для всех, а какие-то рано или поздно войдут и в ванильную версию.
И никто ещё не решил базовую проблему постгреса -- работу с временными таблицами, которая приносит много проблем при использовании с 1С =)dtkbrbq
06.12.2023 12:32Недавно столкнулся с этой проблемой - постгрес, временные таблицы и 1С, появляются какие-то инсерты во временные таблицы, длящиеся по 8-10 часов, иногда и более 24 часов, когда они накапливаются начинаются тормоза.
ptr128
06.12.2023 12:32А это уже странно. Могу поверить в уходящие в астрал SELECT из таблиц, по которым не был выполнен ANALYZE после заливки туда данных. Деградация производительности из-за распухания системных таблиц и файловых операций при создании, индексировании и удалении временных таблиц даже к минутам на одном запросе не приводит. Секунды на каждом запросе - это возможно и весьма печально.
Корень проблемы PostgreSQL с временными таблицами заключается в том, что он не позволяет обращаться в одном запросе к более, чем к одной БД. Поэтому временные таблице он создает в текущей БД, модифицируя её постоянные системные таблицы. И малой кровью эту проблему не решить.
dtkbrbq
06.12.2023 12:32Конфигурация самописная, одновременно работает более тысячи пользователей, я подозреваю что гдето закрался говнокод. Инсерты однотипные, да и есть некоторая корреляция между ними - интервал их появления +-30 минут.
ptr128
06.12.2023 12:32Так Вы не на INSERT смотрите, а на SELECT в нем. Уверяю, тормозит именно он. Вот на него и надо делать EXPLAIN ANALYZE и разбираться дальше по полученному плану запроса.
shubenkov-alexander Автор
06.12.2023 12:32Спасибо за комментарий, даже в мыслях не было придумывать несуществующие недостатки. В статье я постарался подробно описать какие доработки внес каждый из вендоров. Про совместимость с 1С тоже есть информация, каждый из описанных вендоров предлагает версию, оптимизированную под 1С. Вы верно подметили насчет сертификации и поддержки, полностью согласен.
CentALT
06.12.2023 12:32+2"GUC параметр reserved_connections — позволяет зарезервировать слоты подключения для пользователей, не являющихся superuser ами — Фёдор сказал, что этого нет"
Кто такой Федор?
CentALT
06.12.2023 12:32reserved_connections и superuser_reserved_connections в ванильном PostgreSQL есть.
Stillgray
06.12.2023 12:32+2Присоединяюсь к вопросу - кто такой Фёдор?
Самая большая интрига в статье -- этот Фёдорshubenkov-alexander Автор
06.12.2023 12:32-1В тексте статьи ни о каком Федоре не писали) Вы ничего не перепутали?
R0Den
06.12.2023 12:32А почему только эти три СУБД рассмотрели?
так то рынок отечественных слонов шире. Я вот накидывал список в схожей статье. https://habr.com/ru/articles/693908/shubenkov-alexander Автор
06.12.2023 12:32Спасибо за ссылку, конечно спектр отечественных СУБД гораздо больше, возможно позднее познакомимся и с ними. На текущий момент решили ограничиться этими тремя.
LoveMeOrHateMe
Набор промо материалов. Ни тестов, ни сравнений, ничего.
f-z-f
Отдельно интересно, в каких таких " корпоративных сценариях использования" приходится " вносить изменения в исходный код" для выдерживания нагрузки?
pg_vadim
На вскидку, например, иметь возможность управлять SLRU буфферами, при большом количестве соединений (сотни, тысячи) и транзакций(десятки-сотни тысяч). Эти патчи в ядро, есть в некоторых СУБД из вышеупомянутой статьи.
shubenkov-alexander Автор
Спасибо за мнение, какие именно тесты и сравнения имеются ввиду?
itmind
Какую СУБД выбрать в итоге для 1с и почему именно ее?