Walkthrough: Configuring xConnect Scalable Reads

Abstract

How to replicate the collection database to offload read-only workloads and enable xConnect Scalable Reads.

The xConnect Scalable Reads feature lets you offload the primary collection database from read-only workloads using one of the read-only/secondary replicas.

There are two configuration options for configuring collection database replication, SQL On-Prem, and SQL Azure.

This walkthrough describes how to:

  • Configure collection database replication for SQL on-prem

  • Configure collection database replication for SQL Azure

  • Enable xConnect Scalable Reads

Use Always On availability groups to configure replication for an on-prem SQL shard cluster.

There are two types of availability group configurations:

  • Availability groups that use a cluster manager that supports both high availability and read-scale workloads.

  • Availability groups that do not have a cluster manager that supports only read-scale workloads.

xConnect Scalable Reads supports both configurations. We recommend that you use availability groups with the cluster manager.

To configure SQL on-prem database replication:

Note

Replication is not configured by default.

The read scale-out feature is enabled by default for SQL Azure Premium and Business Critical tiers at no extra cost. Always On availability groups are configured automatically by the SQL Azure service at no extra cost.

Note

For an overview of the Azure architecture of read-only replicas, see the diagram in Use read-only replicas to offload read-only query workloads.

To configure SQL Azure for read scale-out on Premium service tiers:

  • Enable the read scale-out setting for SQL Azure services:

    SQL Azure Read scale-out setting on the Premium service tier.

Basic, Standard, and General Purpose service tiers do not include any replicas. The read scale-out feature is not available in these service tiers.

Because not all the XP topologies use Premium tiers for the collection shard databases, not all the topologies can benefit from the Scalable Reads feature. If you need to use this feature, you must use the Premium service tier for all the shard databases in the collection database cluster.

Note

The Shard Map Manager database is a lightweight database in the Standard service tier and does not require the read scale-out setting to be enabled. You only have to configure shard databases.

By default, Scalable Reads is disabled.

To enable Scalable Reads:

  • Open the /Sitecore/Collection/ sc.XConnect.CollectionService.ReadScaleOut.xml file and set EnableScalableReads to true:

    <ScalableReadsOptions>
            <Type>Sitecore.XConnect.Service.ReadScaleOut.ScalableReadsOptions,Sitecore.XConnect.Service</Type>
        <LifeTime>Singleton</LifeTime>
        <Options>
            <!--
                Indicates whether scalable
                reads are enabled.
                Default value: false
            -->
                <EnableScalableReads>true</EnableScalableReads>
        </Options>
    </ScalableReadsOptions>

    Note

    This setting enables/disables the ability to route requests to the secondary replica.