Understanding CAP Theorem in Distributed Systems — Programming Keynou