Percona Resources

Software
Downloads

All of Percona’s open-source software products, in one place, to download as much or as little as you need.

Product
Documentation

A single source for documentation on all of Percona’s leading, open-source software.

Resource Hub

A single source for all resources

Financial Services

Driving Database Success

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

Ivan Groenewold
Passionate about technology, Ivan Groenewold is a seasoned professional with extensive experience in database management, cloud infrastructure, and software development. With a focus on optimizing performance and scalability, Ivan excels in designing and implementing solutions for complex systems, particularly in MongoDB and cloud-native environments. Known for problem-solving and a results-driven mindset, Ivan combines technical expertise with a commitment to continuous learning, delivering high-quality solutions for modern enterprise applications.

Percona Server for MongoDB 8.0: The Most Performant Ever

MongoDB Community Edition 8.0 has been available since October. At Percona, we took the time to examine this release carefully, check performance, and guarantee it works perfectly, stand-alone, and with other tools like Percona Backup for MongoDB and Percona Monitoring and Management. Today, we are excited to announce the General Availability of Percona Server for […]

Percona Backup for MongoDB and Disk Snapshots in Amazon AWS – Part 2

Percona Backup for MongoDB (PBM) supports snapshot-based physical backups. This is made possible by the backup cursor functionality present in Percona Server for MongoDB.  In a previous post, we discussed Percona Backup for MongoDB and Disk Snapshots in Amazon AWS and showed how to implement EBS snapshot-based backups. Now, let’s see how to restore a snapshot-based backup […]

Percona Backup for MongoDB and Disk Snapshots in Google Cloud Platform – Part 2

Percona Backup for MongoDB (PBM) supports snapshot-based physical backups. This is made possible by the backup cursor functionality present in Percona Server for MongoDB.  In a previous post, we discussed Percona Backup for MongoDB and Disk Snapshots in Google Cloud Platform (part 1) and showed how to implement snapshot-based backups. Now, let’s see how to restore a […]

Percona Backup for MongoDB and Disk Snapshots in Google Cloud Platform

Percona Backup for MongoDB (PBM) supports snapshot-based physical backups. This is made possible by the backup cursor functionality present in Percona Server for MongoDB.  The flow of snapshot-based physical backup consists of these stages: Preparing the database – done by PBM Taking the snapshots – done by the user/client app Completing the backup – done […]

Deploying MongoDB on Kubernetes with Percona Everest

Percona Everest is the first open source platform designed for automated database provisioning and management. It supports multiple database technologies and can be hosted on any Kubernetes infrastructure, in the cloud or on-premises. It provides an easy-to-use web interface while leveraging the power of the Percona Operators behind the scenes to do all the heavy […]

Benchmarking MongoDB Performance on Kubernetes

Cloud-native databases are becoming the norm, and containerized databases are a common trend (see the report from Dynatrace and Figure 1). Kubernetes—the de facto standard for platform engineers—and operators simplify database deployment and management.  But what are the performance implications of running databases in Kubernetes? To answer this question, we compared the performance of Percona Server […]

How to Use Group Replication with Haproxy

When working with group replication, MySQL router would be the obvious choice for the connection layer. It is tightly coupled with the rest of the technologies since it is part of the InnoDB cluster stack. The problem is that except for simple workloads, MySQL router’s performance is still not on par with other proxies like […]

Dealing With Chunks That “Lost Weight” in MongoDB

  The life of a jumbo chunk MongoDB marks a chunk as “jumbo” when it grows past the configured maximum chunk size. This value defaults to 128 MB since MongoDB 6.0 (it used to be 64 MB before). The most common reason for jumbo chunks to appear is when the auto-splitter process cannot find a […]

Tales From the MongoDB Field: When stepDown() Goes Wrong

We get to see and troubleshoot a lot of different problems at Percona. Here’s the latest one that got me scratching my head for a while recently. The scenario We have a sharded cluster environment running MongoDB 4.0 that needs to be upgraded to MongoDB 4.2. Easy right? The only thing particular about this environment […]

Monitoring MongoDB Collection Stats with Percona Monitoring and Management

One approach to get to know a MongoDB system we are not familiar with is to start by checking the busiest collections. MongoDB provides the top administrative command for this purpose. From the mongo shell, we can run db.adminCommand(“top”) to get a snapshot of all the collections at a specific point in time:

In […]

Merging Empty Chunks in MongoDB

I recently wrote about one of the problems we can encounter while working with sharded clusters, which is Finding Undetected Jumbo Chunks in MongoDB. Another issue that we might run into is dealing with empty chunk management. Chunk Maintenance As we know, there is also an autoSplitter process that partitions chunks when they become too […]

Querying Archived RDS Data Directly From an S3 Bucket

A recommendation we often give to our customers is along the lines of “archive old data” to reduce your database size. There is a tradeoff between keeping all our data online and archiving part of it to cold storage. There could also be legal requirements to keep certain data online, or you might want to […]

Getting Started with ProxySQL in Kubernetes

There are plenty of ways to run ProxySQL in Kubernetes (K8S). For example, we can deploy sidecar containers on the application pods, or run a dedicated ProxySQL service with its own pods. We are going to discuss the latter approach, which is more likely to be used when dealing with a large number of application […]

Finding Undetected Jumbo Chunks in MongoDB

I recently came across an interesting case of performance issues during balancing in a MongoDB cluster. Digging through the logs, it became clear the problem was related to chunk moves taking a long time. As we know, the default maximum chunk size is 64 MB. So these migrations are supposed to be very fast in […]

How to Generate an Ansible Inventory with Terraform

Creating and maintaining an inventory file is one of the common tasks we have to deal with when working with Ansible. When dealing with a large number of hosts, it can be complex to handle this task manually. There are some plugins available to automatically generate inventory files by interacting with most cloud providers’ APIs. […]