One of the key concepts in streaming SQL, a stream is a continually updating data object, with columns of data similar to a database table. A stream is a schema object that is a relation but which does not store data like as a finite relation (such as a table in a database). Instead, a stream implements a "publish-subscribe" protocol. It can be written to by multiple writers (with INSERT statements, often contained in pumps) and read from by multiple readers (with SELECT statements. The number of records in a stream can be infinite, as with a log file that is continually read as new data is logged.