Segments synced from external tools and larger list-based segments are the two kinds of “big segment.” These segments are only available to customers on select plans. To learn more, read about our pricing. To upgrade your plan, contact Sales.
This topic explains the configuration process and requirements for synced segments and larger list-based segments.
You may be familiar with the concept of a “big segment,” which is a term we previously emphasized in the LaunchDarkly documentation and user interface (UI) to describe some segments.
These segments are either:
LaunchDarkly uses different implementations for different types of segments so that all of your segments have good performance. Because the implementation for these segments is different than for rule-based segments and smaller list-based segments, there is some additional configuration work that you must complete before you can create one of these segments for the first time. This topic describes that configuration work.
You only need to perform the configuration steps in this topic if you wish to use these segments with a server-side SDK. Client-side SDKs support these types of segments by default. These types of segments are not supported on edge SDKs.
For server-side SDKs, these segments require a persistent store within your infrastructure. LaunchDarkly keeps the persistent store up to date and consults it during flag evaluation.
To configure and use a persistent store to use segments with a server-side SDK, you must complete the following steps:
If you are using server-side SDKs, synced segments and larger list-based segments require a persistent store within your infrastructure. You can use either Redis or DynamoDB. We recommend using a dedicated Redis database or DynamoDB table.
LaunchDarkly stores the segments’ context keys in the persistent store, keeps the persistent store up to date, and consults it during flag evaluation.
If you are using Redis, you will need to know:
Your redis user will need permissions to perform at least these operations:
GETSETSADDSREMDELWATCHPINGMULTIEXECIf you are using DynamoDB, you will need to know:
namespace (string)key (string)To create your AWS role:
ConditionCheckItemGetItemPutItemUpdateItem554582317989
Whichever persistent store you use, you may also need to add the outboundAddresses from the LaunchDarkly public IP list to your infrastructure’s firewall. To learn more, read Public IP list.
LaunchDarkly keeps the persistent store up to date, using either a persistent store integration or the Relay Proxy. You must configure one or the other. Then, LaunchDarkly consults the persistent store during flag evaluation.
There are a few implementation considerations to keep in mind when you are using a persistent store for segments:
There are also a few performance considerations to keep in mind when you are using a persistent store for segments:
Configuring a persistent store integration is the easiest way to ensure that LaunchDarkly keeps your synced segments and larger list-based segments up to date.
Here’s how:

After your persistent store integration is configured, LaunchDarkly automatically keeps the persistent store up to date. For larger list-based segments, LaunchDarkly writes the segment contents to your persistent store when you create or update segments. For synced segments, LaunchDarkly writes the segment contents from your external tool to your persistent store. The segment data that is persisted to your infrastructure contains hashed values of context keys and LaunchDarkly segment keys. In both cases, the segment contents are readily available within your infrastructure, and LaunchDarkly consults your persistent store automatically during flag evaluation.
Flag evaluation references the segment contents in your persistent store. If your application evaluates flags that target segments while those segments are in the process of being synced with the external tool, the flag evaluation may be out of date for the time it takes to complete the syncing process. The LaunchDarkly SDKs log a warning in this situation.
You are not required to use the Relay Proxy to configure synced segments or larger list-based segments. You can use a persistent store integration instead.
We recommend using the Relay Proxy in certain situations. The Relay Proxy is not appropriate for all customer configurations. To learn more about if using the Relay Proxy is right for you, read Determining whether to use the Relay Proxy.
If you are already using the Relay Proxy with DynamoDB or Redis, you may decide to use it for your segments infrastructure as well. To learn how, read Configuring the Relay Proxy for segments.
If you are using server-side SDKs, you must use an SDK version that supports big segments, and you must configure your SDK to use the persistent store that you have configured above, either through a persistent store integration or through the Relay Proxy.
Configure your SDK: Big segments
If you are using client-side SDKs, no persistent store, integration, or additional setup is required.
You can review the status of your persistent store integration, and edit the configuration if needed. Here’s how:
From here, you can review the configuration for this integration. This includes the following information:

To edit the integration:
To delete the integration: