There are three primary concerns you must balance when choosing a data management system:
- Consistency means that each client always has the same view of the data.(all nodes see the same data at the same time)
- Availability means that all clients can always read and write.(a guarantee that every request receives a response about whether it was successful or failed)
- Partition tolerance means that the system works well across physical network partitions.(the system continues to operate despite arbitrary message loss or failure of part of the system)
Now according to CAP theorem you can pick only 2:
CA, CP, AP
Relational systems are CA systems and typically deals with problem of partitions which can be dealt via replication.
NoSQL systems supports horizontal scalability. To scale horizontally, you need strong network partition tolerance which requires giving up either consistency or availability. NoSQL systems typically accomplish this by relaxing relational abilities and/or loosening transactional semantics.
HBase is an example of CP systems while Cassandra is an example of AP systems.
This does not mean HBase is not available. It means system is basically available indicates that the system does guarantee availability, in terms of the CAP theorem.
Also, it does not mean Cassandra is not consistent. It mean system will become eventualy consistent i.e; the system will become consistent over time, given that the system does not receive input during that time.
This does not mean HBase is not available. It means system is basically available indicates that the system does guarantee availability, in terms of the CAP theorem.
Also, it does not mean Cassandra is not consistent. It mean system will become eventualy consistent i.e; the system will become consistent over time, given that the system does not receive input during that time.
Comments
Post a Comment