History and trends are the two ways of storing collected data in Zabbix.
Whereas history keeps each collected value, trends keep averaged information on hourly basis and therefore are less resource-hungry.
You can set for how many days history will be kept:
Any older data will be removed by the housekeeper.
The general strong advice is to keep history for the smallest possible number of days and that way not to overload the database with lots of historical values.
Instead of keeping a long history, you can keep longer data of trends. For example, you could keep history for 14 days and trends for 5 years.
You can get a good idea of how much space is required by history versus trends data by referring to the database sizing page.
While keeping shorter history, you will still be able to review older data in graphs, as graphs will use trend values for displaying older data.
If history is set to '0', the item will update only inventory. No trigger functions will be evaluated.
Trends is a built-in historical data reduction mechanism which stores minimum, maximum, average and the total number of values per every hour for numeric data types.
You can set for how many days trends will be kept:
Trends usually can be kept for much longer than history. Any older data will be removed by the housekeeper.
If trends are set to '0', Zabbix server does not calculate or store trends at all.
The trends are calculated and stored with the same data type as the original values. As the result the average value calculations of unsigned data type values are rounded and the less the value interval is the less precise the result will be. For example if item has values 0 and 1, the average value will be 0, not 0.5.
Also restarting server might result in the precision loss of unsigned data type average value calculations for the current hour.