Does Sitecore have any documentation on xDB shard sizing?

Per Google analytics we have about 8M visitors per month, 20M sessions per month. All Anonymous users.

Default is 2 shards, max is 18.

Sitecore 9.3 Initial Release. On-Prem. SQL Server 2019 Enterprise DB.

How many Shards should we create?

  • Just be aware please that the number of shard can't be changed in the future, once you selected a number you will live with it for good. (please double check this with your Sitecore version) Jan 11 at 3:21
  • There is a custom tool that allows you to remap the shards to any number though it is code contributed by the community and not endorsed by Sitecore.
    – jrap
    Jan 13 at 11:56

It all depends on how you like to setup environment. My advice would be to go for at least eight shards. You might ask why? Because with change tracking enabled (that is what Sitecore uses to be able to collect xdb data while rebuilding your xDB index https://doc.sitecore.com/developers/93/sitecore-experience-platform/en/tracking-changes-to-the-xdb-index.html) your databases might get rather large when you have that amount of traffic. Also when shards become 'crowded' they tend to generate high CPU and memory usage. This can be dealt with by spreading the shardmaps (ContactIdShardMap, DeviceProfileIdShardMap and ContactIdentifiersIndexShardMap) in more shards. Lower the stress on your systems.

Like Mohamed mentioned, once you have chosen a certain number of shards you have to stick with that number, at least in an on-prem situation. Splitting shards is only possible when running on Azure SQL https://doc.sitecore.com/developers/93/platform-administration-and-architecture/en/split-or-merge-xdb-collection-database-shards.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.