11

While setting up the SDL Web 8.5 there is a mention of creating (and setting up) the State Store Database - which essentially looks like a small subset of the Broker DB.

I tried to get some info from the docs, but couldn't find much apart from it being used by the Deployer.

Is there a documentation or details about what is the significance of it?

2
  • 2
    docs seems to be down, I'll add context later - this is used when outscaling the deployer, it stores transaction state. Some info here: blog.building-blocks.com/technical-tips/sdl-web-8.5-bootcamp
    – Nuno Linhares
    Commented Mar 2, 2017 at 16:07
  • The documentation says "If you followed the default instructions for creating the Content Data Store, you have already created the State Store database and you can skip this section." I'd imagine there would be infrastructures where you didn't want to load the broker db with additional deployment effort. Wouldn't it then make sense to have both? Commented Aug 12, 2017 at 16:01

2 Answers 2

6

Hopefully someone like Bengineer or vinayknl can come complement this information.

Basically in Web 8.5 you have 2 types of deployer:

  • Deployer Combined - same as a before, an instance that does everything
  • Deployer ... huh .. uncombined? where the receiver endpoint and the deployer workers are separated and outscaled.

When you use the "uncombined", or "outscaled" model, you need to setup separate Content Deployer Endpoints and Content Deployer Workers. This "State Store Database" is used to keep track of deployment packages and their state throughout the deployment process.

You can also use Redis for this state store, if I understand it correctly.

4
  • Great explanation Nuno; thanks, it indeed clears a lots of doubt as well as my potential question about the difference between Deployer and Deployer combined - Thanks so much for the information Commented Mar 3, 2017 at 11:53
  • Hey Nuno. Are you sure that the State database isn't used for the Combined Deployer? The Configuring the combined Content Deployer page in the online docs seems to suggest that it's still needed. Do you have any more info on this please? Commented Mar 16, 2018 at 12:56
  • 1
    I have various test "all-in-one" environments where I never setup the state store, and never had an issue with it. Maybe it is recommended (otherwise state is kept in file system) but it sure works without it.
    – Nuno Linhares
    Commented Mar 17, 2018 at 8:45
  • Excellent. Thanks for confirming. We'll try it without and report back. Cheers. Commented Mar 19, 2018 at 10:56
4

There is a helpful diagram at the top of the SDL Web Scalable Deployers Quick Start guide written by Richard Hamlyn here: https://community.sdl.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-63/QuickStart_5F00_SDL_5F00_Web_5F00_Scalable_5F00_Deployers.pdf

The diagram (and accompanying description) shows that the Deployer Worker services write the status of each publishing job to the State Store database, and then these statuses are then retrieved by the Deployer Endpoint service (and returned to the Transport Service).

In a standard installation, and as shown in Richard's diagram, the State Store database tables are in the same database as the Content Data Store (a.k.a. The Broker database). However, it is possible to have these in a separate database by following the Running the State Store database creation script instructions (or creating the tables manually).

The Content Delivery database prerequisites page of the online docs shows that only the following databases are supported. Therefore, I think that Nuno's comment about being able to use Redis for the State Store may be incorrect:

  • Oracle Server
  • Microsoft SQL Server
  • Microsoft Azure SQL Database
  • Amazon RDS
1
  • 1
    You are 100% correct - REDIS can be used to store the packages, not the state. There are quite a few limitations in this (like max package size of 512MB) so I'd rather advise people to go with a shared file system for this instead.
    – Nuno Linhares
    Commented Sep 18, 2017 at 14:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.