The CAP theorem asserts that any networked shared-data system can have only two of three desirable properties (Consistency, Availability and Partition Tolerance). In this IEEE article, author Eric Brewer discusses how designers can optimize consistency and availability by explicitly handling partitions, thereby achieving some trade-off of all three.