• Stars
    star
    265
  • Rank 154,577 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Percona Backup for MongoDB

Percona Backup for MongoDB

Go Report Card codecov CLA assistant

PBM logo

Percona Backup for MongoDB (PBM) is a distributed, low-impact solution for achieving consistent backups of MongoDB sharded clusters and replica sets. Percona Backup for MongoDB supports Percona Server for MongoDB and MongoDB Community Edition v3.6 and higher.

For more information about PBM components and how to use it, see Percona Backup for MongoDB documentation

Percona Backup for MongoDB includes the following features:

  • Backup and restore for both classic non-sharded replica sets and sharded clusters
  • Point-in-Time recovery
  • Simple command-line management utility
  • Replica set and sharded cluster consistency through oplog capture
  • Distributed transaction consistency with MongoDB 4.2+
  • Simple, integrated-with-MongoDB authentication
  • No need to install a coordination service on a separate server
  • Use of any S3-compatible storage
  • Support of locally-mounted remote filesystem backup servers.

Architecture

Percona Backup for MongoDB consists of the following components:

  • pbm-agent is a process running on every mongod node within the cluster or a replica set that performs backup and restore operations.
  • pbm CLI is a command-line utility that instructs pbm-agents to perform an operation.
  • PBM Control collections are special collections in MongoDB that store the configuration data and backup states
  • Remote backup storage as either s3-compatible or filesystem type storage

Architecture

Read more about PBM architecture.

Installation

You can install Percona Backup for MongoDB in the following ways:

  • from Percona repository (recommended)
  • build from source code

Find the installation instructions in the official documentation

Alternatively, you can run Percona Backup for MongoDB as a Docker container.

API

This repository contains source code to build binaries. It is not a library and it is not intended to be used directly by calling exposed functions, types, etc. Please, use pbm CLI as the publicly available API. See PBM commands for reference.

Submit Bug Report / Feature Request

If you find a bug in Percona Backup for MongoDB, you can submit a report to the project's JIRA issue tracker.

As a general rule of thumb, please try to create bug reports that are:

  • Reproducible. Include steps to reproduce the problem.
  • Specific. Include as much detail as possible: which version, what environment, etc.
  • Unique. Do not duplicate existing tickets.
  • Scoped to a Single Bug. One bug per report.

When submitting a bug report or a feature, please attach the following information:

  • The output of the pbm status command

  • The output of the pbm logs command. Use the following filters:

    $ pbm logs -x -s D -t 0

NOTE : When reporting an issue with a certain event or a node, you can use the following filters to receive a more specific data set:

#Logs per node
$ pbm logs -x -s D -t 0 -n replset/host:27017
#Logs per event
$ pbm logs -x -s D -t 0 -e restore/2020-10-06T11:45:14Z

Licensing

Percona is dedicated to keeping open source open. Wherever possible, we strive to include permissive licensing for both our software and documentation. For this project, we are using the Apache License 2.0 license.

How to get involved

We encourage contributions and are always looking for new members that are as dedicated to serving the community as we are.

The Contributing Guide contains the guidelines how you can contribute.

Contact

You can reach us:

More Repositories

1

grafana-dashboards

PMM dashboards for database monitoring
JavaScript
2,656
star
2

percona-xtrabackup

Open source hot backup tool for InnoDB and XtraDB databases
C++
1,159
star
3

mongodb_exporter

A Prometheus exporter for MongoDB including sharding, replication and storage engines
Go
1,146
star
4

percona-server

Percona Server
C++
1,127
star
5

percona-toolkit

Percona Toolkit: a collection of advanced open source command-line tools.
Perl
878
star
6

tokudb-engine

Percona TokuDB is a high-performance, write optimized, compressing, transactional storage engine for Percona Server. Issue tracker: https://tokutek.atlassian.net/browse/DB/ Wiki: https://github.com/Percona/tokudb-engine/wiki Downloads:
C++
649
star
7

pmm

Percona Monitoring and Management: an open source database monitoring, observability and management tool
Go
587
star
8

PerconaFT

PerconaFT is a high-performance, transactional key-value store
C++
553
star
9

percona-xtradb-cluster-operator

Percona Operator for MySQL based on Percona XtraDB Cluster
Go
520
star
10

pg_stat_monitor

Query Performance Monitoring Tool for PostgreSQL
Perl
454
star
11

percona-xtradb-cluster

A High Scalability Solution for MySQL Clustering and High Availability
C++
340
star
12

percona-server-mongodb-operator

Percona Operator for MongoDB
Go
326
star
13

percona-docker

Collection of Dockerfiles for Percona software. See individual directories for more details.
Shell
295
star
14

percona-postgresql-operator

Percona Operator for PostgreSQL
Go
272
star
15

go-mysql

Go packages for MySQL
Go
231
star
16

pmm-server

PMM Server
186
star
17

proxysql-admin-tool

ProxySQL Admin
Shell
143
star
18

percona-server-mysql-operator

Percona Operator for MySQL
Go
136
star
19

percona-monitoring-plugins

Percona Monitoring Plugins
PHP
134
star
20

percona-helm-charts

Collection of Helm charts for Percona Kubernetes Operators.
Mustache
118
star
21

pg_tde

Transparent Data Encryption for PostgreSQL
C
112
star
22

proxysql_exporter

Prometheus exporter for ProxySQL performance data.
Go
105
star
23

everest

Percona Everest is a cloud-native database platform to deploy and manage enterprise-grade PostgreSQL, MongoDB and MySQL database clusters.
TypeScript
100
star
24

xtradb-cluster-tutorial

PXC Tutorial (Deprecated)
Ruby
77
star
25

pmm-client

PMM Client for 1.x
Go
65
star
26

pmm-doc

