Good question! The benefit of the architecture comes from having a centralized high performance database that consolidates your “live data” and acts as a cache prior to directly communicating with the PLC (OPC Server) - that’s really what SQLTags is all about. Multiple concurrent clients viewing the same data don’t add to the PLC. Dealing with different data often scales better than linearly since transactions are consolidated.
The model I described doesn’t require an SQL database. However, keep in mind that any package that you deal with necessarily has a database - most are hidden from you except as a “tag database” or “tag dictionary”. We found that standard SQL databases do a very good job at that role, work ideally as a historian, and work well for giving other applications “hooks” into the process. They are also: manageable, scalable, and implement powerful security and auditing features.
When considering a distributed system just be sure that every node/client doesn’t talk to the PLC directly. That introduces excessive PLC traffic, considerable maintenance headache, and doesn’t scale. Benchmarks available here.