Migration from PI DB to Influx DB


Hi all,

We have to soon perform a migration from PI DB to Influx DB for a project. We were wondering whether there is a tool already available that could ease the process.
If not - which approach would you recommend?
Opt A: Export data in chunks to the Influx Line protocol and later import data from these files
Opt. B: Use REST API and code to iterate data
Are both having the same reliability or we have to handle by a separate check that our data are actually in?
Data Migration is supposed to be a one-time job.



@Ivo_Andreev Hello! I think for a migration using the first method (Opt A) will be the most straightforward. You would use influx -import to write the data to Influx. I would be interested in hearing about your experience. Especially how you are pulling the data out of the PI DB and transforming it. I know there are other users who would benefit from you sharing your experience.


Greeting @jackzampolin.
I can share no sooner than the time when we have done it. Otherwise it would not be serious. Currently the intention is reading by using .NET code. But the question was whether to directly stuff in InfluxDB or prepare line files. The good thing in OptA is that we will have these files which we could use any time later - like export.


@Ivo_Andreev As I said above I think that writing to files first (Opt A) would be best. This gives you more room for errors and makes retrying easier. Good luck and if you have any problems I’ll see if we can help out.


Are you talking about OSIsoft PI? If so, you might consider using piconfig to extract text files… directly on the PI Server node. Be very careful about timestamps… best to do everything in UTC.


FYI: we will migrate a GE historian to influxdb before summer 2018 (500+ measurements, polled every 1 to 10 seconds, running for 7 years).


I forgot to comment on that, but we solved the case somewhere November 2017 and the best solution for us was to use the line protocol. Just be aware of things like time zone and daylight saving time when reading. Keep to UTC.