Data Across Multiple Application Servers: Subcube Caching

Since an application can have multiple application servers, the system keeps an application’s data synchronized across servers by caching subcubes of data into RAM.

Whenever a cell is viewed or set by a client, the data for the cell’s subcube is placed in the data cache, which is located in the application server’s HsvDataSource process. When a user updates a cell’s data, Financial Management performs this process to ensure that data is synchronized:

  1. The subcube is updated and locked on the application server to which the client is connected.

  2. The application server checks the time stamps of the subcube cells on the data server to see if the subcube was updated by another application server since the current application server last cached the subcube.

  3. If the subcube was updated by another application server, the data cache is updated with the other application server’s data.

  4. The data cache is updated with the client’s cell.

  5. The database is updated.