A data lake is an abstract concept which requires technological tools and systems to implement. Since there is no standard definition of what a data lake must consist of, it is not uncommon to see slightly differing names of the constituent building blocks of data lakes in the definitions proposed by vendors and industry analysts. The building blocks of a data lake will fall into three tiers:
Ingestion tier
Storage tier
Insights tier
In general, a data lake should be able to take data feeds from multiple sources. This data feed can come in real time, micro batches, or in large batch files. A data lake should be able to ingest the data from difference sources. For each type of data source, the data ingestion tools may be identified. The ingestion tier can also provide scheduling tools to import the data at predefined intervals.