Configuration options
Because of the way the split database performance solution is designed, your custom code and installed components cannot do any of the following:
- Write directly to the database (instead, you must use the Adobe Commerce database interface)
- Use JOINs that affect the sales or quote databases
- Use foreign keys to tables in the checkout, sales, or main databases
- Ask the component developers to update their components.
- Use the components as-is without the split database solution.
- Remove the components so you can use the split database solution.
This also means you can either:
-
Configure the split database solution before putting Commerce into production.
Adobe recommends configuring split databases as soon as possible after you install the Commerce software.
-
Manually configure the split database solution.
You must perform this task if you have already installed components or if Commerce is already in production. (Do not update a production system; make the updates in a development system and synchronize the changes after you have tested them.)
WARNING
You must back up the two additional database instances manually. Commerce backs up only the main database instance. Themagento setup:backup --db
command and Admin options do not back up the additional tables.
Prerequisites
The split database requires you to set up three MySQL master databases on any host (all three on the Commerce server, each database on a separate server, and so on). These are the master databases and they are used as follows:
- One master database for checkout tables
- One master database for sales tables (also referred to as Order Management System, or OMS, tables)
- One master database for the remainder of the Commerce 2 application tables
In addition, you can optionally set up any number of slave databases that serve as load balancers and backups.
This guide discusses how to set up the master databases only. We provide sample configurations and references for you to set up slave databases if you wish.
In this guide, the three master databases are named:
magento_quote
magento_sales
magento
(You can name your databases anything you wish.)