Eric Brewer's theorem (1998), or CAP as most of the people refer to it, is one of the most known problems/limitations when designing big systems that require consistency, availability, and partition tolerance, when you only can achieve 2 of the three at the same time.
What are the best todays techniques to overcome this limitation, considering the one can't sacrifice one for the other two?