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
    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 Mar 2 '17 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? – Dominic Cronin Aug 12 '17 at 16:01
5

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.

  • 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 – Pankaj Gaur Mar 3 '17 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? – Jonathan Williams Mar 16 '18 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 Mar 17 '18 at 8:45
  • Excellent. Thanks for confirming. We'll try it without and report back. Cheers. – Jonathan Williams Mar 19 '18 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
    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 Sep 18 '17 at 14:37

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.