Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/maxime-cllt/dbmscleaner
- Owner: Maxime-Cllt
- Created: 2024-09-20T11:32:19.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-02T10:02:36.000Z (3 months ago)
- Last Synced: 2024-11-02T11:16:53.456Z (3 months ago)
- Topics: cleaner, dbms, executable, go, golang, mariadb, mysql, optimization, postgresql
- Language: Go
- Homepage:
- Size: 63.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
DBMS Cleaner
## 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
## 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