If you plan on using zfs I have found by painful experience you need to have an enormous amount of memory. I am currently running with zfs and it takes 20G of memory to really support it well.
I can confirm that's the certainly the case on Linux. The process table has a lot of "z.*" items running for sure when using the zfs filesystem. Since Oracle has ceased open source development on zfs, that's why I've started exploring btrfs as an alternative.
I really like the ease of handling boot environments in Solaris with the beadm tool (written in Python, by the way) and am seeking something roughly akin to that with btrfs in Linux land.
While the zfs on Linux crew is doing a laudable job, their last release is from August 2013 whereas btrfs is more recent, albeit a fast-moving target.