NGA redundancy for redundancy-aware databases

For databases which can handle redundancy (i.e. offer a single virtual node for communication and are able to internally manage the writing / reading /synchronization of the redundant database nodes) a similar, but simplified architecture can be used. Note: This typically requires that the database(s) is / are located on a different node or on computers than the computer where WinCC OA is running.

Figure 1. NGA redundancy architecture for redundancy-aware databases

There is only one NGA DB backend required on each redundant WinCC OA node, each connected to the same virtual DB instance. The NGA on the active server writes data into the database, the passive one buffers and drops buffers when they have been committed by the active side. This solution is very similar to the redundancy architecture used in the RDB manager of WinCC OA.

As the redundant database may make redundancy switchovers on its own, the active backend has to be able to process aborted transactions (caused by a database redundancy switch) and repeat them. This is provided by NGA’s buffering algorithm which repeats writing of buffers until the operation succeeds or a retry count is reached.

All read operations (non-direct and direct) are always sent to the same virtual DB node. Therefore, there is no need for “addressing” the active node for direct queries.