0% found this document useful (0 votes)
10 views46 pages

Understanding Big Data: Key Concepts & Solutions

big data notes for data engg

Uploaded by

praveenakgecgzb
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views46 pages

Understanding Big Data: Key Concepts & Solutions

big data notes for data engg

Uploaded by

praveenakgecgzb
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Follow us on :

Big data

➢“Data is the new oil” ?


➢ Organizations and individuals who realized the value of data, have
been investing in learning and adopting best practices in data industry.
➢ This approach has enabled them to get deeper insights and take great
decisions in business which has benefitted them immensely.
Big Data Definition

Volume Velocity

Variety Veracity
4 v’s of Big Data
• Terabytes • Batch
• Transactions • Near Real Time
• Records • Real Time
• Tables • Streams
• Files

Volume Velocity

Variety Veracity
• Structured • Trustworthiness
• Semi Structured • Authenticity
• Unstructured • Origin
• Availability
• All the Above
• Accountability
4 v’s of Big Data
➢ Volume:- Mostly dealing with TB’s of data.

➢ Velocity:- Speed at which data is being received/processed.

➢ Variety:- Structured/unstructured, images, videos.

➢ Veracity:- Accuracy/quality of data.


Follow us on :
Evolution

➢Big Data in demand since last few years, but evolution spans
across not years, rather decades.

➢Good to know about the history.


Challenges

2 main challenges

Storage Processing
Challenges

How to store massive amount of data?

How to process massive amount of data?


Big Data

Big Data is actually a problem!


Storage Solution

➢ Google comes to rescue!


➢ Google released a paper in 2003 on Google File
system
➢ This paper explained how to store massive amounts of
data, hence solving the storage challenge.
Processing Solution

➢ Again Google comes to rescue!


➢ Google released a paper in 2004 on MapReduce
➢ This paper explained how to process massive amounts
of data, thereby solving the processing challenge.
Implementation
➢ Few Individuals at Yahoo implemented these papers and
developed a framework which was named Hadoop!
➢ Later on Hadoop was handed over to Apache software
foundation, an open-source and nonprofit corporation.
➢ The first version of Hadoop was released in 2006.
Implementation

➢ Storage solution in Hadoop was named HDFS(Hadoop


distributed file system).

➢ Processing solution name was retained as MapReduce.


Apache Spark

➢ Apache Spark is an alternative to MapReduce

➢ Apache Spark research began in 2009.

➢ A paper was released in 2010.

➢ First version of Apache Spark was released in 2014.

➢ Apache Spark provides processing at lightning speed


as it is memory based.
Commercial Solution
➢ In 2008 company named Cloudera was formed.
➢ It was first company to offer commercial Hadoop distributions.
➢ In 2011 company named HortonWorks was formed which also
offered Hadoop solutions.
➢ Both companies later announced merger in 2018 which was
completed in early 2019.
Databricks
➢ Creators of Apache spark founded a company and
product named Databricks in 2013.
➢ Databricks offers a platform for Big data, Machine
Learning and Lakehouse solutions.
➢ It is the go to choice and much demanded platform in
Data Engineering!
Big Data Solutions on Cloud
➢ Top Cloud providers: Microsoft, Amazon and Google joined
the race to provide Big Data solutions.
➢ All of them implemented solutions and made it much easier
for users, developers and companies to work on Big data.
➢ Databricks is now being offered as a service on all these 3
cloud platforms: Azure, AWS & GCP.
Big Data

Follow us on :
Distributed Computing
➢ If single entity can’t process the work, divide it
amongst multiple entities!
➢ Distributed computing has different types of
architectures.
➢ We will look into Master – Slave architecture
Distributed Computing
➢Master – Slave Architecture contains
Master
set/group of individual machines.
➢Master divides the workload and
Node1 Node2 Node3
distributes amongst the slave nodes.
➢Master node is also called as Name Node.
➢Slave nodes are also called as worker nodes.
➢Together the entire set up is called as Cluster which is a
group of individual machines.
Cluster
3 Node Cluster
Name
Node

