Some users have history reporting and analysis needs that go significantly beyond what the zabbix UI provides. Adding a "hook" to zabbix to allow for numeric history data to be sent to other (additional) data stores would add an enormous amount of flexibility to zabbix deployments.
I believe the "hook" could live somewhere in src/libs/zbxdbcache/dbcache.c in the dc_add_history_<type> functions.
If logic were added there to optionally send data to rabbitmq (http://alanxz.github.io/rabbitmq-c/docs/0.5.0/) (replacing item id with the corresponding host name and item key strings) it would then be possible to do any number of things with the data at the "other end": graphite, opentsdb, other "nosql" targets, etc.
The data required would be:
unix time, host name, item key, value
The precise format really doesn't matter as long as it's machine parse-able.
I imagine the option would be enabled with a few configuration lines in the server config file.
AMQ connection parameters would be something like:
and maybe username+password
The code to "fork" data would only function if these things were defined. The presumption would be that it's fire-and-forget - zabbix wouldn't need to do anything other than format the string and send it down the pipe.