“Data lakes, data warehouses, and databases “–All these are some terminologies used in Data Management. But what exactly their meaning is and are the same or differ from each other, let’s try to explore in this article. We will start with the definitions, then will discuss key differences.
A database is generic data storage and processing platform, often designed for a specific data model (e.g., relational, hierarchical etc.) that can be used for different workloads such as OLTP or OLAP. Database is an organized collection of data. Early databases were flat and limited to simple rows and columns. Today, the popular databases are:
Enterprise Data Warehouse (EDW): This is a data warehouse that serves the entire enterprise.
Data Mart: A data mart is used by individual departments or groups and is intentionally limited in scope because it looks at what users need right now versus the data that already exists.
Data Swamp: When your data lake gets messy and is unmanageable, it becomes a data swamp.
A data warehouse collects data from various sources, whether internal or external, and optimizes the data for retrieval for business purposes. the data warehouse is designed to gather business insights and allows businesses to integrate their data, manage it, and analyze it at many levels.
A data warehouse system is a specific data processing system, often build using a database system for OLAP/Analytics workloads. A specific data warehouse is using a relational or multi-dimensional analytics schema, often in form of a so-called star schema with fact and dimension tables, to answer a predefined set of questions and reports very efficiently. It is thus fully schematized and only stores the minimal amount of data to answer that set of questions. Data storage costs are normally high. The data is primarily structured, often from relational databases, but it can be unstructured too.
“A data lake is a place to store your structured and unstructured data, as well as a method for organizing large volumes of highly diverse data from diverse sources.”
A data lake is a generic data repository designed to store any type of data in as close as original format as possible, at large scale and low cost, with the ability to schematize the data on demand. It is designed for discovering the questions you want to ask (for example by applying machine learning algorithms on the data to discover interesting data correlations) and provide the original data to be able to answer new questions.
A data lake at the conceptual level augments the data warehouse by offering the original data at lower cost to create new data warehouses for the new questions as they show up and are being discovered. Its analytics engine(s) provides a highly scalable batch processing structure, custom code execution framework and machine learning infrastructure, integration with streaming pipelines (to form the cold path analysis in a lambda architecture) and the ability to run interactive queries.
Data lake platforms often include data warehousing capabilities by including a catalog system to store optimized logical storage abstractions such as tables and at the very least are integrated with a data warehouse system.
Data lakes, data warehouses and databases are all designed to store data. So why are there different ways to store data, and what’s significant about them? In this section, we’ll cover the a few of the key differences between a data lake ,data ware house and data base.
- A database can store day to day transaction as it stores current data.
- A data warehouse only stores data that has been modeled/structured data, or we can say data ware house can stores historical data,
- while a data lake is no respecter of data. It stores it all—structured, semi-structured, and unstructured.
- Database contains day to day transactions, so processing of data includes like insertion, updating or deletion of data.
- Before we can load data into a data warehouse, we first need to give it some shape and structure—i.e., we need to pre-process it. That’s called schema-on-write.
- With a data lake, you just load in the raw data, as-is, and then when you’re ready to use the data, that’s when you give it shape and structure. That’s called schema-on-read.
- A database contains well defined schema or tables to store data, all these tables are related to each other, can access jointly to get information.
- A data warehouse is a highly-structured repository, by definition. It’s not technically hard to change the structure, but it can be very time-consuming given all the business processes that are tied to it.
- A data lake, on the other hand, lacks the structure of a data warehouse—which gives developers and data scientists the ability to easily configure and reconfigure their models, queries, and apps on-the-fly.
- Data in database can be secured by applying different level of authentication and synchronization approach.
- Data warehouse technologies have been around for decades, while big data technologies (the underpinnings of a data lake) are relatively new. Thus, the ability to secure data in a data warehouse is much more mature than securing data in a data lake.
- As database stores day to day transactions the people working at clerk and admin level needs to access data from database.
Data ware houses are meant for data analysis, so any one working on this ,like higher management, data analysts, business analysts are the user for data warehouses.
A data lake, at this point in its maturity, is best suited for the data scientists.
Hope the article is useful !!!