Секретный соус Salesforce: он запрашивает свои базы данных с помощью «Многопользовательского оптимизатора». Итак, из чего конкретно состоит эта практика?
Весь маркетинг.
Патентная заявка здесь В целом, отдельная статистика для каждого арендатора / пользователя.
Денормализация данных, чтобы в каждой строке содержался «идентификатор клиента», что уменьшает количество необходимых объединений, которые необходимо выполнить, чтобы найти владельца данных. Просто предположение.
Вот ссылка на один из их вебинаров, где их главный архитектор рассказал об их архитектуре базы данных.
Другим вариантом является использование «Sharding». Вот ссылка, которая имеет довольно хорошее описание этой техники:
http://www.codefutures.com/database-sharding/
Если вы используете hibernate для Object-Relational Persistence, у них есть дополнительная библиотека, которая добавляет поддержку шардинга (и изолирует приложение от многих деталей):
http://www.hibernate.org/subprojects/shards.html