We did this for 2 large projects I worked on. Works really well for env. where you can get a lot of data per customer.
We had customers with up to 3-4 TB databases so any other option would either be crazy expensive to run and or to develop for. You need to invest a bit of time into nice tooling for this but in a grand scheme of things it's pretty easy to do.