How hash-sharded primary keys work