Одной из проблем с моделью общей схемы, которую вы предлагаете, являются ваши клиенты. В прошлом я работал с рядом компаний, где их клиентские соглашения предусматривали, что их данные должны быть автономными и не смешиваться с другими данными клиента, что означало, что нам приходилось использовать отдельную схему для каждого клиентского маршрута.
Возможно, вы найдете и это более гибкое решение: если кто-то из ваших клиентов станет действительно большим, вы можете переместить их на свой собственный сервер / экземпляр и использовать утилиту, например ProxySQL, для направления трафика на соответствующий сервер / экземпляр на основе имени схемы.
Если у вас есть данные, которые совместно используются всеми клиентами, поместите их на свой «первичный» сервер, который реплицируется на клиентские серверы. Затем вы можете продолжить репликацию, связав реплики с клиентским сервером (серверами), если вам нужно увеличить масштаб чтения.
Однако, если вы решите это сделать, я просто буду осторожен с юридическими последствиями объединения клиентских данных в одну схему - проверьте, есть ли у вашего клиента разрешение на объединение данных. Очевидно, что если вы создаете что-то вроде социальной сети, вам нужно будет объединить данные, но этого и следует ожидать.