dbsim simulates different partitioning and replication strategies for shared-nothing distributed databases processing transactional workload