A computer-implemented method for batch data ingestion into a database, the method comprising: determining a notification indicating a presence of a user file received from a client account to be ingested into a database and committing the user file to a client account queue, wherein the client account queue is coupled to the client account, wherein the determining of the notification indicating the presence of the user file comprises determining by polling the client account queue to determine whether any new user files have been committed to the client account queue since a last time the client account queue was polled; identifying data in the user file; identifying a target table of the database to receive the data in the user file; generating ingest tasks (216, 220) for ingesting the user file into the database, wherein the ingest tasks include cutting the user file into partitions, generating micro-partitions for the target table, wherein the partitions of the user file are inserted into the micro-partitions, and inserting the micro-partitions into the target table; assigning (208, 810) the ingest tasks to execution nodes (214, 218, 306, 502, 512, 522) of an execution platform (212, 304), wherein the execution platform comprises a plurality of execution nodes operating independent of a plurality of shared storage devices collectively storing database data; registering (210, 812) metadata concerning the target table in a metadata store after the data has been fully committed to the target table by the execution nodes, wherein the metadata indicates in which micro-partitions of the target table the data was inserted; and managing a further client account queue, which is coupled to a further client account and comprises a listing of user files of the further client account to be ingested into the database. determining a notification indicating a presence of a user file received from a client account to be ingested into a database and committing the user file to a client account queue, wherein the client account queue is coupled to the client account, wherein the determining of the notification indicating the presence of the user file comprises determining by polling the client account queue to determine whether any new user files have been committed to the client account queue since a last time the client account queue was polled; identifying data in the user file; identifying a target table of the database to receive the data in the user file; generating ingest tasks (216, 220) for ingesting the user file into the database, wherein the ingest tasks include cutting the user file into partitions, generating micro-partitions for the target table, wherein the partitions of the user file are inserted into the micro-partitions, and inserting the micro-partitions into the target table; assigning (208, 810) the ingest tasks to execution nodes (214, 218, 306, 502, 512, 522) of an execution platform (212, 304), wherein the execution platform comprises a plurality of execution nodes operating independent of a plurality of shared storage devices collectively storing database data; registering (210, 812) metadata concerning the target table in a metadata store after the data has been fully committed to the target table by the execution nodes, wherein the metadata indicates in which micro-partitions of the target table the data was inserted; and managing a further client account queue, which is coupled to a further client account and comprises a listing of user files of the further client account to be ingested into the database.