Percona Documentation

website·Indexed 41 days ago

https://docs.percona.com

Documentation for Percona's database solutions, including Percona Server for MongoDB (versions 4.2 and 4.4) and Percona XtraBackup 2.4. Covers installation via Docker, YUM, and binary tarballs, as well as backup strategies using innobackupex, authentication setup (Kerberos, x.509, LDAP), and the Percona Memory Engine.

Tokens
2.9M
Snippets
12.1K
Records
22.6K
Agent score
87%

What's inside Percona

  1. Overview of Percona's ProxySQL distribution and admin tools

    Percona distributes a repackaged version of the upstream ProxySQL, a high-performance proxy for MySQL and MySQL-compatible servers (such as Percona Server for MySQL and MariaDB), without making code modifications to the core ProxySQL engine. To complement this, Percona provides two primary administration tools:

    1. ProxySQL Admin (proxysql-admin): Simplifies the configuration of Percona XtraDB Cluster nodes with ProxySQL and supports the cluster without requiring custom scripts.
    2. pxc_scheduler_handler: Automatically performs failovers due to node failures, service degradation, or maintenance. Note that this tool has different capabilities than the ProxySQL admin tool; options from one should not be used in the other to avoid unintended results.
  2. Overview of pt-replica-restart

    pt-replica-restart is a tool that watches one or more MySQL replication replicas for errors and attempts to restart replication if it stops. It can be configured to skip specific statements that cause errors and can run replicas up to a certain binlog position. It uses an intelligent polling mechanism with exponentially varying sleep times to monitor the health of the replicas.
    pt-replica-restart [OPTIONS] [DSN]
  3. Overview of Percona Distribution for PostgreSQL 13.3

    Percona Distribution for PostgreSQL 13.3 (released May 20, 2021) is a distribution based on PostgreSQL 13.3. It bundles the core database with a selection of extensions and the libpq client library to facilitate database management, high availability, and auditing.
  4. Overview of PostGIS for spatial data manipulation

    PostGIS is an open-source extension for PostgreSQL that enables the storage and manipulation of spatial data. It supports two primary categories of spatial data:

    • Geographical data: Points, lines, polygons, and GPS coordinates mapped on a sphere.
    • Geometrical data: Points, lines, and polygons applied to a 2D surface.

    PostGIS provides spatial functions for calculating distance, area, union, and intersection, and utilizes R-Tree and Quadtree spatial indexes to ensure efficient database operations.

  5. Overview of PXC auxiliary and communication threads

    PXC employs several specialized threads to manage cluster health and communication:

    • Service Thread: Created at boot-up to release GCache buffers after write-sets are purged and to notify the cluster group of committed transaction levels.
    • Receiving Thread (gcs_recv_thread): The entry point for all group messages. It assigns actions to messages and places them in a central FIFO queue for processing by Applier threads (e.g., state changes, configuration updates, flow-control, and write-sets).
    • Gcomm Connection Thread (GCommConn::run_fn): Handles low-level group communication activity.
    • Action-based Threads: Created on-demand for specific tasks, such as SST (donor/joiner threads), IST (receiver/async sender threads), and PageStore (background file removal). If checksums are enabled for large write-sets, a separate checksum thread is spawned.
  6. Overview of Patroni for PostgreSQL High Availability

    Patroni is an open-source tool that automates the high availability (HA) of PostgreSQL clusters. It manages cluster state and automates failover processes using a distributed consensus store (DCS) such as etcd, Consul, or ZooKeeper.

    Key benefits include:

    • Automated failover and promotion of a new primary node.
    • Prevention of split-brain scenarios (where multiple nodes act as primary).
    • Simplified management of clusters across multiple data centers.
    • Self-healing via automatic restarts of failed instances or reinitialization of broken replicas.
    • Integration with tools like pgBackRest, HAProxy, and monitoring systems.
  7. Overview of Percona Distribution for MySQL 9.7

    Percona Distribution for MySQL is an open-source enterprise-grade solution that bundles critical components from the MySQL community. It is available in two primary deployment variants: one based on Percona Server for MySQL and another based on Percona XtraDB Cluster. Key benefits include increased stability/availability, improved performance monitoring, reduced licensing costs, and native integration with Percona Monitoring and Management (PMM).
  8. Overview of Percona Distribution for MySQL Operator

    The Percona Distribution for MySQL Operator is a Kubernetes operator designed to deploy, configure, and manage Percona Server for MySQL throughout its lifecycle. Unlike the XtraDB Cluster operator which uses Galera, this operator supports both regular asynchronous replication (including semi-synchronous support) and virtually-synchronous replication based on Group Replication. It is compatible with Kubernetes, Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS), and Minikube.
  9. Overview of third-party components in Percona Distribution for PostgreSQL

    Percona Distribution for PostgreSQL includes a curated set of third-party open source components and tools designed to provide additional functionality (such as high-availability and disaster recovery) without modifying the PostgreSQL core code. These components are included in the Percona Distribution for PostgreSQL repository and are tested for compatibility.

    Commonly included components include:

    • High Availability & Load Balancing: Patroni, HAProxy, pgpool2, etcd (distributed key-value store for Patroni).
    • Backup & Recovery: pgBackRest.
    • Connection Pooling: PgBouncer, pgpool2.
    • Auditing & Monitoring: pgAudit, pgAudit set_user, pgBadger, pg_stat_monitor, pg_gather.
    • Database Extensions & Utilities: pgvector (vector similarity search), PostGIS (spatial data), pg_repack (object rebuilding), wal2json (logical decoding JSON output plugin).

    Note: All listed third-party components require superuser privileges for operation.

  10. Overview of Percona Operator for PostgreSQL Architecture

    The Percona Operator for PostgreSQL automates the deployment and management of open-source PostgreSQL clusters on Kubernetes. It is based on CrunchyData’s PostgreSQL Operator. The architecture ensures high availability by using Kubernetes node affinity to distribute cluster instances across separate worker nodes and utilizes Persistent Volumes (via PersistentVolumeClaims) for stateful data storage, allowing the Container Storage Interface (CSI) to remount storage if a node fails.
  11. Overview of PostGIS for spatial data manipulation

    PostGIS is an open-source extension for PostgreSQL that enables the storage and manipulation of spatial data. It supports two primary categories of data:

    • Geographical data: Points, lines, polygons, and GPS coordinates mapped on a sphere.
    • Geometrical data: Points, lines, and polygons applied to a 2D surface.

    PostGIS provides spatial functions for calculating distance, area, union, and intersection, and utilizes R-Tree and Quadtree spatial indexes to ensure efficient database operations.