Percona
Percona — это американская компания, специализирующаяся на разработке и поддержке программного обеспечения для управления базами данных, а также одноимённый бренд, под которым выпускаются дистрибутивы MySQL, MariaDB и MongoDB с открытым исходным кодом. Компания основана в 2006 году Питером Зайцевым (Peter Zaitsev) и Вадимом Ткаченко (Vadim Tkachenko) и известна прежде всего своим продуктом Percona Server for MySQL — форком MySQL, оптимизированным для высокой производительности, отказоустойчивости и масштабируемости.
История
Компания Percona была основана в 2006 году в городе Дарем (Северная Каролина, США) бывшими сотрудниками MySQL AB, которые занимались консалтингом и оптимизацией производительности баз данных. Первоначально компания предоставляла услуги по настройке и поддержке MySQL для крупных интернет-проектов, таких как Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ), eBay и Google. В 2008 году Percona выпустила первый публичный релиз Percona Server for MySQL, основанный на исходном коде MySQL 5.0, с рядом патчей, улучшающих производительность и мониторинг.
В 2010 году компания представила инструмент XtraBackup, предназначенный для горячего резервного копирования MySQL без блокировки таблиц. В 2011 году Percona выпустила Percona Toolkit — набор утилит для администрирования и диагностики баз данных. В 2013 году, после приобретения компанией Oracle Corporation MySQL AB, Percona продолжила развитие форка MySQL, а также начала выпуск дистрибутива Percona Server for MongoDB (на основе MongoDB, но с дополнительными функциями). В 2017 году компания представила Percona Monitoring and Management (PMM) — платформу для мониторинга и управления базами данных.
В 2020 году Percona выпустила Percona Distribution for PostgreSQL, а также Percona Distribution for MySQL, объединяющую несколько компонентов (Percona Server, XtraDB, XtraBackup, ProxySQL) в единый пакет. В 2023 году компания объявила о переходе к полностью открытой модели разработки, отказавшись от проприетарных лицензий для некоторых инструментов.
Продукты
Percona разрабатывает и поддерживает несколько ключевых продуктов, большинство из которых распространяется под свободными лицензиями (GPLv2, AGPLv3, Apache 2.0).
Percona Server for MySQL
Percona Server for MySQL — это форк MySQL, совместимый с оригинальной СУБД, но включающий дополнительные функции и оптимизации. Основные отличия от стандартного MySQL:
- Поддержка механизма хранения XtraDB (форк InnoDB с улучшенной производительностью на многопоточных системах).
- Улучшенный мониторинг и диагностика (расширенные таблицы
INFORMATION_SCHEMA, поддержкаPerformance Schema). - Возможность использования нескольких потоков для операций DDL (Data Definition Language).
- Поддержка сжатия данных на уровне страниц и таблиц.
- Дополнительные инструменты для аудита и безопасности.
Percona Server for MySQL используется в крупных проектах, таких как Wikipedia, SoundCloud, и в облачных сервисах (например, Amazon RDS for MySQL предлагает опцию на основе Percona Server).
Percona XtraDB Cluster
Percona XtraDB Cluster (PXC) — это решение для кластеризации MySQL, обеспечивающее синхронную репликацию данных между узлами. Основан на технологии Galera Cluster. Основные характеристики:
- Синхронная репликация (все узлы содержат актуальные данные).
- Автоматическое восстановление после сбоев.
- Возможность добавления и удаления узлов без остановки работы.
- Поддержка многопоточности и параллельной обработки запросов.
PXC используется в системах, требующих высокой доступности (High Availability) и отказоустойчивости, например, в телекоммуникациях и финансовом секторе.
Percona Server for MongoDB
Percona Server for MongoDB — это форк MongoDB, включающий дополнительные функции, не входящие в оригинальный дистрибутив MongoDB Community Edition. Основные отличия:
- Поддержка шифрования данных на диске (Encryption at Rest).
- Улучшенная производительность операций записи.
- Расширенный мониторинг и диагностика.
- Интеграция с инструментами резервного копирования.
Percona Server for MongoDB совместим с MongoDB API, что позволяет использовать его как замену оригинальной СУБД.
Percona Toolkit
Percona Toolkit — это набор утилит командной строки для администрирования и диагностики MySQL, MariaDB и Percona Server. Включает более 30 инструментов, наиболее известные из которых:
pt-query-digest— анализ медленных запросов.pt-online-schema-change— изменение схемы таблицы без блокировки.pt-table-checksum— проверка целостности данных при репликации.pt-mysql-summary— сбор информации о конфигурации и состоянии сервера.
Percona Monitoring and Management (PMM)
Percona Monitoring and Management (PMM) — это платформа с открытым исходным кодом для мониторинга и управления базами данных. Состоит из двух компонентов:
- PMM Server — серверная часть, собирающая и визуализирующая метрики.
- PMM Client — агенты, устанавливаемые на серверах баз данных.
PMM поддерживает мониторинг MySQL, MariaDB, PostgreSQL, MongoDB, а также операционных систем и контейнеров. Включает панели управления для анализа производительности запросов, использования ресурсов, состояния репликации и других параметров.
Percona Distribution for PostgreSQL
Percona Distribution for PostgreSQL — это дистрибутив PostgreSQL, включающий дополнительные расширения и инструменты, такие как pg_stat_statements, pg_partman, pgBackRest, pgBadger и другие. Предназначен для упрощения развёртывания и управления PostgreSQL в корпоративных средах.
Технические особенности
Основные технические преимущества продуктов Percona перед стандартными дистрибутивами MySQL и MongoDB:
- Оптимизация производительности: использование XtraDB вместо InnoDB, многопоточная обработка запросов, улучшенное кэширование.
- Мониторинг и диагностика: расширенные метрики, интеграция с PMM, поддержка
Performance Schema. - Безопасность: шифрование данных на диске, аудит доступа, поддержка SSL/TLS.
- Отказоустойчивость: кластеризация через Galera, автоматическое восстановление, горячее резервное копирование.
Применение
Продукты Percona используются в различных отраслях:
- Интернет-компании: для обработки больших объёмов транзакций (например, в социальных сетях, электронной коммерции).
- Финансовый сектор: для обеспечения высокой доступности и целостности данных.
- Телекоммуникации: для управления абонентскими базами и биллинговыми системами.
- Облачные провайдеры: как основа для управляемых баз данных (Managed Database Services).
Критика и ограничения
Несмотря на широкое распространение, продукты Percona имеют ряд ограничений:
- Совместимость: Percona Server for MySQL не всегда полностью совместим с последними версиями MySQL от Oracle, что может вызывать проблемы при миграции.
- Сложность настройки: для достижения максимальной производительности требуется глубокая настройка параметров, что может быть затруднительно для неопытных администраторов.
- Отсутствие официальной поддержки: для некоторых продуктов (например, Percona Server for MongoDB) компания не предоставляет коммерческой поддержки, ограничиваясь сообществом.
Интересные факты
- Основатель компании Питер Зайцев является автором нескольких книг по оптимизации MySQL, включая «High Performance MySQL» (совместно с Бэроном Шварцем и Вадимом Ткаченко).
- Percona Server for MySQL используется в Wikipedia, что позволяет обрабатывать миллионы запросов в день.
- Компания Percona не имеет отношения к разработке оригинальной MySQL, но её форк стал одним из самых популярных дистрибутивов этой СУБД.
Источники
- Официальный сайт Percona (percona.com)
- Документация Percona Server for MySQL
- Книга «High Performance MySQL» (3-е издание, 2012)
- Статья «Percona: A History of MySQL Performance» на сайте Database Trends and Applications
- Отчёты компании Percona за 2020–2023 годы
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →