3. Какие различия между Tantor SE 1C 16 и PostgreSQL 16#

3. Какие различия между Tantor SE 1C 16 и PostgreSQL 16

3. Какие различия между Tantor SE 1C 16 и PostgreSQL 16 #

3.2. Улучшения ядра #

  • 64-битный счетчик транзакций.

  • Логическая репликация между кластерами СУБД с 32-битным и 64-битным идентификатором транзакций.

  • Улучшенная производительность с большим количеством одновременных пользователей благодаря улучшениям в механизме SLRU, которые были внесены в PostgreSQL 17.

  • Увеличенное количество секций в общих буферах.

  • Оптимизированный алгоритм сжатия данных pglz (~1,4 раза).

  • Уменьшенное количество блокировок страниц данных в общих буферах.

  • Сжатие в libpq.

  • Оптимизация и ускорение процесса восстановления каскадной репликации (standby fadvise).

  • Возможность завершения транзакции на основе предустановленного тайм-аута.

  • Поддержка расширений и типов данных для совместимости с 1С.

  • Детальное вычисление оценки стоимости планировщика для операций сортировки с помощью настройки enable_detailed_sort_cost.

  • Улучшения SIMD для архитектур x86 (SSE2) и ARM (NEON) были введены, что привело к улучшению обработки транзакций. Эти достижения также способствуют более быстрым операциям с jsontext, тем самым повышая общую эффективность обработки потоков данных.

  • Оптимизация для линейного поиска для процессоров архитектуры ARM64.

  • Проверка контрольной суммы блоков данных при отправке WAL на резервный сервер.

  • Повышенная информативность диагностической информации:

    • Диагностика внутренних ошибок СУБД (backtrace_on_internal_error параметр).

    • Информативность журналов сервера СУБД — стартовые сообщения содержат дополнительную диагностическую информацию.

    • Приложение сервера pg_controldata содержит дополнительную метаинформацию о редакции и сборке для упрощения диагностики возможных неполадок.

  • Максимальный размер данных в ячейках таблицы, поддерживаемый модулем pg_dump, составляет 2 ГБ.

3.3. Дополнительные поставляемые утилиты #

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

  • pgcopydb — инструмент, который автоматизирует выполнение pg_dump | pg_restore между двумя работающими серверами Postgres. Чтобы как можно быстрее сделать копию базы данных на другой сервер, желательно использовать параллельные опции pg_dump и при этом иметь возможность передавать данные в несколько задач pg_restore.

3.4. Дополнительные поставляемые утилиты #

  • data_generator — генерирует фейковые данные для тестирования и разработки. Поддерживает различные типы данных и позволяет настраивать генерируемые данные с помощью шаблонов.

  • pgcompacttable — уменьшает размер раздутых таблиц и индексов без использования тяжелых блокировок. Он разработан для реорганизации данных в таблицах и перестроения индексов с целью освобождения дискового пространства без влияния на производительность базы данных.

  • pgcopydb — автоматизирует выполнение pg_dump | pg_restore между двумя работающими серверами Postgres. Чтобы как можно быстрее скопировать базу данных на другой сервер, желательно использовать параллельные опции pg_dump и при этом иметь возможность передавать данные в несколько задач pg_restore.

  • slru_upgrader — автоматически переименовывает параметры конфигурации, связанные с SLRU-буферами, при обновлении основной версии с Tantor SE-1C 15. Эта утилита помогает избежать проблемы, когда сервер не может запуститься после обновления из-за наличия старых имён параметров в файле postgresql.conf.

3.5. Дополнительные программы Tantor, поставляемые в виде отдельных пакетов #

  • Платформа Тантор — полнофункциональная модульная платформа администрирования и мониторинга СУБД Tantor и большинства кластеров на базе PostgreSQL. Платформа упрощает повседневную работу с СУБД, значительно повышая простоту управления. Функциональные возможности программного обеспечения включают: умный и простой пользовательский интерфейс, автоматическую адаптивную настройку кластера, обзор системы, оповещения и мониторинг, автоматические проверки состояния и аудит схемы, выполнение задач обслуживания через графический интерфейс, продвинутый профилировщик запросов и администрирование нескольких серверов в одном месте.

  • pg_anon — самостоятельная программа на Python для работы с СУБД Tantor или базами данных на основе PostgreSQL, предназначенная для маскировки и анонимизации данных при миграции данных между производственными и тестовыми средами.

  • pg_cluster — ansible-плейбук для кластера высокой доступности PostgreSQL на Patroni.

  • pg_configurator — инструмент для настройки PostgreSQL.

