I had great problems using cacti years ago, when the number of devices and metrics started to grow. There were to many snmp requests to do. Also, the huge number of rrd files became an IO hell. Not to mention the kind of fun managing thousand of rrd files is.
Anyway, the ability to extend my monitoring easyly including any metric I need (last one, a set of webperformance tests using webpagetest/gemetrix apis), is what makes my day =)
Zabbix is a robust product (even sopitfy has been using it for years)and it uses a relational database as its backend.
The great thing about tsdb, is the ability of aggregate a lot of data sources (from network monitoring to application performance metrics). That makes easy to spot the source of the problem.
If I only got enough time to test all the things on my ToDo list...