Understanding Data Partitioning and Replication in Apache Cassandra