InfoProviders can have widely differing characteristic values. Every InfoProvider provides data for a query however.
Most InfoPorviders are modelled in the BW system. Some basis objects can be used both on their own and in other InfoProviders.
InfoCubes that are:
DataStore objects that are:
These InfoProviders are loaded with data using staging.
There are also InfoProviders that are modeled in the BW system and are comprised of other InfoProviders:
HybridProvider, with the following types:
Based on a DataStore object
Based on direct access
You can also make a BEX query - that was a defined on InfoProviders - available as an InfoProvider again.
Some InfoProviders are modeled in the BW system but their data is usually not in the BW system:
VirtualProviders that are:
Some InfoProviders, TransientProviders, are not modelled in the BW system. They are derived from another object instead: