In order to understand AirbyteStreams, let’s first talk about the AirbyteCatalog. An AirbyteCatalog describes the structure of data in a data source. It has a single field called streams that contains a list of AirbyteStreams. Each AirbyteStream contains a name and json_schema field. The json_schema field describes the structure of a stream. This data model is intentionally flexible.
If we are using a data source that is a traditional relational database, each table in that database would map to an AirbyteStream. Each column in the table would be a key in the properties field of the json_schema field.
If we are using a data source that wraps an API with multiple different resources (e.g. api/customers and api/products) each route would correspond to a stream.