Is MySQL Clustering a viable option for a DB expecting 5TB of data in 5 years?
currently the maximum data set size is around 3TB, if you are using all in-memory data.
You can increase that if you use disk-based tables

MySQL Cluster also has very flexible replication to external storage engines, ie to InnoDB, so many users manage their "hot" data in cluster, then replicate "colder / aged" data to innodb.

There is a blog describing how to configure this here:
http://johanandersson.blogspot.co.uk/2009/05/ha-mysql-write-scaling-using-cluster-to.html