Important Isolation Considerations

Isolation keys can be helpful, but be sure to review these considerations.

Isolation key rules require that object storage files use deterministic, repeatable path names for the storage objects associated with an object group, and a deterministic pattern to derive the isolation keys. When the path names and isolation keys are consistent, isolation key-based object groups work very efficiently.

When you configure isolation keys for an object group, you can use regular expression named capture group syntax to name the isolation key field; otherwise, ChaosSearch creates a cs_partition_key_0 field in the indexed data structure. The isolation key field is used in Refinery views to select the isolation slice(s) to use for visualization or querying.

For example, the following regex creates a named capture group Service that could be used as the isolation key column name with values for the different Web services in your log file paths. When you create a view for the object group, the Service column can be used as an isolation filter to limit results to one or more specific service name values in Search Analytics or SQL Analytics queries that use that view:

logs/123456789012/WebServer/(?<Service>\\S+?)/.*

📘

Isolation capture group names must be unique.

If you plan to specify a regex capture group name to use instead of the default cs_partition_key_0 field, make sure that the capture group name is unique within the entire schema of the object group. The capture group name cannot conflict with a field in the schema coming from the files indexed by the object group.

Another important consideration is whether an isolation key pattern creates a reasonable number of slices, or a virtually unbounded number of slices. If the isolation key causes ChaosSearch to create thousands or millions of separate slices, and thus thousands or millions of daily index files, isolation keys could incur a negative impact on query performance because of the very large number of index files to process. As a best practice, it is recommended to use rules that create less than 10,000 isolation keys for one object group.


What’s Next

How to create isolation-key object groups: