SlideShare a Scribd company logo
Zohar Elkayam
www.realdbamagic.com
Twitter: @realmgic
Things Every Oracle DBA
Needs to Know about the
Hadoop Ecosystem
Who am I?
• Zohar Elkayam, CTO at Brillix
• Programmer, DBA, team leader, database trainer, public
speaker, and a senior consultant for over 18 years
• Oracle ACE Associate
• Part of ilOUG – Israel Oracle User Group
• Involved with Big Data projects since 2011
• Blogger – www.realdbamagic.com and www.ilDBA.co.il
2 http://brillix.co.il
About Brillix
• We offer complete, integrated end-to-end solutions based on best-of-
breed innovations in database, security and big data technologies
• We provide complete end-to-end 24x7 expert remote database
services
• We offer professional customized on-site trainings, delivered by our
top-notch world recognized instructors
3
Some of Our Customers
http://brillix.co.il4
Agenda
• What is the Big Data challenge?
• A Big Data Solution: Apache Hadoop
• HDFS
• MapReduce and YARN
• Hadoop Ecosystem: HBase, Sqoop, Hive, Pig and other tools
• Another Big Data Solution: Apache Spark
• Where does the DBA fits in?
http://brillix.co.il5
The Challenge
6
The Big Data Challenge
http://brillix.co.il7
Volume
• Big data comes in one size: Big.
• Size is measured in Terabyte (1012), Petabyte (1015),
Exabyte (1018), Zettabyte (1021)
• The storing and handling of the data becomes an issue
• Producing value out of the data in a reasonable time is an
issue
http://brillix.co.il8
Variety
• Big Data extends beyond structured data, including semi-structured
and unstructured information: logs, text, audio and videos
• Wide variety of rapidly evolving data types requires highly flexible
stores and handling
http://brillix.co.il9
Un-Structured Structured
Objects Tables
Flexible Columns and Rows
Structure Unknown Predefined Structure
Textual and Binary Mostly Textual
Velocity
•The speed in which data is being generated and
collected
•Streaming data and large volume data movement
•High velocity of data capture – requires rapid
ingestion
•Might cause a backlog problem
http://brillix.co.il10
Value
Big data is not about the size of the data,
It’s about the value within the data
http://brillix.co.il11
So, We Define Big Data Problem…
• When the data is too big or moves too fast to handle in a
sensible amount of time
• When the data doesn’t fit any conventional database
structure
• When we think that we can still produce value from that
data and want to handle it
• When the technical solution to the business need becomes
part of the problem
http://brillix.co.il12
How to do Big Data
13
14
Big Data in Practice
•Big data is big: technological framework and
infrastructure solutions are needed
•Big data is complicated:
• We need developers to manage handling of the data
• We need devops to manage the clusters
• We need data analysts and data scientists to produce
value
http://brillix.co.il15
Possible Solutions: Scale Up
• Older solution: using a giant server with a lot of resources
(scale up: more cores, faster processers, more memory) to
handle the data
• Process everything on a single server with hundreds of CPU
cores
• Use lots of memory (1+ TB)
• Have a huge data store on high end storage solutions
• Data needs to be copied to the processes in real time, so
it’s no good for high amounts of data (Terabytes to
Petabytes)
http://brillix.co.il16
Another Solution: Distributed Systems
•A scale-out solution: let’s use distributed systems:
use multiple machine for a single job/application
•More machines means more resources
• CPU
• Memory
• Storage
•But the solution is still complicated: infrastructure
and frameworks are needed
http://brillix.co.il17
Distributed Infrastructure Challenges
• We need Infrastructure that is built for:
• Large-scale
• Linear scale out ability
• Data-intensive jobs that spread the problem across clusters of server
nodes
• Storage: efficient and cost-effective enough to capture and store
terabytes, if not petabytes, of data
• Network infrastructure that can quickly import large data sets and
then replicate it to various nodes for processing
• High-end hardware is too expensive - we need a solution that uses
cheaper hardware
http://brillix.co.il18
Distributed System/Frameworks Challenges
•How do we distribute our workload across the
system?
•Programming complexity – keeping the data in sync
•What to do with faults and redundancy?
•How do we handle security demands to protect
highly-distributed infrastructure and data?
http://brillix.co.il19
A Big Data Solution:
Apache Hadoop
20
Apache Hadoop
•Open source project run by Apache Foundation (2006)
•Hadoop brings the ability to cheaply process large
amounts of data, regardless of its structure
•It Is has been the driving force behind the growth of
the big data industry
•Get the public release from:
• http://hadoop.apache.org/core/
http://brillix.co.il21
Original Hadoop Components
•HDFS (Hadoop Distributed File System) – distributed
file system that runs in clustered environments
•MapReduce – programming paradigm for running
processes over clustered environments
•Hadoop main idea: let’s distribute the data to many
servers, and then bring the program to the data
http://brillix.co.il22
Hadoop Benefits
•Designed for scale out
•Reliable solution based on unreliable hardware
•Load data first, structure later
•Designed for storing large files
•Designed to maximize throughput of large scans
•Designed to leverage parallelism
•Solution Ecosystem
23 http://brillix.co.il
What Hadoop Is Not?
• Hadoop is not a database – it does not a replacement for
DW, or for other relational databases
• Hadoop is not for OLTP/real-time systems
• Very good for large amounts, not so much for smaller sets
• Designed for clusters – there is no Hadoop monster server
(single server)
http://brillix.co.il24
Hadoop Limitations
•Hadoop is scalable but it’s not fast
•Some assembly may be required
•Batteries are not included (DIY mindset) – some
features needs to be developed if they’re not available
•Open source license limitations apply
•Technology is changing very rapidly
http://brillix.co.il25
Hadoop under the Hood
26
Original Hadoop 1.0 Components
• HDFS (Hadoop Distributed File System) – distributed file
system that runs in a clustered environment
• MapReduce – programming technique for running
processes over a clustered environment
27 http://brillix.co.il
Hadoop 2.0
• Hadoop 2.0 changed the Hadoop conception and
introduced a better resource management concept:
• Hadoop Common
• HDFS
• YARN
• Multiple data processing
frameworks including
MapReduce, Spark and
others
http://brillix.co.il28
HDFS is...
• A distributed file system
• Designed to reliably store data using commodity hardware
• Designed to expect hardware failures and still stay
resilient
• Intended for larger files
• Designed for batch inserts and appending data (no
updates)
http://brillix.co.il29
Files and Blocks
•Files are split into 128MB blocks (single unit of
storage)
• Managed by NameNode and stored on DataNodes
• Transparent to users
•Replicated across machines at load time
• Same block is stored on multiple machines
• Good for fault-tolerance and access
• Default replication factor is 3
30 http://brillix.co.il
HDFS is Good for...
•Storing large files
• Terabytes, Petabytes, etc...
• Millions rather than billions of files
• 128MB or more per file
•Streaming data
• Write once and read-many times patterns
• Optimized for streaming reads rather than random reads
32 http://brillix.co.il
HDFS is Not So Good For...
• Low-latency reads / Real-time application
• High-throughput rather than low latency for small chunks of
data
• HBase addresses this issue
• Large amount of small files
• Better for millions of large files instead of billions of small files
• Multiple Writers
• Single writer per file
• Writes at the end of files, no-support for arbitrary offset
33 http://brillix.co.il
Using HDFS in Command Line
http://brillix.co.il34
How Does HDFS Look Like (GUI)
http://brillix.co.il35
Interfacing with HDFS
http://brillix.co.il36
MapReduce is...
• A programming model for expressing distributed
computations at a massive scale
• An execution framework for organizing and performing
such computations
• MapReduce can be written in Java, Scala, C, Payton, Ruby
and others
• Concept: Bring the code to the data, not the data to the
code
http://brillix.co.il37
The MapReduce Paradigm
• Imposes key-value input/output
• We implement two main functions:
• MAP - Takes a large problem and divides into sub problems and
performs the same function on all sub-problems
Map(k1, v1) -> list(k2, v2)
• REDUCE - Combine the output from all sub-problems (each key goes to
the same reducer)
Reduce(k2, list(v2)) -> list(v3)
• Framework handles everything else (almost)
38 http://brillix.co.il
Divide and Conquer
http://brillix.co.il39
YARN
•Takes care of distributed processing and coordination
•Scheduling
• Jobs are broken down into smaller chunks called tasks
• These tasks are scheduled to run on data nodes
•Task Localization with Data
• Framework strives to place tasks on the nodes that host
the segment of data to be processed by that specific task
• Code is moved to where the data is
40 http://brillix.co.il
YARN
•Error Handling
• Failures are an expected behavior so tasks are
automatically re-tried on other machines
•Data Synchronization
• Shuffle and Sort barrier re-arranges and moves data
between machines
• Input and output are coordinated by the framework
41 http://brillix.co.il
Submitting a Job
•Yarn script with a class argument command launches
a JVM and executes the provided Job
$ yarn jar HadoopSamples.jar mr.wordcount.StartsWithCountJob 
/user/sample/hamlet.txt 
/user/sample/wordcount/
http://brillix.co.il42
Resource Manage: UI
http://brillix.co.il43
Application View
http://brillix.co.il44
Hadoop Main Problems
• Hadoop MapReduce Framework (not MapReduce
paradigm) had some major problems:
• Developing MapReduce was complicated – there was more
than just business logics to develop
• Transferring data between stages requires the intermediate
data to be written to disk (and than read by the next step)
• Multi-step needed orchestration and abstraction solutions
• Initial resource management was very painful – MapReduce
framework was based on resource slots
http://brillix.co.il45
Extending Hadoop
The Hadoop Ecosystem
Improving Hadoop: Distributions
• Core Hadoop is complicated so some tools and solution
frameworks were added to make things easier
• There are over 80 different Apache projects for big data
solution which uses Hadoop (and growing!)
• Hadoop Distributions collects some of these tools and
release them as a complete integrated package
• Cloudera
• HortonWorks
• MapR
• Amazon EMR
47
Common HADOOP 2.0 Technology Eco System
48 http://brillix.co.il
Improving Programmability
•MapReduce code in Java is sometime tedious, so
different solutions came to the rescue
• Pig: Programming language that simplifies Hadoop
actions: loading, transforming and sorting data
• Hive: enables Hadoop to operate as data warehouse using
SQL-like syntax
• Spark and other frameworks
http://brillix.co.il49
Pig
• Pig is an abstraction on top of Hadoop
• Provides high level programming language designed for data
processing
• Scripts converted into MapReduce code, and executed on the
Hadoop Clusters
• Makes ETL/ELT processing and other simple MapReduce
easier without writing MapReduce code
• Pig was widely accepted and used by Yahoo!, Twitter, Netflix,
and others
• Often replaced by more up-to-date tools like Apache Spark
http://brillix.co.il50
Hive
• Data Warehousing Solution built on top of Hadoop
• Provides SQL-like query language named HiveQL
• Minimal learning curve for people with SQL expertise
• Data analysts are target audience
• Early Hive development work started at Facebook in 2007
• Hive is an Apache top level project under
Hadoop
• http://hive.apache.org
http://brillix.co.il51
Hive Provides
•Ability to bring structure to various data formats
•Simple interface for ad hoc querying, analyzing and
summarizing large amounts of data
•Access to files on various data stores such as HDFS
and HBase
•Also see: Apache Impala (mainly in Cloudera)
52
Databases and DB Connectivity
•HBase: Online NoSQL Key/Value wide-column
oriented datastore that is native to HDFS
•Sqoop: a tool designed to import data from and export
data to relational databases (HDFS, Hbase, or Hive)
•Sqoop2: Sqoop centralized service (GUI, WebUI,
REST)
53
HBase
• HBase is the closest thing we had to
database in the early Hadoop days
• Distributed key/value with wide-column oriented NoSQL
database, built on top of HDFS
• Providing Big Table-like capabilities
• Does not have a query language: only get, put, and scan
commands
• Often compared with Cassandra
(non-Hadoop native Apache project)
http://brillix.co.il54
When Do We Use HBase?
•Huge volumes of randomly accessed data
•HBase is at its best when it’s accessed in a
distributed fashion by many clients (high
consistency)
•Consider HBase when we are loading data by key,
searching data by key (or range), serving data by key,
querying data by key or when storing data by row that
doesn’t conform well to a schema.
55
When NOT To Use HBase
•HBase doesn’t use SQL, don’t have an optimizer,
doesn’t support transactions or joins
•HBase doesn’t have data types
•See project Apache Phoenix for better data structure
and query language when using HBase
56
Sqoop and Sqoop2
• Sqoop is a command line tool for moving data
from RDBMS to Hadoop. Sqoop2 is a centralized
tool for running sqoop.
• Uses MapReduce load the data from relational database to HDFS
• Can also export data from HBase to RDBMS
• Comes with connectors to MySQL, PostgreSQL, Oracle, SQL
Server and DB2.
$bin/sqoop import --connect
'jdbc:sqlserver://10.80.181.127;username=dbuser;password=dbpasswd;database=tpch' 
--table lineitem --hive-import
$bin/sqoop export --connect
'jdbc:sqlserver://10.80.181.127;username=dbuser;password=dbpasswd;database=tpch' 
--table lineitem --export-dir /data/lineitemData
http://brillix.co.il57
Improving Hadoop – More Useful Tools
•For improving coordination: Zookeeper
•For improving scheduling/orchestration: Oozie
•Data Storing in memory: Apache Impala
•For Improving log collection: Flume
•Text Search and Data Discovery: Solr
•For Improving UI and Dashboards: Hue and Ambari
http://brillix.co.il58
Improving Hadoop – More Useful Tools (2)
•Data serialization: Avro and Parquet
•Data governance: Atlas
•Security: Knox and Ranger
•Data Replication: Falcon
•Machine Learning: Mahout
•Performance Improvement: Tez
•And there are more…
http://brillix.co.il59
60
Is Hadoop the Only Big Data Solution?
• No – There are other solutions:
• Apache Spark and Apache Mesos frameworks
• NoSQL systems (Apache Cassandra, CouchBase, MongoDB
and many others)
• Stream analysis (Apache Kafka, Apache Storm, Apache Flink)
• Machine learning (Apache Mahout, Spark MLlib)
• Some can be integrated with Hadoop, but some are
independent
http://brillix.co.il61
Another Big Data Solution: Apache Spark
•Apache Spark is a fast, general engine for
large-scale data processing on a cluster
•Originally developed by UC Berkeley in 2009 as a
research project, and is now an open source Apache
top level project
•Main idea: use the memory resources of the cluster
for better performance
•It is now one of the most fast-growing project today
http://brillix.co.il62
The Spark Stack
http://brillix.co.il63
Okay, So Where Does the DBA Fits In?
• Big Data solutions are not databases. Databases are
probably not going to disappear, but we feel the change
even today: DBA’s must be ready for the change
• DBA’s are the perfect candidates to transition into Big Data
Experts:
• Have system (OS, disk, memory, hardware) experience
• Can understand data easily
• DBA’s are used to work with developers and other data users
http://brillix.co.il64
What DBAs Needs Now?
•DBA’s will need to know more programming: Java,
Scala, Python, R or any other popular language in the
Big Data world will do
•DBA’s needs to understand the position shifts, and
the introduction of DevOps, Data Scientists, CDO etc.
•Big Data is changing daily: we need to learn, read, and
be involved before we are left behind…
http://brillix.co.il65
Q&A
http://brillix.co.il66
Summary
• Big Data is here – it’s complicated and RDBMS does not fit
anymore
• Big Data solutions are evolving Hadoop is an example for
such a solution
• Spark is very popular Big Data solution
• DBA’s need to be ready for the change: Big Data solutions
are not databases and we make ourselves ready
http://brillix.co.il67
Thank You
Zohar Elkayam
twitter: @realmgic
Zohar@Brillix.co.il
www.realdbamagic.com
http://brillix.co.il68

