Given that your logging interval is one minute and you’re not reading over 1000 tags, this should be doable with Node-RED – but if you start to pick up more tags or reduce the interval, then it’s pretty likely that performance will go down from there.
If you are expecting to add more tags down the line, log them more often, or need any features like store-and-forward when the network is down, check out Inductive Automation’s Ignition software. EPIC supports Ignition EDGE and with the 1.4 update you can enable the full Ignition Gateway to use their SQL bridge module to push tags straight into your database really cleanly. This might be a good option worth exploring for your project.
If you’re going to stick to the 1000 tags and 1 minute interval and want to use Node-RED, my advice would be to build up the SQL insert statement using one long string variable, then write them all at once at the 1 minute mark so that you can avoid opening and closing the database connection a thousand times every minute.
Do you know if the 20 tags from the 50 devices is the ultimate size of the application or could there be some changes down the line?