3.6. Дополнительные внешние модули, поставляемые в виде отдельных пакетов #

  • ldap2pg — инструмент, который автоматизирует синхронизацию ролей PostgreSQL и их привилегий из каталога LDAP (или YAML-конфигурации), создавая, обновляя и удаляя роли для соответствия вашему корпоративному каталогу.

  • mysql_fdw — обёртка внешних данных (Foreign Data Wrapper) для PostgreSQL, которая позволяет Postgres выполнять запросы и манипулировать таблицами на удалённом сервере MySQL так, как если бы они были локальными, поддерживая операции SELECT/INSERT/UPDATE/DELETE и оптимизации push-down.

  • pg_timetable — продвинутый, автономный планировщик заданий для PostgreSQL, который выполняет SQL-запросы, системные программы и встроенные задачи по пользовательскому расписанию cron или с заданным интервалом, с поддержкой связанных рабочих процессов и конфигурации, управляемой из базы данных.

  • pgbouncer — легковесный пулер подключений PostgreSQL, который располагается между клиентами и базой данных для эффективного управления и повторного использования соединений с сервером, снижая издержки и повышая параллелизм при высоких нагрузках.

  • tds_fdw — обёртка внешних данных (Foreign Data Wrapper) для PostgreSQL, которая позволяет PostgreSQL подключаться к базам данных и выполнять запросы с использованием протокола Tabular Data Stream (TDS), таким как Microsoft SQL Server и Sybase, предоставляя их таблицы как внешние таблицы.

  • wal-g — инструмент для создания зашифрованных, сжатых резервных копий Tantor SE-1C (полных и инкрементальных) и отправки/загрузки их в/из хранилища без сохранения на вашей файловой системе.

3.7. Программные интерфейсы для различных языков #

Tantor SE-1C предоставляет широкий спектр драйверов и библиотек для взаимодействия с базой данных из различных языков программирования и сред. В следующих разделах описаны основные интерфейсы и соответствующие инструменты.

3.7.1. C/C++ #

  • libpq: Основная библиотека C для клиентских программ Tantor SE-1C. Она позволяет отправлять запросы, получать результаты и управлять соединениями.

  • libpqxx: Обертка C++ над libpq, предлагающая более современный и удобный интерфейс для разработчиков на C++.

3.7.2. Java/JDBC #

  • PostgreSQL JDBC Driver: Официальный JDBC-драйвер, который позволяет Java-приложениям взаимодействовать с базами данных Tantor SE-1C с использованием стандартного JDBC API.

3.7.3. .NET #

  • Npgsql: Открытый .NET провайдер данных для PostgreSQL. Он позволяет .NET приложениям использовать ADO.NET для подключения к Tantor SE-1C, выполнения запросов и получения данных.

3.7.4. ODBC #

  • psqlODBC: Официальный драйвер PostgreSQL ODBC, обеспечивающий подключение для приложений и инструментов, использующих интерфейсы ODBC.

3.7.5. Perl #

  • DBD::Pg: Perl модуль, совместимый с DBI для Tantor SE-1C. Он безупречно интегрируется с Perl DBI фреймворком для взаимодействия с базами данных.

3.7.6. Python #

  • psycopg2/psycopg: Широко используемые адаптеры Python, реализующие спецификацию Python DB-API. Они обеспечивают надежный и эффективный способ выполнения запросов, обработки транзакций и управления соединениями.

  • pg8000: Чисто-Python альтернативный адаптер, который также поддерживает стандарт DB-API.

3.7.7. Ruby #

  • pg gem: Официальный драйвер Ruby для PostgreSQL, предоставляющий родной интерфейс для выполнения запросов и обработки результатов.

3.7.8. Ткл #

  • pgtcl/pgtcl-ng: расширения Tcl, позволяющие устанавливать соединения с Tantor SE-1C, выполнять запросы и управлять результатами запросов в скриптах Tcl.

3.8. Примечания к выпуску #

Первый выпуск Tantor SE-1C16.2.1. Значительные изменения можно найти на соответствующей странице.

Все остальные изменения см. в Примечаниях к выпуску.

3.9. Как настроить параметры Tantor SE-1C для 1С #

Подробную информацию о том, как оптимально настроить параметры Tantor SE-1C для работы с 1С, можно найти на странице.