IKVStore is an interface providing put(), get(), and remove() methods to access the data in store. IKVStore should be implemented in many different ways. For instance, in the side of a server replica, the key-value data may be stored in memory, in files, or in database. For a client, it may be a cache store.