To make application development easy and running well, application developers often require an efficient data store. However, by using a strong consistency model, e.g. linearizability, a data store will encounter performance problem, while a weak consistency model, like eventual consistency, may give insufficient guarantees on operation orders. In this project, we are aiming at designing and implementing a causal consistent data store, which is efficient and easy to use. The implementation of Cave is based on resources from Apache Cassandra.