Worker Worker Worker


Node1 Node2 Node3
Cluster Hardware

➢Machines are made up of Commodity hardware.

➢Commodity hardware is affordable/inexpensive.

➢There are rare chances of failure in Name node.


Big Data

Follow us on :
Features
Scalability

Parallelism Availability

Latency Features Fault


tolerant

Throughput Replication
Scaling/Scalability
➢It is ability of a system/cluster to increase or decrease the resources.
➢2 types: Vertical Scaling & Horizontal Scaling
➢Vertical scaling: Increasing resources of existing system.
➢Horizontal scaling: Adding more machines in cluster.
➢Vertical scaling cannot be done beyond an extent due to limitations.
➢Horizontal scaling can be done easily without disturbing the current
setup.
Availability
➢Distributed computing offers high availability!

➢It can be defined as the time the system will be available.

➢Linked to SLA(Service Level Agreement)


Fault Tolerant
➢Fault tolerant is the ability of a system to keep running when one or
more worker node is down.

➢Fault tolerant system is always available!

➢It comes at a cost.


Replication
➢Multiple copies of data are kept on different nodes in cluster.
➢Usually, replication factor is 3.

Master

B1 B2 B3 B2 B3 B1 B3 B1 B2
Throughput
➢It is the amount of data/items which can be sent across the network or
processed by system in a certain time frame

➢Higher the throughput, better is the performance!


Latency

➢It is the time taken to process a task.

➢Low latency is always expected!


Parallelism

➢It is the number of tasks/processes that can run at the same time.

➢More cores more parallelism!


Big Data

Follow us on :
Hadoop

➢Hadoop is a framework designed for Big data solutions.

➢It consists of several tools/components.


Hadoop Ecosystem
HDFS
Map
Zoo
Reduce
keeper

Sqoop Hive

Spark Hbase

Yarn Pig
HDFS
➢HDFS stands for Hadoop distributed file system.
➢It is the primary storage system of Hadoop.
➢It runs on commodity hardware.
➢It is highly fault tolerant.
➢It is built on master-slave architecture.
➢Files are stored across multiple nodes, also called as Data nodes.
HDFS
➢HDFS is designed to store large files across multiple nodes in a cluster.
➢Files are split into small chunks called as blocks.
➢The default size of these blocks was 64MB in Hadoop V1 and 128 MB
in Hadoop V2.
➢These blocks are replicated across nodes to achieve fault tolerance.
➢Both, block size and replication factor are configurable.
Map Reduce
➢Map reduce is the processing solution!
➢It has two stages: Map and Reduce.
➢In Map, input is passed as key-value pair.
➢Once map stage is completed, its output is passed to reduce stage.
➢In Reduce stage you filter, sort, aggregate data.
➢Map reduce programs can be developed in Java.
Sqoop
➢Sqoop is a tool designed to transfer data.
➢This process is known as ETL.
➢Using Sqoop we can transfer data from HDFS to relational databases
like MySQL, Hive, hbase.
➢It uses a command line interface to process data transfer
Hive
➢Hive is a data ware housing tool.
➢It is a distributed data warehouse.
➢We can run queries like SQL, which is known as HQL(Hive query
language).
➢Most demanded tool in Hadoop.
Hbase

➢It is a NOSQL distributed database.

➢Follows a column-oriented system.


Big Data

Follow us on :
Types

➢Broadly 2 types

Batch Streaming
Batch processing

➢Batch processing involves processing high volume of data in one


go!
➢Data size is known before processing begins!
➢Data is processed in batches.
➢Need to wait for the output until entire data is processed.
➢Takes longer time to process!
➢Needs huge amount of resources.
Streaming

➢Streaming involves processing stream of data which is flowing


continuously!
➢Data size is unknown!
➢Streaming processing provides real or near to real-time output.
➢Stock market, social media platforms, e-commerce.
➢Need less amount of resources.
Streaming tools

➢Apache Kafka
➢Spark streaming
➢Amazon kinesis
➢Google cloud dataflow
➢Azure stream analytics

You might also like