More Related Content

PDF
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
PDF
Big data for cio 2015
PDF
Intro to Big Data
PDF
Exploring Oracle Multitenant in Oracle Database 12c
PDF
Docker Concepts for Oracle/MySQL DBAs and DevOps
PDF
Adding real time reporting to your database oracle db in memory
PDF
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
PPTX
Introduction to Oracle Data Guard Broker
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
Big data for cio 2015
Intro to Big Data
Exploring Oracle Multitenant in Oracle Database 12c
Docker Concepts for Oracle/MySQL DBAs and DevOps
Adding real time reporting to your database oracle db in memory
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Introduction to Oracle Data Guard Broker

What's hot (20)

PDF
The Hadoop Ecosystem for Developers
PPTX
MySQL 5.7 New Features for Developers
PPTX
Simplify Consolidation with Oracle Database 12c
PDF
Oracle Database In-Memory Option for ILOUG
PDF
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
PDF
MySQL as a Document Store
PPTX
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
PDF
MySQL NDB Cluster 8.0
PDF
Fast, Flexible Application Development with Oracle Database Cloud Service
PPTX
Oracle OpenWo2014 review part 03 three_paa_s_database
PDF
SQL Server 2019 CTP2.4
PDF
MariaDB: Connect Storage Engine
PDF
01 upgrade to my sql8
PDF
Introducing Infinispan
PDF
Capacity planning for your data stores
PDF
MySQL Performance - Best practices
PPTX
Fontys Lecture - The Evolution of the Oracle Database 2016
PDF
Winning performance challenges in oracle multitenant
PDF
OUG Ireland Meet-up 12th January
PDF
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
The Hadoop Ecosystem for Developers
MySQL 5.7 New Features for Developers
Simplify Consolidation with Oracle Database 12c
Oracle Database In-Memory Option for ILOUG
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
MySQL as a Document Store
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
MySQL NDB Cluster 8.0
Fast, Flexible Application Development with Oracle Database Cloud Service
Oracle OpenWo2014 review part 03 three_paa_s_database
SQL Server 2019 CTP2.4
MariaDB: Connect Storage Engine
01 upgrade to my sql8
Introducing Infinispan
Capacity planning for your data stores
MySQL Performance - Best practices
Fontys Lecture - The Evolution of the Oracle Database 2016
Winning performance challenges in oracle multitenant
OUG Ireland Meet-up 12th January
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ad

