Data lake

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

A data lake is a method of storing data within a system that facilitates the colocation of data in variant schemas and structural forms, usually object blobs or files. Hadoop and the AWS S3 platform can be used to build data lake repositories.

Invention

The term was coined by James Dixon, Pentaho chief technology officer.[1] Dixon used the term initially to contrast with "data mart", which is a smaller repository of interesting attributes extracted from the raw data. He wrote: "If you think of a datamart as a store of bottled water – cleansed and packaged and structured for easy consumption – the data lake is a large body of water in a more natural state. The contents of the data lake stream in from a source to fill the lake, and various users of the lake can come to examine, dive in, or take samples." [2] Dixon argued that data marts have several inherent problems, and that data lakes are the optimal solution.

Dixon identified 2 shortcomings of data marts: "Only a subset of the attributes are examined, so only pre-determined questions can be answered." and "The data is aggregated so visibility into the lowest levels is lost." [2] These problems are often referred to as "siloing" and, in agreement with Dixon, PricewaterhouseCoopers says that data lakes could "put an end to data silos".[3] In their study on data lakes they note that "Enterprises across industries are starting to extract and place data for analytics into a single, Hadoop based repository." They note organizations such as UC Irvine Medical Center, Google and Facebook who have embraced the data lake concept.

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 forms 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, and newer formats like json), unstructured data (emails, documents, pdf's) and even binary data namely images, audio and 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.[4] There is a gradual academic interest in the concept of data lakes, for instance,Personal DataLake[5] 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.[6]

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, online were available with Hadoop and the Data Lake.

Criticism

Lua error in package.lua at line 80: module 'strict' not found.

In June 2015 David Needle characterized "so-called data lakes" as "one of the more controversial ways to manage big data".[7] 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,

<templatestyles src="Template:Blockquote/styles.css" />

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

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

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. http://ieeexplore.ieee.org/xpl/abstractAuthors.jsp?reload=true&arnumber=7310733
  6. http://www.researchgate.net/publication/283053696_Personal_Data_Lake_With_Data_Gravity_Pull
  7. Lua error in package.lua at line 80: module 'strict' not found.