I recommend using at least MapDB for restoreOnStartup of everything and one other persistence engine for everything else. The link above actually uses three, MapDB for restoreOnStartup, rrd4j for recent numerical data, and InfluxDB for longer term historical data and charting.
Currently I only use MapDB and InfluxDB as I’ve simplified my rules to the point where they no longer need access to historic data.
If you have any plans on anything more than just very basic charting I would recommend going with InfluxDB and Grafana.