Similar to Things Every Oracle DBA Needs To Know About The Hadoop Ecosystem (20)

PDF
Rapid Cluster Computing with Apache Spark 2016
PDF
New World Hadoop Architectures (& What Problems They Really Solve) for Oracle...
PPTX
Big data applications
PDF
50 Shades of SQL
PPTX
Hadoop.pptx
PPTX
Hadoop.pptx
PPTX
List of Engineering Colleges in Uttarakhand
PDF
Hadoop and SQL: Delivery Analytics Across the Organization
PPTX
Big data - Online Training
PPTX
002 Introduction to hadoop v3
PPTX
Hadoop and Big data in Big data and cloud.pptx
PPTX
Apache hadoop technology : Beginners
PPTX
Apache hadoop technology : Beginners
PPTX
Apache hadoop technology : Beginners
PDF
Big data and hadoop overvew
PPT
Big data and hadoop
PDF
Simple, Modular and Extensible Big Data Platform Concept
PPTX
02 Hadoop.pptx HADOOP VENNELA DONTHIREDDY
PPTX
Getting Started with Hadoop
PPTX
Architecting Your First Big Data Implementation
Rapid Cluster Computing with Apache Spark 2016
New World Hadoop Architectures (& What Problems They Really Solve) for Oracle...
Big data applications
50 Shades of SQL
Hadoop.pptx
Hadoop.pptx
List of Engineering Colleges in Uttarakhand
Hadoop and SQL: Delivery Analytics Across the Organization
Big data - Online Training
002 Introduction to hadoop v3
Hadoop and Big data in Big data and cloud.pptx
Apache hadoop technology : Beginners
Apache hadoop technology : Beginners
Apache hadoop technology : Beginners
Big data and hadoop overvew
Big data and hadoop
Simple, Modular and Extensible Big Data Platform Concept
02 Hadoop.pptx HADOOP VENNELA DONTHIREDDY
Getting Started with Hadoop
Architecting Your First Big Data Implementation
Ad

