What it is
A relational database forked from MySQL โ fully compatible, but more open and actively developed.
How we apply it
In projects with billing and financial records โ where transactional integrity matters: a double charge must be impossible even when several admins work at once.
Where it helps a business
- A WordPress site almost always runs on MariaDB or MySQL.
- A bot handles money and subscriptions, and double charging or double renewal is unacceptable.
- The client already runs on MySQL, and there is no reason to switch databases.
How we use it
- Billing. In Tech Poly VPN subscriptions, payments, promo codes and the charge ledger live in MariaDB (InnoDB); transactions and row locks stop a payment from being credited twice.
- A ticketing system. In the IT help desk bot MariaDB runs in a separate container and stores tickets, employees, the site registry and credentials: 20 tables and 16 migrations.
- WordPress. The ยซะัั
ะฐะฝะธะต ะะพะฒะพะปะถััยป showcase database is MariaDB 10.11 with a daily snapshot kept for two weeks.
- A store and a VPN panel. The online store runs on MySQL 8, and the Marzban user database on the VPN route is MariaDB.
Common problems
- A race on confirmation. Without
SELECT ... FOR UPDATE, two admins extend the same subscription twice. - No automatic backup. For the Marzban database, automatic backup is still on the route's roadmap, and that is stated honestly.
When you do not need it
A small bot is fine with SQLite in one file. For new projects with analytics we more often choose PostgreSQL.