Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxime-cllt/dbmscleaner

A Go executable program that clean and optimise your DBMS, made to be run everyday as a back-end program.
https://github.com/maxime-cllt/dbmscleaner

cleaner dbms executable go golang mariadb mysql optimization postgresql

Last synced: about 1 month ago
JSON representation

A Go executable program that clean and optimise your DBMS, made to be run everyday as a back-end program.

Awesome Lists containing this project

README

        


DBCleaner

DBMS Cleaner



Go
Database Cleaner
Version

## Description

DBMS Cleaner is a program made to be run on the backend of a server or an application to clean the database. It will
reduce
the storage of the database and optimise all tables except system tables. It is a simple and efficient way to keep your
database clean and optimised without having to do it manually. It is a great way to keep your database running in the
best
conditions possible. Using Go language, it is compatible with all platforms and can be run on any server or application.

## Features


  • Reduce storage of the database

  • Optimise all tables except system tables

  • Simple and efficient way to keep your database clean

  • Compatible with all platforms

  • Maintain your database in the best conditions possible

  • Don't require any dump or backup

  • Don't modify your files configuration

  • Easily run on any server or application

  • Easy to use

## Supported databases

![MySQL](https://img.shields.io/badge/MySQL-00758F?style=for-the-badge&logo=mysql&logoColor=white)
![MySQL](https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white)
![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge&logo=postgresql&logoColor=white)

## Platforms & Requirements


MacOS
Linux
Windows


Golang

## Installation

To run the program :

1. Clone the repository:

```bash
git clone https://github.com/Maxime-Cllt/DBMSCleaner.git
```

2. Import the libraries:

```bash
go mod tidy
```

3. Compile the program:

```bash
go build -o DBMSCleaner
```

4. Run the program with the following your database information:

You need to create a file named `config.json` in the same directory as the program with the following content:

```json
{
"driver": "mysql|mariadb|postgres",
"host": "localhost",
"port": "3306",
"username": "root",
"password": "password",
"database": "testdb"
}
```

Replace the values with your database information. This information are only used to connect to the database and
perform the cleaning.

5. Then run the program with the following command:

### MacOS & Linux

Change the permission of the file:

```bash
chmod +x DBMSCleaner
```

Execute the program:

```bash
./DBMSCleaner
```

### Windows

Execute the program:

```bash
DBMSCleaner.exe
```

## Notes

- Time complexity: O(n) where n is the number of tables in the database
- Don't clean triggers, stored procedures, functions, and views
- May not reduce much storage but don't cost much time to run and can be run frequently
- Require some privileges to connect to the database and to perform the cleaning

## See Also