More from Zohar Elkayam (17)

PDF
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
PDF
PL/SQL New and Advanced Features for Extreme Performance
PDF
The art of querying – newest and advanced SQL techniques
PDF
Oracle Advanced SQL and Analytic Functions
PDF
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
PDF
Oracle 12c New Features For Better Performance
PDF
Advanced PL/SQL Optimizing for Better Performance 2016
PDF
Oracle Database Advanced Querying (2016)
PDF
OOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
PPTX
Is SQLcl the Next Generation of SQL*Plus?
PPTX
Exploring Advanced SQL Techniques Using Analytic Functions
PPTX
Exploring Advanced SQL Techniques Using Analytic Functions
PDF
Advanced PLSQL Optimizing for Better Performance
PDF
Oracle Database Advanced Querying
PDF
SQLcl the next generation of SQLPlus?
PDF
Oracle Data Guard A to Z
PDF
Oracle Data Guard Broker Webinar
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
PL/SQL New and Advanced Features for Extreme Performance
The art of querying – newest and advanced SQL techniques
Oracle Advanced SQL and Analytic Functions
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
Oracle 12c New Features For Better Performance
Advanced PL/SQL Optimizing for Better Performance 2016
Oracle Database Advanced Querying (2016)
OOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
Is SQLcl the Next Generation of SQL*Plus?
Exploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic Functions
Advanced PLSQL Optimizing for Better Performance
Oracle Database Advanced Querying
SQLcl the next generation of SQLPlus?
Oracle Data Guard A to Z
Oracle Data Guard Broker Webinar

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Building Integrated photovoltaic BIPV_UPV.pdf
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
Network Security Unit 5.pdf for BCA BBA.
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
sap open course for s4hana steps from ECC to s4
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Things Every Oracle DBA Needs To Know About The Hadoop Ecosystem

  • 1. Zohar Elkayam www.realdbamagic.com Twitter: @realmgic Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
  • 2. Who am I? • Zohar Elkayam, CTO at Brillix • Programmer, DBA, team leader, database trainer, public speaker, and a senior consultant for over 18 years • Oracle ACE Associate • Part of ilOUG – Israel Oracle User Group • Involved with Big Data projects since 2011 • Blogger – www.realdbamagic.com and www.ilDBA.co.il 2 http://brillix.co.il
  • 3. About Brillix • We offer complete, integrated end-to-end solutions based on best-of- breed innovations in database, security and big data technologies • We provide complete end-to-end 24x7 expert remote database services • We offer professional customized on-site trainings, delivered by our top-notch world recognized instructors 3
  • 4. Some of Our Customers http://brillix.co.il4
  • 5. Agenda • What is the Big Data challenge? • A Big Data Solution: Apache Hadoop • HDFS • MapReduce and YARN • Hadoop Ecosystem: HBase, Sqoop, Hive, Pig and other tools • Another Big Data Solution: Apache Spark • Where does the DBA fits in? http://brillix.co.il5
  • 7. The Big Data Challenge http://brillix.co.il7
  • 8. Volume • Big data comes in one size: Big. • Size is measured in Terabyte (1012), Petabyte (1015), Exabyte (1018), Zettabyte (1021) • The storing and handling of the data becomes an issue • Producing value out of the data in a reasonable time is an issue http://brillix.co.il8
  • 9. Variety • Big Data extends beyond structured data, including semi-structured and unstructured information: logs, text, audio and videos • Wide variety of rapidly evolving data types requires highly flexible stores and handling http://brillix.co.il9 Un-Structured Structured Objects Tables Flexible Columns and Rows Structure Unknown Predefined Structure Textual and Binary Mostly Textual
  • 10. Velocity •The speed in which data is being generated and collected •Streaming data and large volume data movement •High velocity of data capture – requires rapid ingestion •Might cause a backlog problem http://brillix.co.il10
  • 11. Value Big data is not about the size of the data, It’s about the value within the data http://brillix.co.il11
  • 12. So, We Define Big Data Problem… • When the data is too big or moves too fast to handle in a sensible amount of time • When the data doesn’t fit any conventional database structure • When we think that we can still produce value from that data and want to handle it • When the technical solution to the business need becomes part of the problem http://brillix.co.il12
  • 13. How to do Big Data 13
  • 14. 14
  • 15. Big Data in Practice •Big data is big: technological framework and infrastructure solutions are needed •Big data is complicated: • We need developers to manage handling of the data • We need devops to manage the clusters • We need data analysts and data scientists to produce value http://brillix.co.il15
  • 16. Possible Solutions: Scale Up • Older solution: using a giant server with a lot of resources (scale up: more cores, faster processers, more memory) to handle the data • Process everything on a single server with hundreds of CPU cores • Use lots of memory (1+ TB) • Have a huge data store on high end storage solutions • Data needs to be copied to the processes in real time, so it’s no good for high amounts of data (Terabytes to Petabytes) http://brillix.co.il16
  • 17. Another Solution: Distributed Systems •A scale-out solution: let’s use distributed systems: use multiple machine for a single job/application •More machines means more resources • CPU • Memory • Storage •But the solution is still complicated: infrastructure and frameworks are needed http://brillix.co.il17
  • 18. Distributed Infrastructure Challenges • We need Infrastructure that is built for: • Large-scale • Linear scale out ability • Data-intensive jobs that spread the problem across clusters of server nodes • Storage: efficient and cost-effective enough to capture and store terabytes, if not petabytes, of data • Network infrastructure that can quickly import large data sets and then replicate it to various nodes for processing • High-end hardware is too expensive - we need a solution that uses cheaper hardware http://brillix.co.il18
  • 19. Distributed System/Frameworks Challenges •How do we distribute our workload across the system? •Programming complexity – keeping the data in sync •What to do with faults and redundancy? •How do we handle security demands to protect highly-distributed infrastructure and data? http://brillix.co.il19
  • 20. A Big Data Solution: Apache Hadoop 20
  • 21. Apache Hadoop •Open source project run by Apache Foundation (2006) •Hadoop brings the ability to cheaply process large amounts of data, regardless of its structure •It Is has been the driving force behind the growth of the big data industry •Get the public release from: • http://hadoop.apache.org/core/ http://brillix.co.il21
  • 22. Original Hadoop Components •HDFS (Hadoop Distributed File System) – distributed file system that runs in clustered environments •MapReduce – programming paradigm for running processes over clustered environments •Hadoop main idea: let’s distribute the data to many servers, and then bring the program to the data http://brillix.co.il22
  • 23. Hadoop Benefits •Designed for scale out •Reliable solution based on unreliable hardware •Load data first, structure later •Designed for storing large files •Designed to maximize throughput of large scans •Designed to leverage parallelism •Solution Ecosystem 23 http://brillix.co.il
  • 24. What Hadoop Is Not? • Hadoop is not a database – it does not a replacement for DW, or for other relational databases • Hadoop is not for OLTP/real-time systems • Very good for large amounts, not so much for smaller sets • Designed for clusters – there is no Hadoop monster server (single server) http://brillix.co.il24
  • 25. Hadoop Limitations •Hadoop is scalable but it’s not fast •Some assembly may be required •Batteries are not included (DIY mindset) – some features needs to be developed if they’re not available •Open source license limitations apply •Technology is changing very rapidly http://brillix.co.il25
  • 26. Hadoop under the Hood 26
  • 27. Original Hadoop 1.0 Components • HDFS (Hadoop Distributed File System) – distributed file system that runs in a clustered environment • MapReduce – programming technique for running processes over a clustered environment 27 http://brillix.co.il
  • 28. Hadoop 2.0 • Hadoop 2.0 changed the Hadoop conception and introduced a better resource management concept: • Hadoop Common • HDFS • YARN • Multiple data processing frameworks including MapReduce, Spark and others http://brillix.co.il28
  • 29. HDFS is... • A distributed file system • Designed to reliably store data using commodity hardware • Designed to expect hardware failures and still stay resilient • Intended for larger files • Designed for batch inserts and appending data (no updates) http://brillix.co.il29
  • 30. Files and Blocks •Files are split into 128MB blocks (single unit of storage) • Managed by NameNode and stored on DataNodes • Transparent to users •Replicated across machines at load time • Same block is stored on multiple machines • Good for fault-tolerance and access • Default replication factor is 3 30 http://brillix.co.il
  • 31. HDFS is Good for... •Storing large files • Terabytes, Petabytes, etc... • Millions rather than billions of files • 128MB or more per file •Streaming data • Write once and read-many times patterns • Optimized for streaming reads rather than random reads 32 http://brillix.co.il
  • 32. HDFS is Not So Good For... • Low-latency reads / Real-time application • High-throughput rather than low latency for small chunks of data • HBase addresses this issue • Large amount of small files • Better for millions of large files instead of billions of small files • Multiple Writers • Single writer per file • Writes at the end of files, no-support for arbitrary offset 33 http://brillix.co.il
  • 33. Using HDFS in Command Line http://brillix.co.il34
  • 34. How Does HDFS Look Like (GUI) http://brillix.co.il35
  • 36. MapReduce is... • A programming model for expressing distributed computations at a massive scale • An execution framework for organizing and performing such computations • MapReduce can be written in Java, Scala, C, Payton, Ruby and others • Concept: Bring the code to the data, not the data to the code http://brillix.co.il37
  • 37. The MapReduce Paradigm • Imposes key-value input/output • We implement two main functions: • MAP - Takes a large problem and divides into sub problems and performs the same function on all sub-problems Map(k1, v1) -> list(k2, v2) • REDUCE - Combine the output from all sub-problems (each key goes to the same reducer) Reduce(k2, list(v2)) -> list(v3) • Framework handles everything else (almost) 38 http://brillix.co.il
  • 39. YARN •Takes care of distributed processing and coordination •Scheduling • Jobs are broken down into smaller chunks called tasks • These tasks are scheduled to run on data nodes •Task Localization with Data • Framework strives to place tasks on the nodes that host the segment of data to be processed by that specific task • Code is moved to where the data is 40 http://brillix.co.il
  • 40. YARN •Error Handling • Failures are an expected behavior so tasks are automatically re-tried on other machines •Data Synchronization • Shuffle and Sort barrier re-arranges and moves data between machines • Input and output are coordinated by the framework 41 http://brillix.co.il
  • 41. Submitting a Job •Yarn script with a class argument command launches a JVM and executes the provided Job $ yarn jar HadoopSamples.jar mr.wordcount.StartsWithCountJob /user/sample/hamlet.txt /user/sample/wordcount/ http://brillix.co.il42
  • 44. Hadoop Main Problems • Hadoop MapReduce Framework (not MapReduce paradigm) had some major problems: • Developing MapReduce was complicated – there was more than just business logics to develop • Transferring data between stages requires the intermediate data to be written to disk (and than read by the next step) • Multi-step needed orchestration and abstraction solutions • Initial resource management was very painful – MapReduce framework was based on resource slots http://brillix.co.il45
  • 46. Improving Hadoop: Distributions • Core Hadoop is complicated so some tools and solution frameworks were added to make things easier • There are over 80 different Apache projects for big data solution which uses Hadoop (and growing!) • Hadoop Distributions collects some of these tools and release them as a complete integrated package • Cloudera • HortonWorks • MapR • Amazon EMR 47
  • 47. Common HADOOP 2.0 Technology Eco System 48 http://brillix.co.il
  • 48. Improving Programmability •MapReduce code in Java is sometime tedious, so different solutions came to the rescue • Pig: Programming language that simplifies Hadoop actions: loading, transforming and sorting data • Hive: enables Hadoop to operate as data warehouse using SQL-like syntax • Spark and other frameworks http://brillix.co.il49
  • 49. Pig • Pig is an abstraction on top of Hadoop • Provides high level programming language designed for data processing • Scripts converted into MapReduce code, and executed on the Hadoop Clusters • Makes ETL/ELT processing and other simple MapReduce easier without writing MapReduce code • Pig was widely accepted and used by Yahoo!, Twitter, Netflix, and others • Often replaced by more up-to-date tools like Apache Spark http://brillix.co.il50
  • 50. Hive • Data Warehousing Solution built on top of Hadoop • Provides SQL-like query language named HiveQL • Minimal learning curve for people with SQL expertise • Data analysts are target audience • Early Hive development work started at Facebook in 2007 • Hive is an Apache top level project under Hadoop • http://hive.apache.org http://brillix.co.il51
  • 51. Hive Provides •Ability to bring structure to various data formats •Simple interface for ad hoc querying, analyzing and summarizing large amounts of data •Access to files on various data stores such as HDFS and HBase •Also see: Apache Impala (mainly in Cloudera) 52
  • 52. Databases and DB Connectivity •HBase: Online NoSQL Key/Value wide-column oriented datastore that is native to HDFS •Sqoop: a tool designed to import data from and export data to relational databases (HDFS, Hbase, or Hive) •Sqoop2: Sqoop centralized service (GUI, WebUI, REST) 53
  • 53. HBase • HBase is the closest thing we had to database in the early Hadoop days • Distributed key/value with wide-column oriented NoSQL database, built on top of HDFS • Providing Big Table-like capabilities • Does not have a query language: only get, put, and scan commands • Often compared with Cassandra (non-Hadoop native Apache project) http://brillix.co.il54
  • 54. When Do We Use HBase? •Huge volumes of randomly accessed data •HBase is at its best when it’s accessed in a distributed fashion by many clients (high consistency) •Consider HBase when we are loading data by key, searching data by key (or range), serving data by key, querying data by key or when storing data by row that doesn’t conform well to a schema. 55
  • 55. When NOT To Use HBase •HBase doesn’t use SQL, don’t have an optimizer, doesn’t support transactions or joins •HBase doesn’t have data types •See project Apache Phoenix for better data structure and query language when using HBase 56
  • 56. Sqoop and Sqoop2 • Sqoop is a command line tool for moving data from RDBMS to Hadoop. Sqoop2 is a centralized tool for running sqoop. • Uses MapReduce load the data from relational database to HDFS • Can also export data from HBase to RDBMS • Comes with connectors to MySQL, PostgreSQL, Oracle, SQL Server and DB2. $bin/sqoop import --connect 'jdbc:sqlserver://10.80.181.127;username=dbuser;password=dbpasswd;database=tpch' --table lineitem --hive-import $bin/sqoop export --connect 'jdbc:sqlserver://10.80.181.127;username=dbuser;password=dbpasswd;database=tpch' --table lineitem --export-dir /data/lineitemData http://brillix.co.il57
  • 57. Improving Hadoop – More Useful Tools •For improving coordination: Zookeeper •For improving scheduling/orchestration: Oozie •Data Storing in memory: Apache Impala •For Improving log collection: Flume •Text Search and Data Discovery: Solr •For Improving UI and Dashboards: Hue and Ambari http://brillix.co.il58
  • 58. Improving Hadoop – More Useful Tools (2) •Data serialization: Avro and Parquet •Data governance: Atlas •Security: Knox and Ranger •Data Replication: Falcon •Machine Learning: Mahout •Performance Improvement: Tez •And there are more… http://brillix.co.il59
  • 59. 60
  • 60. Is Hadoop the Only Big Data Solution? • No – There are other solutions: • Apache Spark and Apache Mesos frameworks • NoSQL systems (Apache Cassandra, CouchBase, MongoDB and many others) • Stream analysis (Apache Kafka, Apache Storm, Apache Flink) • Machine learning (Apache Mahout, Spark MLlib) • Some can be integrated with Hadoop, but some are independent http://brillix.co.il61
  • 61. Another Big Data Solution: Apache Spark •Apache Spark is a fast, general engine for large-scale data processing on a cluster •Originally developed by UC Berkeley in 2009 as a research project, and is now an open source Apache top level project •Main idea: use the memory resources of the cluster for better performance •It is now one of the most fast-growing project today http://brillix.co.il62
  • 63. Okay, So Where Does the DBA Fits In? • Big Data solutions are not databases. Databases are probably not going to disappear, but we feel the change even today: DBA’s must be ready for the change • DBA’s are the perfect candidates to transition into Big Data Experts: • Have system (OS, disk, memory, hardware) experience • Can understand data easily • DBA’s are used to work with developers and other data users http://brillix.co.il64
  • 64. What DBAs Needs Now? •DBA’s will need to know more programming: Java, Scala, Python, R or any other popular language in the Big Data world will do •DBA’s needs to understand the position shifts, and the introduction of DevOps, Data Scientists, CDO etc. •Big Data is changing daily: we need to learn, read, and be involved before we are left behind… http://brillix.co.il65
  • 66. Summary • Big Data is here – it’s complicated and RDBMS does not fit anymore • Big Data solutions are evolving Hadoop is an example for such a solution • Spark is very popular Big Data solution • DBA’s need to be ready for the change: Big Data solutions are not databases and we make ourselves ready http://brillix.co.il67
  • 67. Thank You Zohar Elkayam twitter: @realmgic Zohar@Brillix.co.il www.realdbamagic.com http://brillix.co.il68