I have lists of points *X and Y*. *{1212,1216,1217,1219...}* *{1,2,3,4,5,6...}*

I combine them to make a one table of points *t = Thread[{x, y}];*
Using that table I build graphic: 
[![enter image description here][1]][1]

So I need to find function/formula out of this table of point.
So the best variant as I think is using *InterpolatingFunction[range, table]* and *InterpolatingPolynomial [data, var]*. But since we have huge amount of data the polynomial will be really huge (if I'm correct for n points, polynomial will be n-1). So if I understand correct it is not possible to use interpolation for it. Right? Therefore, we need to use regression to find approximated function, using *Fit[t, func, v];*. To make a better result, as I see, better divide graph in half, where it shifted to the right (near x=4000). And make two approximation graph instead of one. 

Since I'm not using Mathematica in daily use (it is my first time in this program), I need help. What function is best to use in *Fit[t,**func**,v]*? And how can I build two approximation functions for one graph? Do I need to divide the initial graph by my self?
Are there other methods that I missed? 

  [1]: https://i.sstatic.net/AYJja.png