Skip to content
logo
Percona Operator for MySQL
Comparison with other solutions
Initializing search
    percona/k8spxc-docs
    percona/k8spxc-docs
    • Welcome
      • System Requirements
      • Design and architecture
      • Comparison with other solutions
        • Generic
        • MySQL Topologies
        • Backups
        • Monitoring
        • Miscellaneous
      • Install with Helm
      • Install with kubectl
      • Install on Minikube
      • Install on Google Kubernetes Engine (GKE)
      • Install on Amazon Elastic Kubernetes Service (AWS EKS)
      • Install on Microsoft Azure Kubernetes Service (AKS)
      • Install on OpenShift
      • Generic Kubernetes installation
      • Multi-cluster and multi-region deployment
      • Application and system users
      • Changing MySQL Options
      • Anti-affinity and tolerations
      • Labels and annotations
      • Local Storage support
      • Defining environment variables
      • Load Balancing with HAProxy
      • Load Balancing with ProxySQL
      • Transport Encryption (TLS/SSL)
      • Data at rest encryption
      • Telemetry
      • Backup and restore
      • Upgrade Database and Operator
      • Horizontal and vertical scaling
      • Monitor with Percona Monitoring and Management (PMM)
      • Add sidecar containers
      • Restart or pause the cluster
      • Crash recovery
      • Debug and troubleshoot
      • How to install Percona XtraDB Cluster in multi-namespace (cluster-wide) mode
      • How to upgrade Percona XtraDB Cluster manually
      • How to use private registry
      • Custom Resource options
      • Percona certified images
      • Operator API
      • Frequently Asked Questions
      • Old releases (documentation archive)
      • Release notes index
      • Percona Operator for MySQL based on Percona XtraDB Cluster 1.12.0 (2022-12-07)
      • Percona Operator for MySQL based on Percona XtraDB Cluster 1.11.0 (2022-06-03)
      • Percona Distribution for MySQL Operator 1.10.0 (2021-11-24)
      • Percona Distribution for MySQL Operator 1.9.0 (2021-08-09)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.8.0 (2021-05-26)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.7.0 (2021-02-02)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.6.0 (2020-09-09)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.5.0 (2020-07-21)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.4.0 (2020-04-29)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.3.0 (2020-01-06)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.2.0 (2019-09-20)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.1.0 (2019-07-15)
      • Percona Kubernetes Operator for Percona XtraDB Cluster 1.0.0 (2019-05-29)

    • Generic
    • MySQL Topologies
    • Backups
    • Monitoring
    • Miscellaneous

    Compare various solutions to deploy MySQL in Kubernetes¶

    There are multiple ways to deploy and manage MySQL in Kubernetes. Here we will focus on comparing the following open source solutions:

    • KubeDB
    • Bitpoke MySQL Operator (former Presslabs)
    • Oracle MySQL Operator
    • Moco by Cybozu
    • Vitess Operator by PlanetScale
    • Percona Operator for MySQL
      • based on Percona XtraDB Cluster
      • based on Percona Server for MySQL

    Generic¶

    The review of generic features, such as supported MySQL versions, open source models and more.

    Feature/Product Percona Operator for MySQL (based on PXC) Percona Operator for MySQL (based on PS) Bitpoke MySQL Operator Moco Oracle MySQL Operator Vitess
    Open source model Apache 2.0 Apache 2.0 Apache 2.0 Apache 2.0 Apache 2.0 Apache 2.0
    MySQL versions 5.7, 8.0 8.0 5.7 8.0 8.0 5.7, 8.0
    Kubernetes conformance Various versions are tested Various versions are tested Not guaranteed Not guaranteed Not guaranteed Not guaranteed
    Paid support ✔ ✔ 🚫 🚫 ✔ 🚫

    MySQL Topologies¶

    Focus on replication capabilities and proxies integrations.

    Feature/Product Percona Operator for MySQL (based on PXC) Percona Operator for MySQL (based on PS) Bitpoke MySQL Operator Moco Oracle MySQL Operator Vitess
    Replication Sync with Galera Async and Group Replication Async Semi-sync Group Replication Async
    Proxy HAProxy and ProxySQL HAProxy and MySQL Router None None MySQL Router VTGate
    Multi-cluster deployment ✔ 🚫 🚫 🚫 🚫 🚫
    Sharding 🚫 🚫 🚫 🚫 🚫 ✔

    Backups¶

    Here are the backup and restore capabilities of each solution.

    Feature/Product Percona Operator for MySQL (based on PXC) Percona Operator for MySQL (based on PS) Bitpoke MySQL Operator Moco Oracle MySQL Operator Vitess
    Scheduled backups ✔ ✔ ✔ ✔ 🚫 ✔
    Incremental backups 🚫 🚫 🚫 ✔ 🚫 🚫
    PITR ✔ 🚫 🚫 🚫 🚫 🚫
    PVCs for backups ✔ 🚫 🚫 🚫 🚫 🚫

    Monitoring¶

    Monitoring is crucial for any operations team.

    Feature/Product Percona Operator for MySQL (based on PXC) Percona Operator for MySQL (based on PS) Bitpoke MySQL Operator Moco Oracle MySQL Operator Vitess
    Custom exporters Through sidecars Through sidecars mysqld_exporter mysqld_exporter 🚫 🚫
    PMM ✔ ✔ 🚫 🚫 🚫 🚫

    Miscellaneous¶

    Compare various features that are not a good fit for other categories.

    Feature/Product Percona Operator for MySQL (based on PXC) Percona Operator for MySQL (based on PS) Bitpoke MySQL Operator Moco Oracle MySQL Operator Vitess
    Customize MySQL ConfigMaps and Secrets ConfigMaps and Secrets ConfigMaps ConfigMaps ConfigMaps 🚫
    Helm ✔ ✔ ✔ ✔ ✔ 🚫
    Transport encryption ✔ ✔ 🚫 🚫 ✔ ✔
    Encryption-at-rest ✔ ✔ 🚫 🚫 🚫 🚫

    Contact Us

    For free technical help, visit the Percona Community Forum.

    To report bugs or submit feature requests, open a JIRA ticket.

    For paid support and managed or consulting services , contact Percona Sales.


    Last update: 2023-02-09
    Back to top
    Percona LLC and/or its affiliates, © 2009 - 2022
    Made with Material for MkDocs

    Cookie consent

    We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.