Data storage for analytics I have to store some amount of data for analytical purposes.

The data source produces 2TB data per month.
Data is collected on a monthly basis (not real-time).
Data is fully structured.
There are 100+ different columns of data.
Availability of SQL is important.
Engineer/developer resources are limited.

I planned to use Postgres (probably with column-oriented extension), however, it would not be feasible for such data amounts (more than 20TB per year). I also made a research on Hadoop/Spark, however, it looks like a bit massive solution (considering, that the data is fully structured). I don't consider cloud-based solutions, as well as expensive ones (preferably, free-licence) .
Would you be so kind to suggest, which data storage to use for big amounts of structured data for analytical purposes?
Aside from the recommendations made by Danielle and J.D., I suggest you examine how the data is represented and the frequency.
For example, if the data is transmitted in a JSON or XML format, which is handy for transmission and processing, the size will be large (e.g. a numeric string vice a float or an int).  Also, string identifiers (e.g. serial number, credit card number) can be made into PK/FK relationships that could save space.
Your data sampling frequency may be higher than what is realistically usable. For example, if you get weather data at 10 samples/sec but your analysis only has 1 hour resolution, you have a lot more weather data than you can use. Perhaps resampling the data to a lower frequency (e.g average and standard deviation, low-pass filter) and storing that might be a better solution. You can always archive the raw data--archival storage for a years worth of data is not very expensive.