@Override
  public void storeAggregatedPartitionClassStorageStats(
      AggregatedPartitionClassStorageStats aggregatedPartitionClassStorageStats) throws SQLException {
    long startTimeMs = System.currentTimeMillis();
    PartitionClassReportsDao.StorageBatchUpdater batch =
        partitionClassReportsDao.new StorageBatchUpdater(config.updateBatchSize);
    Map<String, Map<Short, Map<Short, ContainerStorageStats>>> storageStats =
        aggregatedPartitionClassStorageStats.getStorageStats();
    for (String partitionClassName : storageStats.keySet()) {
      Map<Short, Map<Short, ContainerStorageStats>> accountStorageStats = storageStats.get(partitionClassName);
      for (short accountId : accountStorageStats.keySet()) {
        for (ContainerStorageStats containerStats : accountStorageStats.get(accountId).values()) {
          batch.addUpdateToBatch(clusterName, partitionClassName, accountId, containerStats);
        }
      }
    }
    batch.flush();
    storeMetrics.storeAggregatedPartitionClassStatsTimeMs.update(System.currentTimeMillis() - startTimeMs);
  }
Copy the row of table {@link AggregatedAccountReportsDao#AGGREGATED_ACCOUNT_REPORTS_TABLE} to {@link AggregatedAccountReportsDao#MONTHLY_AGGREGATED_ACCOUNT_REPORTS_TABLE}
and update the {@code monthValue} in table {@link AggregatedAccountReportsDao#AGGREGATED_ACCOUNT_REPORTS_MONTH_TABLE}.
@param monthValue The month value.
@throws Exception
ambry-mysql/src/main/java/com/github/ambry/accountstats/AccountStatsMySqlStore.java