1. A data collection system, comprising: a plurality of data sources that produce data, wherein at least some of the plurality of data sources produce data in different formats; a plurality of files, wherein each of the plurality of files is associated with a different size file line; a plurality of listeners stored in a non-transitory computer readable medium that, when executed by a computer processor, receive the data from the plurality of data sources, identify the data, parse the data, convert the data into a generic format, validate the converted data, and write the converted data to the plurality of files based on a line size of the data, wherein the plurality of listeners are implemented using a script programming language; a plurality of loaders stored in a non-transitory computer readable medium that, when executed by a computer processor, load the converted data into a database, wherein the plurality of loaders are implemented using an object oriented programming language, and wherein each of the plurality of loaders loads file lines of a certain size from one of a plurality of files; and a plurality of JAVA virtual machines, wherein each of the plurality of loaders is executed in a different one of the plurality of JAVA virtual machines, and wherein each of the plurality of JAVA virtual machines is tuned differently based on the certain size file lines being loaded by the corresponding loader of the plurality of loaders operating therein.