I am developing a SCADA system for up to 4000 tags in total to show the trends of and about 400 parameters for recipes in total. My question is which type of database (e.g. Postgre, MSSQL) is the best? SCADA will not exchange any data with any ERP system.
You describe what I would consider a very light load. Any of the major brands, free and not, should work fine. I happen to treat Microsoft products like the plague, but your mileage may vary.
Another option in 8.3 is the built-in Core Historian (QuestDB). I would choose this option only if you are planning to install the database on the same server as Ignition. If not using the Core Historian, plan to use separate resources.
The 'which database' decision often involves many people, and those that will be maintaining the system often carry the largest vote. As in, if 'the company' has a team of (1 or more) DB admins which specialize in MSSQL, then MS is an obvious choice.
As a personal preference, each time I have the option to work with Postgres, I look forward to it.
Disclaimer: I’ve never tried PostGres in my life, but I’ve heard feedback that it’s the nerdy nerds choice of database.
I’m a MariaDB man. Word on the street is, MariaDB is easier to get started with than PostGres. Depends on your background I guess, my degree is in Mechatronics not Comp Sci.
Give it a shot, it's really not more complicated than mariaDB.
But make sure to do some google-fu (or LLM-fu if that's your kink) to find what to do differently (ie: use text everywhere instead of varchar)
PostgreSQL + TimescaleDB (TigerDB) = Amazing Historian Solution!!
I'm in the process of starting up a gas plant, and so our historical data is increasing as things come online, but here I have data set to compress after a week, but you can see how much compression TimescaleDB gets on the data.
All depends on scale, if you have a single gateway and site only owns a single server, use core historian. If you have multiple servers, use Postgres for all the database needs, core historian is just wasting money on license fees for a product that is inferior to the externally hosted products.
thats pretty impressive. when you use postgres timescale db can you also use postgres for normal database functions inside of the database? I guess I am wondering if you need to create a separate database specifically for timescale db or if you can select which tables to use for timescale db only.
Timescales an extension on postgres. You turn postgres tables into hypertables to utilize the timescale functionality but you don’t need to do that to every single table.