Due to the size of our plant (50,000+ hosts to be monitored, along with applications and middleware) we are thinking of ways to plan for capacity on our historical zabbix servers.
Someone suggested the idea of "Smart Sampling" where you might have a a few items defined as such:
item2: proc.mem[my_proc] if item1 > 0
where the second item is only sampled, if the first item has a value > 0... This translates to only tracking application metrics, if the application is running, greatly reducing the need for storing those values if the application isnt running 24/7.