SQL Tags in SQL Database VS. Internal Provider

Hey guys,

What are the pluses and minuses to keeping the SQL tags in a SQL database versus keeping them in an internal tag provider? Right now I have all of my tags in an internal tag provider because I didn’t want to hit the database any more than I had to. However, now I’m starting to get a larger number of tags than I previously expected (the more people that see the project the more requests I get to add stuff :wink: ) and I was wondering if there would be any reason to switch to a SQL tag provider, memory, CPU demand, etc… My SQL database is in a MSSQL clustered environment if that makes a difference and not on the same server as Ignition.

Also, if I was going to switch how easy would it be to do? Can I just switch it over to a different provider on the fly?

I think this would only really be beneficial if you were actually going to split execution over multiple Ignition gateways. If you’re still going to have just one gateway execute them, you’re only introducing a fairly significant bottleneck in DB i/o.

Even if you had multiple gateways, it may be better to keep the tags internal to each, and simply use retargeting on the client to get between them. Of course, there are some architectures where external tags make sense, but internal tags definitely offer better performance.


Ok, that’s what I figured but I wanted to make sure. Thanks, Colby!