Percona Monitoring and Management (PMM) Technical Documentation
HTML
41
star
27

Percona-TokuBackup

C++
39
star
28

pmm-managed

pmm-managed manages configuration of PMM server components and exposes API for that.
Go
36
star
29

tokudb-backup-plugin

Percona TokuBackup -- moved to Percona Server, but this is kept for the commit history
C++
36
star
30

pmm-agent

pmm-agent for PMM 2.x.
Go
35
star
31

everest-operator

Percona Everest Operator
Go
30
star
32

orchestrator

Go
30
star
33

awesome-pmm

A curated list of awesome Percona Monitoring and Management (PMM) free and opensource software, libraries and resources.
29
star
34

jemalloc

C
26
star
35

everest-doc

Everest Doc
HTML
25
star
36

community

Percona Community repository. Join us on Percona.community and the Percona Forums at forums.percona.com.
HTML
23
star
37

qan-agent

Query Analytics Agent for PMM
Go
22
star
38

promconfig

Go package for Prometheus configuration file parsing and generation without dependencies.
Go
22
star
39

sysbench-scripts

Lua
21
star
40

support-snippets

Snippets Collections from support
Shell
20
star
41

psmdb-docs

Percona Server for MongoDB documentation
HTML
20
star
42

grafana-app

Percona app for Grafana
JavaScript
19
star
43

percona-everest-backend

Go
17
star
44

psmysql-docs

Percona Server for MySQL
HTML
17
star
45

qan-api

Query Analytics API for PMM 1.x
Go
16
star
46

pxc_scheduler_handler

Go
14
star
47

innodb-data-recovery-tool-docs

Documentation for innodb-data-recovery-tool
Python
13
star
48

training

(Deprecated) Repository for publicly available training resources. Please access the public materials using our website.
13
star
49

qan-app

Query Analytics Web App for PMM
TypeScript
12
star
50

mongodb-orchestration-tools

Golang tools for MongoDB container orchestration
Go
12
star
51

percona-repositories

RPM and DEB files for Percona repositories
Shell
11
star
52

pmm-admin

pmm-admin for PMM 2.x.
Go
11
star
53

go-pool

A simple, persistent resource pool
Go
11
star
54

pxc-docs

Percona XtraDB Cluster
HTML
11
star
55

postgresql-docs

Percona Distribution for PostgreSQL
HTML
11
star
56

qan-api2

qan-api for PMM 2.x.
Go
11
star
57

pxb-docs

Percona XtraBackup for MySQL
HTML
10
star
58

pmm-qa

PMM Quality Assurance
Shell
10
star
59

pmgo

Interfaces for mgo's structures
Go
10
star
60

backup-community

C
10
star
61

pmm-infra

Infrastructure as code for PMM (build and demo)
HCL
10
star
62

roadmap

Public Percona Roadmaps
10
star
63

k8spsmdb-docs

Percona Operator for MongoDB Documentation
HTML
9
star
64

proxysql-packaging

packaging for proxysql
Shell
8
star
65

openstack_ansible

Python
8
star
66

percona-everest-frontend

TypeScript
8
star
67

dbaas-operator

k8s Operator for PMM DBaaS
Go
7
star
68

postgres-packaging

Shell
6
star
69

k8spxc-docs

Documentation for Percona Operator for MySQL based on Percona XtraDB Cluster
HTML
6
star
70

percona-everest-cli

Go
6
star
71

tokudb-percona-server-5.6

TokuDB tests for Percona Server 5.6
Shell
6
star
72

pbm-docs

HTML
6
star
73

documentation

Percona documentation repository
Python
6
star
74

ab

Benchmark tools
Shell
5
star
75

tex-templates

Tex templates for presentation slides and more
TeX
5
star
76

pgsm-docs

pg_stat_monitor for PostgreSQL
HTML
5
star
77

k8spg-docs

Percona Operator for PostgreSQL Documentation
HTML
5
star
78

tokudb-docs

Percona TokuDB documentation
Python
5
star
79

pdmysql-docs

Percona Distribution for MySQL documentation
HTML
5
star
80

exporter_shared

Shared code for Percona Prometheus exporters
Go
4
star
81

pmm-dump

Export metrics or QAN data from or import them to PMM
Go
4
star
82

pmm-demo

Benchmark and sysload generators for pmmdemo.percona.com.
Shell
4
star
83

distmongo-docs

CSS
4
star
84

training-aws

PHP
4
star
85

dbaas-api

Makefile
4
star
86

proxysql-admin-tool-doc

HTML
3
star
87

replication-manager

Shell
3
star
88

debian-percona-xtradb-cluster-5.6

Repo for debian/ubuntu inclusion
C++
3
star
89

training-mymovies

Percona's My-Movies and Scoreboard application for use in Percona training classrooms.
PHP
3
star
90

jenkins-docker-images

Shell
3
star
91

pmm-update

PMM Update is a tool for updating packages and OS configuration for Percona Monitoring and Management Server.
Go
3
star
92

pmm-ui-tests

PMM UI end-to-end tests
JavaScript
3
star
93

sysbench-packaging

Packaging scripts for sysbench
Shell
3
star
94

saas

Platform (SaaS) public API definitions
Go
3
star
95

debian-percona-server-5.6

Repo for debian/ubuntu inclusion
C++
3
star
96

pid-watchdog

pid-watchdog is a free open source utility for managing and monitoring processes on a UNIX system. pid-watchdog conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. Golang analog of http://mmonit.com/monit/ proccess scheduler. Can be used as PID 1 in docker.
Shell
3
star
97

tokumx-docs

Percona TokuMX documentation
Python
3
star
98

repo-config-docs

HTML
3
star
99

cloud-tools

PCT documentation
2
star
100

everest-catalog

Go
2
star