Rahul Sharma (Editor)

Data lake

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

A data lake is a method of storing data within a system or repository, in its natural format, that facilitates the collocation of data in various schemata and structural forms, usually object blobs or files.

Contents

Invention

James Dixon, then chief technology officer at Pentaho coined the term to contrast it with data mart, which is a smaller repository of interesting attributes extracted from raw data. He argued that data marts have several inherent problems, and that data lakes are the optimal solution. These problems are often referred to as information siloing. PricewaterhouseCoopers said that data lakes could "put an end to data silos. In their study on data lakes they noted that enterprises were "starting to extract and place data for analytics into a single, Hadoop-based repository."

Characteristics

The idea of data lake is to have a single store of all data in the enterprise ranging from raw data (which implies exact copy of source system data) to transformed data which is used for various tasks including reporting, visualization, analytics and machine learning.

The data lake includes structured data from relational databases (rows and columns), semi-structured data (CSV, logs, XML, JSON), unstructured data (emails, documents, PDFs) and even binary data (images, audio, video) thus creating a centralized data store accommodating all forms of data.

Examples

One example of a data lake is the distributed file system Apache Hadoop.

Many companies also use cloud storage services such as Amazon S3. There is a gradual academic interest in the concept of data lakes, for instance, Personal DataLake an ongoing project at Cardiff University to create a new type of data lake which aims at managing big data of individual users by providing a single point of collecting, organizing, and sharing personal data.

The earlier data lake (Hadoop 1.0) had limited capabilities with its batch oriented processing (Map Reduce) and was the only processing paradigm associated with it. Interacting with the data lake meant you had to have expertise in Java with map reduce and higher level tools like Pig & Hive (which by themselves were batch oriented). With the dawn of Hadoop 2.0 and separation of duties with Resource Management taken over by YARN (Yet another resource negotiator), new processing paradigms like Streaming, interactive, on-line have become available via Hadoop and the Data Lake.

Criticism

In June 2015, David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data". PricewaterhouseCoopers were also careful to note in their research that not all data lake initiatives are successful. They quote Sean Martin, CTO of Cambridge Semantics,

We see customers creating big data graveyards, dumping everything into HDFS [Hadoop Distributed File System] and hoping to do something with it down the road. But then they just lose track of what’s there.

They advise that "The main challenge is not creating a data lake, but taking advantage of the opportunities it presents." They describe companies that build successful data lakes as gradually maturing their lake as they figure out which data and metadata are important to the organization.

References

Data lake Wikipedia