The data pipeline that extracts the data from that structure and populates the ESAMP database requires over 50 ETL steps with a complicated tree of dependencies. The process of designing the ESAMP architecture required a great deal of iteration, so the ETL pipeline had to be adjusted and redefined dozens of times. Accomplishing this without DBgen would have been prohibitively laborious. In this example, process data has been stored within the process data Entity using its file name and the goal of this Generator is to extract each file and find the locations and widths of the peaks within the underlying data. As this generator queries the file name from the process data Entity and loads the resulting peaks into the peaks entity, DBgen automatically places this Generator after any Generator that populates the process data entity and before any Generator that depends on the peaks Entity being populated.