Mysql Or MariaDb for high traffic server What server should I choose to install for a server that will host mostly shopping carts?

I'll have average 10-20K products in store and some tables with up to 1 million rows (cache tables for filtering).
Here is my opinion. As long as you are going to use innodb engine it doesn't matter which one are you in.
Provided Maria gives you the option of multiple writes to master-master architecture using Galera-cache. But as your TPS goes beyond a particular point, you might face issues in getting writes paused due to flow-control. Hence you may use innodb engine let there be 2Nodes using MariaDB using GaleraCache Cluster or simple Master&amp;Slave. But have your applications writing to one node only either case.
For my.cnf you may use percona tool wizard to generate as per your requirement.


Generate data as per expected prod including right data using datatypes. To an expected 2Yr down the line. In your case lets say
1Million records for one year lets consider 2Million records to
2years. Ensure data is random not same for all records.

Lets say you have above data generated and sizing is placed for right indexes and data. Check the data dir size, I would recommend you
to have data size to be your innodb_buffer_pool_size if it is
affordable.


Memory - innodb_buffer_pool_size(as per data) + 30% of IBPS . I.E.
120GB + 36GB.
CPU - As per user parallel connections and type of queries involved.
But this can go as per assumption. If it is 156GB RAM lets start with
1core*8CPU, considering 100Connections Per Second.
Disk IO - NVMe,SSD which ever best fit as per your Infra.
Network - Set maximum network bandwidth for DB Servers.
Have your applications in-place to throttle MAX-TPS for read/write,
ensure this MAX-TPS value helps number of customers using at peak-hrs
projected by business team.

Initially you may do a perf test with MAX-TPS read/write with right indexes in place and queries not going more than 30ms.

Now make a note of latency on app if it 50ms or whatever and see if business and apps team are ok with it. If not try to tweak if problems
are at query end or app end. After all enough variables tweaking (you
need to drill DBA here) if things don't satisfy the latency increase
which ever is required MEM/CPU/DISKIO/Network in DB Server.