Scaling and configuring the xDB Collection database

Abstract

An overview of scaling and configuring the xDB Collection database.

The xDB Collection database stores all contact and interaction data, and can experience high write rates from sources such as the Content Delivery role. Review scaling options and performance tuning tasks for the following roles before scaling the xDB Collection database:

Scaling and configuring the xDB Collection SQL provider

The xDB Collection SQL provider includes:

  • A shard map manager database that stores global information about the shard set.

  • A shard set.

The xDB Collection SQL provider supports the following scaling options:

Connection string settings replication to xDB Collection shards

The SQL Provider is responsible for creating connections to the xDB Collection shards at runtime. When the SQL Provider opens connections to the Collection shards, it leverages a connection pooling technique to minimize the cost of opening connections. When a Max Pool Size key value is included in the "collection" connection string, the setting is replicated and applied to connections to the database shards.

The only connection string that is configurable for the Collection database shard cluster is the connection to the shard map manager itself, which is defined in the <xconnect-root>\App_Config\ConnectionStrings.config file.

The following shows an example of the "collection" connection string configuration with the max pool size set to 200:

<connectionStrings configBuilders="SitecoreConnectionStringsBuilder">
  <add name="collection" connectionString="user id=host_collectionuser>;password=123;data source=.;Initial Catalog=host_Xdb.Collection.ShardMapManager;Max Pool Size=200"/>
</connectionStrings>