Sitecore XP version 8.0, 8.1 and 8.2 comes with following MongoDB databases:

  • analytics
  • tracking.live
  • tracking.history
  • tracking.contact

What is the purpose of the tracking.live database in MongoDB?


Tracking Live

The tracking.live database is used by two entities:

  • Task Storage (defined in Sitecore.Analytics.Processing.config file)
  • Live Processing Pool (defined in Sitecore.Analytics.Processing.Aggregation.ProcessingPools.config file)

Task Storage

Works with the TaskQueue collection that is defined in the tracking.live database. Deferent Sitecore roles can add new tasks to collection and get tasks from collection. Task storage is used by the Task Queue. The queue is used by the Task Manager. The Processing / Aggregation role runs the Task Agent (defined in Sitecore.Analytics.Processing.config file). The agent gets tasks from the Task Manager and executes them.

Tasks are added to queue by various parts of the system when processing of large amounts of data is necessary (removing contacts from automation states, setting timeout date of automation state, updating classification of location, etc). Custom code can also schedule tasks to be processed by the Processing / Aggregation role, which typically sits on a dedicated server.

Live Processing Pool

Works with the ProcessingPool collection that is defined in the tracking.live database too. Whenever a new session is flushed (on the Session_End event) to the analytics database, the Sitecore.Analytics.Aggregation.CommitSession.ProcessingPoolAdd processor (defined in the submitSessionContext pipeline) adds a new work item with an interaction ID to the live processing pool for the future processing.

The live processing pool is referenced by the Live Interaction Aggregation Context (defined in the Sitecore.Analytics.Processing.Aggregation.config file), where the context is used by the Interaction Aggregator (defined in the Sitecore.Analytics.Processing.Aggregation.Services.config file).

The Processing / Aggregation role runs the aggregator. It gets work items from the live processing pool through Aggregation Context. Each work item is processed by calling the analytics.aggregation/interactions pipeline.

The Live Interaction Aggregation Context is also referenced by the Interaction Work Dispatcher (defined in the Sitecore.Analytics.Processing.Aggregation.Services.config file). The dispatcher is used by the Aggregation Cleanup and Aggregation Recovery agents (both defined in the Sitecore.Analytics.Processing.Aggregation.Services.config file).

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.