I believe this would be possible with a relational database but throughput will be an issue.
The best form of storing the data will be tradeoff between simplicity and storage efficiency.
Normally i would save each series in its own row but in this case (given the sheer volume of data) I think it would make sense to save each engine in its own column. This would result in 25,000 rows rather than 500,000 rows for 1 seconds worth of data.
The above is assuming all observations were taken at the same second. If the observations of each engine are at random and unpredictable intervals then this wouldnt be of much use.
Storing each observed value in its own field will make reporting and analysis much easier.
The next challenge is then being able to make use of this data. If aggregation is of use then an OLAP cube could be very useful.