According to the CAP Theorem, distributed systems can only guarantee two out of the following three properties:
- Consistency - All nodes have the same view of the data at all times.
- Availability - All requests sent to the system are answered.
- Partition Tolerance - The system maintains its properties even in case of a network partition.
This implies that we can build three different types of database systems CA, CP & AP. Based on this classification, which type of system would you aim for the following scenarios?
- You are an online retailer which uses shopping carts to collect items that users want to buy.
- You are a bank that wants to develop the software for its ATMs.
- You are the owner of a social media application providing a social media feed.