Batch class in Salesforce

Batch class is used when there is a need to process large amount of data(millions of records) that would exceed normal processing limits. This is the asynchronous way to process the records