You must keep in mind several important limits of Batch Apex:
Future methods are not allowed anywhere in Batch Apex.
Batch jobs are always run as the system user, so they have permission to read and write all data in the organization.
The maximum heap size in Batch Apex is 12MB.
Calling out to external systems using the