• Which columns the ETL step populates So, if there is an error in one of the functions, and a user tries to run the data pipeline, the user can go to the dashboard and immediately see: these steps finished, this step encountered an error, all of its dependencies did not run as a result, and here is the error message. This makes even the most complicated ETL pipelines easy to debug and maintain. Even when there are no errors, the user can query the runtime of each step to identify bottlenecks in the process. The DBgen log database makes Efficient, Cloud-Optimized Insertion Methods: DBgen copies data from the machine that is executing the ETL pipeline to the machine that is hosting the database in large batches, which is more computationally efficient than traditional methods. Additionally, DBgen makes it easy to run each individual ETL step on a separate compute instance, so if one ETL step is particularly compute-intensive, it can be run on a more powerful compute instance. Together, these features ensure that all DBgen ETL pipelines are scalable. The details are described in the supplemental information. Abstraction: With DBgen, a user can implement an entire database and ETL pipeline without writing one line of SQL code. This provides accessibility to ETL pipelines defined using DBgen. With the SQL abstracted away, a much broader user base is able to define or at least understand and edit existing ETL pipelines.