Less is More: 2X Storage Efficiency with HDFS Erasure CodingZhe Zhang
Ever since its creation, HDFS has been relying on data replication to shield against most failure scenarios. However, with the explosive growth in data volume, replication is getting quite expensive: the default 3x replication scheme incurs a 200% overhead in storage space and other resources (e.g., network bandwidth when writing the data). Erasure coding (EC) uses far less storage space while still providing the same level of fault tolerance. Under typical configurations, EC reduces the storage cost by ~50% compared with 3x replication.
The document discusses improvements to HDFS that allow it to leverage memory as a storage medium. Key points include:
- HDFS 2.3 introduced memory as a storage medium, with RAM disks providing persistence across restarts.
- HDFS 2.6 introduced storage policies that allow applications to target different storage media like SSD or memory.
- The Centralized Cache Management feature loads hot data into memory pools to enable zero-copy reads.
- The Lazy Persist Writes feature allows applications to write to memory and have HDFS asynchronously write to persistent storage, reducing latency.
- Future work includes improving caching, short-circuit writes, and the Memfs layered file system to provide more flexible
Hadoop Distributed File System (HDFS) is a distributed file system that stores large datasets across commodity hardware. It is highly fault tolerant, provides high throughput, and is suitable for applications with large datasets. HDFS uses a master/slave architecture where a NameNode manages the file system namespace and DataNodes store data blocks. The NameNode ensures data replication across DataNodes for reliability. HDFS is optimized for batch processing workloads where computations are moved to nodes storing data blocks.
The document provides an overview of the Hadoop architecture including its core components like HDFS for distributed storage, MapReduce for distributed processing, and an explanation of how data is stored in blocks and replicated across nodes in the cluster. Key aspects of HDFS such as the namenode, datanodes, and secondary namenode functions are described as well as how Hadoop implementations like Pig and Hive provide interfaces for data processing.
In this talk we will examine how to tune HDF5 performance to improve I/O speed. The talk will focus on chunk and metadata caches, how they affect performance, and which HDF5 APIs that can be used for performance tuning.
Examples of different chunking strategies will be given. We will also discuss how to reduce file overhead by using special properties of the HDF5 groups, datasets and datatypes.
In-memory Caching in HDFS: Lower Latency, Same Great TasteDataWorks Summit
This document discusses in-memory caching in HDFS to improve query latency. The implementation caches important datasets in the DataNode memory and allows clients to directly access cached blocks via zero-copy reads without checksum verification. Evaluation shows the zero-copy reads approach provides significant performance gains over short-circuit and TCP reads for both microbenchmarks and Impala queries, with speedups of up to 7x when the working set fits in memory. MapReduce jobs see more modest gains as they are often not I/O bound.
HDF4 and HDF5 Performance
Preliminary Results
HDF5 has several new features compared to HDF4 like support for larger files, unlimited number of objects, and more datatype options. Initial performance tests show HDF5 writing 1D and 2D datasets is about 8-10 times faster than HDF4. However, reading large contiguous hyperslabs, HDF5 is about 3 times slower than HDF4. Updates to HDF5 have improved hyperslab reading performance, with the latest version now about 1.5 times slower than HDF4. Tests on a CERES Earth science data file show HDF5 reading and subsetting performance is about twice as fast as HDF4 on some platforms. Further tuning of HDF5 is needed to improve
The document discusses various tuning knobs in the HDF5 library that can improve I/O performance for sequential and parallel access of HDF files. For sequential performance, it describes file level knobs like setting the metadata block size and cache size, as well as data transfer level knobs like buffer and sieve buffer size. For parallel performance, it discusses data alignment, using HDF5 split driver to separate metadata and raw data into different files, and passing MPI-IO hints. Benchmark results demonstrate the performance gains from using these tuning knobs.
Less is More: 2X Storage Efficiency with HDFS Erasure CodingZhe Zhang
Ever since its creation, HDFS has been relying on data replication to shield against most failure scenarios. However, with the explosive growth in data volume, replication is getting quite expensive: the default 3x replication scheme incurs a 200% overhead in storage space and other resources (e.g., network bandwidth when writing the data). Erasure coding (EC) uses far less storage space while still providing the same level of fault tolerance. Under typical configurations, EC reduces the storage cost by ~50% compared with 3x replication.
The document discusses improvements to HDFS that allow it to leverage memory as a storage medium. Key points include:
- HDFS 2.3 introduced memory as a storage medium, with RAM disks providing persistence across restarts.
- HDFS 2.6 introduced storage policies that allow applications to target different storage media like SSD or memory.
- The Centralized Cache Management feature loads hot data into memory pools to enable zero-copy reads.
- The Lazy Persist Writes feature allows applications to write to memory and have HDFS asynchronously write to persistent storage, reducing latency.
- Future work includes improving caching, short-circuit writes, and the Memfs layered file system to provide more flexible
Hadoop Distributed File System (HDFS) is a distributed file system that stores large datasets across commodity hardware. It is highly fault tolerant, provides high throughput, and is suitable for applications with large datasets. HDFS uses a master/slave architecture where a NameNode manages the file system namespace and DataNodes store data blocks. The NameNode ensures data replication across DataNodes for reliability. HDFS is optimized for batch processing workloads where computations are moved to nodes storing data blocks.
The document provides an overview of the Hadoop architecture including its core components like HDFS for distributed storage, MapReduce for distributed processing, and an explanation of how data is stored in blocks and replicated across nodes in the cluster. Key aspects of HDFS such as the namenode, datanodes, and secondary namenode functions are described as well as how Hadoop implementations like Pig and Hive provide interfaces for data processing.
In this talk we will examine how to tune HDF5 performance to improve I/O speed. The talk will focus on chunk and metadata caches, how they affect performance, and which HDF5 APIs that can be used for performance tuning.
Examples of different chunking strategies will be given. We will also discuss how to reduce file overhead by using special properties of the HDF5 groups, datasets and datatypes.
In-memory Caching in HDFS: Lower Latency, Same Great TasteDataWorks Summit
This document discusses in-memory caching in HDFS to improve query latency. The implementation caches important datasets in the DataNode memory and allows clients to directly access cached blocks via zero-copy reads without checksum verification. Evaluation shows the zero-copy reads approach provides significant performance gains over short-circuit and TCP reads for both microbenchmarks and Impala queries, with speedups of up to 7x when the working set fits in memory. MapReduce jobs see more modest gains as they are often not I/O bound.
HDF4 and HDF5 Performance
Preliminary Results
HDF5 has several new features compared to HDF4 like support for larger files, unlimited number of objects, and more datatype options. Initial performance tests show HDF5 writing 1D and 2D datasets is about 8-10 times faster than HDF4. However, reading large contiguous hyperslabs, HDF5 is about 3 times slower than HDF4. Updates to HDF5 have improved hyperslab reading performance, with the latest version now about 1.5 times slower than HDF4. Tests on a CERES Earth science data file show HDF5 reading and subsetting performance is about twice as fast as HDF4 on some platforms. Further tuning of HDF5 is needed to improve
The document discusses various tuning knobs in the HDF5 library that can improve I/O performance for sequential and parallel access of HDF files. For sequential performance, it describes file level knobs like setting the metadata block size and cache size, as well as data transfer level knobs like buffer and sieve buffer size. For parallel performance, it discusses data alignment, using HDF5 split driver to separate metadata and raw data into different files, and passing MPI-IO hints. Benchmark results demonstrate the performance gains from using these tuning knobs.
The Hadoop Distributed File System (HDFS) has a master/slave architecture with a single NameNode that manages the file system namespace and regulates client access, and multiple DataNodes that store and retrieve blocks of data files. The NameNode maintains metadata and a map of blocks to files, while DataNodes store blocks and report their locations. Blocks are replicated across DataNodes for fault tolerance following a configurable replication factor. The system uses rack awareness and preferential selection of local replicas to optimize performance and bandwidth utilization.
This presentation about Hadoop architecture will help you understand the architecture of Apache Hadoop in detail. In this video, you will learn what is Hadoop, components of Hadoop, what is HDFS, HDFS architecture, Hadoop MapReduce, Hadoop MapReduce example, Hadoop YARN and finally, a demo on MapReduce. Apache Hadoop offers a versatile, adaptable and reliable distributed computing big data framework for a group of systems with capacity limit and local computing power. After watching this video, you will also understand the Hadoop Distributed File System and its features along with the practical implementation.
Below are the topics covered in this Hadoop Architecture presentation:
1. What is Hadoop?
2. Components of Hadoop
3. What is HDFS?
4. HDFS Architecture
5. Hadoop MapReduce
6. Hadoop MapReduce Example
7. Hadoop YARN
8. Demo on MapReduce
What are the course objectives?
This course will enable you to:
1. Understand the different components of Hadoop ecosystem such as Hadoop 2.7, Yarn, MapReduce, Pig, Hive, Impala, HBase, Sqoop, Flume, and Apache Spark
2. Understand Hadoop Distributed File System (HDFS) and YARN as well as their architecture, and learn how to work with them for storage and resource management
3. Understand MapReduce and its characteristics, and assimilate some advanced MapReduce concepts
4. Get an overview of Sqoop and Flume and describe how to ingest data using them
5. Create database and tables in Hive and Impala, understand HBase, and use Hive and Impala for partitioning
6. Understand different types of file formats, Avro Schema, using Arvo with Hive, and Sqoop and Schema evolution
7. Understand Flume, Flume architecture, sources, flume sinks, channels, and flume configurations
8. Understand HBase, its architecture, data storage, and working with HBase. You will also understand the difference between HBase and RDBMS
9. Gain a working knowledge of Pig and its components
10. Do functional programming in Spark
11. Understand resilient distribution datasets (RDD) in detail
12. Implement and build Spark applications
13. Gain an in-depth understanding of parallel processing in Spark and Spark RDD optimization techniques
14. Understand the common use-cases of Spark and the various interactive algorithms
15. Learn Spark SQL, creating, transforming, and querying Data frames
Who should take up this Big Data and Hadoop Certification Training Course?
Big Data career opportunities are on the rise, and Hadoop is quickly becoming a must-know technology for the following professionals:
1. Software Developers and Architects
2. Analytics Professionals
3. Senior IT professionals
4. Testing and Mainframe professionals
5. Data Management Professionals
6. Business Intelligence Professionals
7. Project Managers
8. Aspiring Data Scientists
Learn more at https://www.simplilearn.com/big-data-and-analytics/big-data-and-hadoop-training
Storage Systems for big data - HDFS, HBase, and intro to KV Store - RedisSameer Tiwari
There is a plethora of storage solutions for big data, each having its own pros and cons. The objective of this talk is to delve deeper into specific classes of storage types like Distributed File Systems, in-memory Key Value Stores, Big Table Stores and provide insights on how to choose the right storage solution for a specific class of problems. For instance, running large analytic workloads, iterative machine learning algorithms, and real time analytics.
The talk will cover HDFS, HBase and brief introduction to Redis
In this Tutorial we will discuss different storage methods for the HDF5 files (split files, family of files, multi-files), and datasets (compressed, external, compact), and related filters and properties. This tutorial will introduce advanced features of HDF5, including:
o Property lists
o Compound datatypes
o hyperslab selections
o point selection
o references to objects and regions
o extendable datasets
o mounting files
group iterations
HDFS is a distributed file system designed for storing very large data sets reliably and efficiently across commodity hardware. It has three main components - the NameNode, Secondary NameNode, and DataNodes. The NameNode manages the file system namespace and regulates access to files. DataNodes store and retrieve blocks when requested by clients. HDFS provides reliable storage through replication of blocks across DataNodes and detects hardware failures to ensure data is not lost. It is highly scalable, fault-tolerant, and suitable for applications processing large datasets.
Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It has very large files (over 100 million files) and is optimized for batch processing huge datasets across large clusters (over 10,000 nodes). HDFS stores multiple replicas of data blocks on different nodes to handle failures. It provides high aggregate bandwidth and allows computations to move to where data resides.
The document describes a distributed Hadoop architecture with multiple data centers and clusters. It shows how to configure Hadoop to access HDFS files across different name nodes and clusters using tools like ViewFileSystem. Client applications can use a single consistent file system namespace and API to access data distributed across the infrastructure.
The document discusses HDFS architecture and components. It describes how HDFS uses NameNodes and DataNodes to store and retrieve file data in a distributed manner across clusters. The NameNode manages the file system namespace and regulates access to files by clients. DataNodes store file data in blocks and replicate them for fault tolerance. The document outlines the write and read workflows in HDFS and how NameNodes and DataNodes work together to manage data storage and access.
HDFS is a distributed file system designed for storing very large data files across commodity servers or clusters. It works on a master-slave architecture with one namenode (master) and multiple datanodes (slaves). The namenode manages the file system metadata and regulates client access, while datanodes store and retrieve block data from their local file systems. Files are divided into large blocks which are replicated across datanodes for fault tolerance. The namenode monitors datanodes and replicates blocks if their replication drops below a threshold.
Presentation on 2013-06-27, Workshop on the future of Big Data management, discussing hadoop for a science audience that are either HPC/grid users or people suddenly discovering that their data is accruing towards PB.
The other talks were on GPFS, LustreFS and Ceph, so rather than just do beauty-contest slides, I decided to raise the question of "what is a filesystem?", whether the constraints imposed by the Unix metaphor and API are becoming limits on scale and parallelism (both technically and, for GPFS and Lustre Enterprise in cost).
Then: HDFS as the foundation for the Hadoop stack.
All the other FS talks did emphasise their Hadoop integration, with the Intel talk doing the most to assert performance improvements of LustreFS over HDFSv1 in dfsIO and Terasort (no gridmix?), which showed something important: Hadoop is the application that add DFS developers have to have a story for
The document discusses the Apache Hadoop ecosystem and versions. It provides details on Hadoop versioning from 0.1 to the current versions of 0.22, 0.23, and 1.0. It summarizes the key features and testing of Hadoop 0.22, which has been stabilized by eBay for production use. The document recommends Hadoop 0.22 as a reliable version to use until further versions are released.
Hadoop is an open-source software framework that provides massive data storage and processing capabilities. It allows for unlimited storage of any type of data and massive parallel processing jobs. Companies like Facebook, LinkedIn, Netflix, Hulu, and eBay use Hadoop for its computing power, ability to store unstructured data quickly and reliably, support for growth, SQL-like querying with Hive, and most importantly, because it is free to use.
Hadoop is an open-source software framework for distributed storage and processing of large datasets. It has three core components: HDFS for storage, MapReduce for processing, and YARN for resource management. HDFS stores data as blocks across clusters of commodity servers. MapReduce allows distributed processing of large datasets in parallel. YARN improves on MapReduce and provides a general framework for distributed applications beyond batch processing.
This document provides an overview of HDFS and MapReduce. It discusses the core components of Hadoop including HDFS, the namenode, datanodes, and MapReduce components like the JobTracker and TaskTracker. It then covers HDFS topics such as the storage hierarchy, file reads and writes, blocks, and basic filesystem operations. It also summarizes MapReduce concepts like the inspiration from functional programming, the basic MapReduce flow, and example code for a word count problem.
Facebook's Approach to Big Data Storage ChallengeDataWorks Summit
Facebook data warehouse cluster stores more than 100PB of data, with 500+ terabytes of data entered into the clusters every day. To meet the capacity requirement of future data growth, storing data in a cost-effective way becomes a top priority of Facebook data infrastructure team. This talk will present various solutions we use to reduce our warehouse cluster`s data footprint: (1) Smart retention: history-based hive table retention control (2) Increase RCFile compression ratio through clever sorting (3) HDFS file-level raiding to reduce the default replication factor of 3 to a lower ratio; (4) Attack small-file raiding problem though Directory-level raiding and raid-aware compaction.
This document proposes a design for tiered storage in HDFS that allows data to be stored in heterogeneous storage tiers including an external storage system. It describes challenges in synchronizing metadata and data across clusters and proposes using HDFS to coordinate an external storage system in a transparent way to users. The "PROVIDED" storage type would allow blocks to be retrieved directly from the external store via aliases, handling data consistency and security while leveraging HDFS features like quotas and replication policies. Implementation would start with read-only support and progress to full read-write capabilities.
By combining two best of breed solutions, one can create very powerful big data crunching solution.
Hadoop is a very popular big data solution with poor agility and not so great data transformation capabilities - despite what many Hadoop hype riding companies are trying to pitch.
By combining Hadoop's strengths with other very powerful open source technology - CloverETL, we get a nice synergy of both.
The document provides an overview of the Hadoop Distributed File System (HDFS). It describes HDFS's master-slave architecture with a single NameNode master and multiple DataNode slaves. The NameNode manages filesystem metadata and data placement, while DataNodes store data blocks. The document outlines HDFS components like the SecondaryNameNode, DataNodes, and how files are written and read. It also discusses high availability solutions, operational tools, and the future of HDFS.
Erasure coding in HDFS provides redundancy for data blocks while using less storage space compared to simple replication. It works by splitting files into data blocks and parity blocks striped across multiple data nodes. When reading data, erasure coding reconstructs missing or corrupted blocks from the parity blocks to maintain data reliability even if some blocks are lost. Erasure coding reduces storage overhead compared to replication and improves read performance by allowing reconstruction of missing blocks in parallel from different nodes.
The document provides an overview of machine learning concepts and algorithms using Apache Spark. It discusses supervised and unsupervised learning techniques like classification, regression, clustering and dimensionality reduction. Specific algorithms covered include k-means clustering, decision trees, random forests and Apache Spark MLlib and ML APIs. The document also outlines a hands-on lab for applying these techniques to real-world datasets.
The Hadoop Distributed File System (HDFS) has a master/slave architecture with a single NameNode that manages the file system namespace and regulates client access, and multiple DataNodes that store and retrieve blocks of data files. The NameNode maintains metadata and a map of blocks to files, while DataNodes store blocks and report their locations. Blocks are replicated across DataNodes for fault tolerance following a configurable replication factor. The system uses rack awareness and preferential selection of local replicas to optimize performance and bandwidth utilization.
This presentation about Hadoop architecture will help you understand the architecture of Apache Hadoop in detail. In this video, you will learn what is Hadoop, components of Hadoop, what is HDFS, HDFS architecture, Hadoop MapReduce, Hadoop MapReduce example, Hadoop YARN and finally, a demo on MapReduce. Apache Hadoop offers a versatile, adaptable and reliable distributed computing big data framework for a group of systems with capacity limit and local computing power. After watching this video, you will also understand the Hadoop Distributed File System and its features along with the practical implementation.
Below are the topics covered in this Hadoop Architecture presentation:
1. What is Hadoop?
2. Components of Hadoop
3. What is HDFS?
4. HDFS Architecture
5. Hadoop MapReduce
6. Hadoop MapReduce Example
7. Hadoop YARN
8. Demo on MapReduce
What are the course objectives?
This course will enable you to:
1. Understand the different components of Hadoop ecosystem such as Hadoop 2.7, Yarn, MapReduce, Pig, Hive, Impala, HBase, Sqoop, Flume, and Apache Spark
2. Understand Hadoop Distributed File System (HDFS) and YARN as well as their architecture, and learn how to work with them for storage and resource management
3. Understand MapReduce and its characteristics, and assimilate some advanced MapReduce concepts
4. Get an overview of Sqoop and Flume and describe how to ingest data using them
5. Create database and tables in Hive and Impala, understand HBase, and use Hive and Impala for partitioning
6. Understand different types of file formats, Avro Schema, using Arvo with Hive, and Sqoop and Schema evolution
7. Understand Flume, Flume architecture, sources, flume sinks, channels, and flume configurations
8. Understand HBase, its architecture, data storage, and working with HBase. You will also understand the difference between HBase and RDBMS
9. Gain a working knowledge of Pig and its components
10. Do functional programming in Spark
11. Understand resilient distribution datasets (RDD) in detail
12. Implement and build Spark applications
13. Gain an in-depth understanding of parallel processing in Spark and Spark RDD optimization techniques
14. Understand the common use-cases of Spark and the various interactive algorithms
15. Learn Spark SQL, creating, transforming, and querying Data frames
Who should take up this Big Data and Hadoop Certification Training Course?
Big Data career opportunities are on the rise, and Hadoop is quickly becoming a must-know technology for the following professionals:
1. Software Developers and Architects
2. Analytics Professionals
3. Senior IT professionals
4. Testing and Mainframe professionals
5. Data Management Professionals
6. Business Intelligence Professionals
7. Project Managers
8. Aspiring Data Scientists
Learn more at https://www.simplilearn.com/big-data-and-analytics/big-data-and-hadoop-training
Storage Systems for big data - HDFS, HBase, and intro to KV Store - RedisSameer Tiwari
There is a plethora of storage solutions for big data, each having its own pros and cons. The objective of this talk is to delve deeper into specific classes of storage types like Distributed File Systems, in-memory Key Value Stores, Big Table Stores and provide insights on how to choose the right storage solution for a specific class of problems. For instance, running large analytic workloads, iterative machine learning algorithms, and real time analytics.
The talk will cover HDFS, HBase and brief introduction to Redis
In this Tutorial we will discuss different storage methods for the HDF5 files (split files, family of files, multi-files), and datasets (compressed, external, compact), and related filters and properties. This tutorial will introduce advanced features of HDF5, including:
o Property lists
o Compound datatypes
o hyperslab selections
o point selection
o references to objects and regions
o extendable datasets
o mounting files
group iterations
HDFS is a distributed file system designed for storing very large data sets reliably and efficiently across commodity hardware. It has three main components - the NameNode, Secondary NameNode, and DataNodes. The NameNode manages the file system namespace and regulates access to files. DataNodes store and retrieve blocks when requested by clients. HDFS provides reliable storage through replication of blocks across DataNodes and detects hardware failures to ensure data is not lost. It is highly scalable, fault-tolerant, and suitable for applications processing large datasets.
Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It has very large files (over 100 million files) and is optimized for batch processing huge datasets across large clusters (over 10,000 nodes). HDFS stores multiple replicas of data blocks on different nodes to handle failures. It provides high aggregate bandwidth and allows computations to move to where data resides.
The document describes a distributed Hadoop architecture with multiple data centers and clusters. It shows how to configure Hadoop to access HDFS files across different name nodes and clusters using tools like ViewFileSystem. Client applications can use a single consistent file system namespace and API to access data distributed across the infrastructure.
The document discusses HDFS architecture and components. It describes how HDFS uses NameNodes and DataNodes to store and retrieve file data in a distributed manner across clusters. The NameNode manages the file system namespace and regulates access to files by clients. DataNodes store file data in blocks and replicate them for fault tolerance. The document outlines the write and read workflows in HDFS and how NameNodes and DataNodes work together to manage data storage and access.
HDFS is a distributed file system designed for storing very large data files across commodity servers or clusters. It works on a master-slave architecture with one namenode (master) and multiple datanodes (slaves). The namenode manages the file system metadata and regulates client access, while datanodes store and retrieve block data from their local file systems. Files are divided into large blocks which are replicated across datanodes for fault tolerance. The namenode monitors datanodes and replicates blocks if their replication drops below a threshold.
Presentation on 2013-06-27, Workshop on the future of Big Data management, discussing hadoop for a science audience that are either HPC/grid users or people suddenly discovering that their data is accruing towards PB.
The other talks were on GPFS, LustreFS and Ceph, so rather than just do beauty-contest slides, I decided to raise the question of "what is a filesystem?", whether the constraints imposed by the Unix metaphor and API are becoming limits on scale and parallelism (both technically and, for GPFS and Lustre Enterprise in cost).
Then: HDFS as the foundation for the Hadoop stack.
All the other FS talks did emphasise their Hadoop integration, with the Intel talk doing the most to assert performance improvements of LustreFS over HDFSv1 in dfsIO and Terasort (no gridmix?), which showed something important: Hadoop is the application that add DFS developers have to have a story for
The document discusses the Apache Hadoop ecosystem and versions. It provides details on Hadoop versioning from 0.1 to the current versions of 0.22, 0.23, and 1.0. It summarizes the key features and testing of Hadoop 0.22, which has been stabilized by eBay for production use. The document recommends Hadoop 0.22 as a reliable version to use until further versions are released.
Hadoop is an open-source software framework that provides massive data storage and processing capabilities. It allows for unlimited storage of any type of data and massive parallel processing jobs. Companies like Facebook, LinkedIn, Netflix, Hulu, and eBay use Hadoop for its computing power, ability to store unstructured data quickly and reliably, support for growth, SQL-like querying with Hive, and most importantly, because it is free to use.
Hadoop is an open-source software framework for distributed storage and processing of large datasets. It has three core components: HDFS for storage, MapReduce for processing, and YARN for resource management. HDFS stores data as blocks across clusters of commodity servers. MapReduce allows distributed processing of large datasets in parallel. YARN improves on MapReduce and provides a general framework for distributed applications beyond batch processing.
This document provides an overview of HDFS and MapReduce. It discusses the core components of Hadoop including HDFS, the namenode, datanodes, and MapReduce components like the JobTracker and TaskTracker. It then covers HDFS topics such as the storage hierarchy, file reads and writes, blocks, and basic filesystem operations. It also summarizes MapReduce concepts like the inspiration from functional programming, the basic MapReduce flow, and example code for a word count problem.
Facebook's Approach to Big Data Storage ChallengeDataWorks Summit
Facebook data warehouse cluster stores more than 100PB of data, with 500+ terabytes of data entered into the clusters every day. To meet the capacity requirement of future data growth, storing data in a cost-effective way becomes a top priority of Facebook data infrastructure team. This talk will present various solutions we use to reduce our warehouse cluster`s data footprint: (1) Smart retention: history-based hive table retention control (2) Increase RCFile compression ratio through clever sorting (3) HDFS file-level raiding to reduce the default replication factor of 3 to a lower ratio; (4) Attack small-file raiding problem though Directory-level raiding and raid-aware compaction.
This document proposes a design for tiered storage in HDFS that allows data to be stored in heterogeneous storage tiers including an external storage system. It describes challenges in synchronizing metadata and data across clusters and proposes using HDFS to coordinate an external storage system in a transparent way to users. The "PROVIDED" storage type would allow blocks to be retrieved directly from the external store via aliases, handling data consistency and security while leveraging HDFS features like quotas and replication policies. Implementation would start with read-only support and progress to full read-write capabilities.
By combining two best of breed solutions, one can create very powerful big data crunching solution.
Hadoop is a very popular big data solution with poor agility and not so great data transformation capabilities - despite what many Hadoop hype riding companies are trying to pitch.
By combining Hadoop's strengths with other very powerful open source technology - CloverETL, we get a nice synergy of both.
The document provides an overview of the Hadoop Distributed File System (HDFS). It describes HDFS's master-slave architecture with a single NameNode master and multiple DataNode slaves. The NameNode manages filesystem metadata and data placement, while DataNodes store data blocks. The document outlines HDFS components like the SecondaryNameNode, DataNodes, and how files are written and read. It also discusses high availability solutions, operational tools, and the future of HDFS.
Erasure coding in HDFS provides redundancy for data blocks while using less storage space compared to simple replication. It works by splitting files into data blocks and parity blocks striped across multiple data nodes. When reading data, erasure coding reconstructs missing or corrupted blocks from the parity blocks to maintain data reliability even if some blocks are lost. Erasure coding reduces storage overhead compared to replication and improves read performance by allowing reconstruction of missing blocks in parallel from different nodes.
The document provides an overview of machine learning concepts and algorithms using Apache Spark. It discusses supervised and unsupervised learning techniques like classification, regression, clustering and dimensionality reduction. Specific algorithms covered include k-means clustering, decision trees, random forests and Apache Spark MLlib and ML APIs. The document also outlines a hands-on lab for applying these techniques to real-world datasets.
Timeline Service v.2 (Hadoop Summit 2016)Sangjin Lee
This document summarizes the new YARN Timeline Service version 2, which was developed to address scalability, reliability, and usability challenges in version 1. Key highlights of version 2 include a distributed collector architecture for scalable and fault-tolerant writing of timeline data, an entity data model with first-class configuration and metrics support, and metrics aggregation capabilities. It stores data in HBase for scalability and provides a richer REST API for querying. Milestone goals include integration with more frameworks and production readiness.
The document provides an overview of Apache Hadoop and how it addresses challenges with traditional data architectures. It discusses how Hadoop uses HDFS for distributed storage and YARN as a data operating system to allow for distributed computing. It also summarizes different data access methods in Hadoop including MapReduce for batch processing and how the Hadoop ecosystem continues to evolve and include technologies like Spark, Hive and HBase.
The document provides an overview of Apache Hadoop and how it addresses challenges with traditional data architectures. It discusses how Hadoop provides a distributed storage and processing framework to allow businesses to store all of their data in its native format and access it via different engines. The key components of Hadoop include the Hadoop Distributed File System (HDFS) for storage and Yet Another Resource Negotiator (YARN) for distributed computing. Hadoop addresses issues around cost, speed, and the ability to leverage both new and cold data with modern data applications.
my compilation of the changes and differences of the upcoming 3.0 version of Hadoop. Present during the Meetup of the group https://www.meetup.com/Big-Data-Hadoop-Spark-NRW/
Intro to Spark with Zeppelin Crash Course Hadoop Summit SJDaniel Madrigal
The document provides an introduction to Apache Spark and related technologies. It discusses the Spark ecosystem including Spark Core, Spark SQL, Spark Streaming and MLlib. It also covers Resilient Distributed Datasets (RDDs), DataFrames, Spark SQL optimizations using Catalyst, and using Spark on a YARN cluster. The document is intended to provide a hands-on intro to Spark and related tools in the Hortonworks Data Platform sandbox environment.
HDFS Erasure Code Storage - Same Reliability at Better Storage EfficiencyDataWorks Summit
The document discusses HDFS erasure coding storage, which provides the same reliability as HDFS replication but with better storage efficiency. It describes HDFS's current replication strategy and introduces erasure coding as an alternative. Erasure coding uses k data blocks and m parity blocks to tolerate m failures while using less storage than replication. The document outlines HDFS's technical approach to implementing erasure coding, including striped block encoding, reading and writing pipelines, and reconstruction of missing blocks. It provides details on architecture, development progress, and future work to further enhance erasure coding in HDFS.
This document discusses HDFS Erasure Coding and its usage at Yahoo Japan. It begins with an overview of erasure coding, how it is implemented in HDFS, and compares it to replication. Test results show the write performance is lower for erasure coding while read performance is similar. Yahoo Japan uses erasure coding for cold weblog data, reducing storage costs by 65% compared to replication. Future plans include supporting additional codecs and features to provide more usability.
This document provides an overview of Apache NiFi and data flow fundamentals. It begins with an introduction to Apache NiFi and outlines the agenda. It then discusses data flow and streaming fundamentals, including challenges in moving data effectively. The document introduces Apache NiFi's architecture and capabilities for addressing these challenges. It also previews a live demo of NiFi and discusses the NiFi community.
This document provides an overview and crash course on Apache Spark and related big data technologies. It discusses the history and components of Spark including Spark Core, SQL, Streaming, and MLlib. It also discusses data sources, challenges of big data, and how Spark addresses them through its in-memory computation model. Finally, it introduces Apache Zeppelin for interactive notebooks and the Hortonworks Data Platform sandbox for experimenting with these technologies.
This document provides an overview of Hadoop and its ecosystem. It discusses the evolution of Hadoop from version 1 which focused on batch processing using MapReduce, to version 2 which introduced YARN for distributed resource management and supported additional data processing engines beyond MapReduce. It also describes key Hadoop services like HDFS for distributed storage and the benefits of a Hadoop data platform for unlocking the value of large datasets.
It’s 2017, and big data challenges are as real as they get. Our customers have petabytes of data living in elastic and scalable commodity storage systems such as Azure Data Lake Store and Azure Blob storage.
One of the central questions today is finding insights from data in these storage systems in an interactive manner, at a fraction of the cost.
Interactive Query leverages [Hive on LLAP] in Apache Hive 2.1, brings the interactivity to your complex data warehouse style queries on large datasets stored on commodity cloud storage.
In this session, you will learn how technologies such as Low Latency Analytical Processing [LLAP] and Hive 2.x are making it possible to analyze petabytes of data with sub second latency with common file formats such as csv, json etc. without converting to columnar file formats like ORC/Parquet. We will go deep into LLAP’s performance and architecture benefits and how it compares with Spark and Presto in Azure HDInsight. We also look at how business analysts can use familiar tools such as Microsoft Excel and Power BI, and do interactive query over their data lake without moving data outside the data lake.
Speaker
Ashish Thapliyal, Principal Program Manager, Microsoft Corp
The document discusses erasure coding as an alternative to replication in distributed storage systems like HDFS. It notes that while replication provides high durability, it has high storage overhead, and erasure coding can provide similar durability with half the storage overhead but slower recovery. The document outlines how major companies like Facebook, Windows Azure Storage, and Google use erasure coding. It then provides details on HDFS-EC, including its architecture, use of hardware acceleration, and performance evaluation showing its benefits over replication.
Reference Architecture: Architecting Ceph Storage Solutions Ceph Community
This document discusses reference architectures for Ceph storage solutions. It provides guidance on key design considerations for Ceph clusters, including workload profiling, storage access methods, capacity planning, fault tolerance, and data protection schemes. Example hardware configurations are also presented for different performance and cost optimization targets.
Have you heard that all in-memory databases are equally fast but unreliable, inconsistent and expensive? This session highlights in-memory technology that busts all those myths.
Redis, the fastest database on the planet, is not a simply in-memory key-value data-store; but rather a rich in-memory data-structure engine that serves the world’s most popular apps. Redis Labs’ unique clustering technology enables Redis to be highly reliable, keeping every data byte intact despite hundreds of cloud instance failures and dozens of complete data-center outages. It delivers full CP system characteristics at high performance. And with the latest Redis on Flash technology, Redis Labs achieves close to in-memory performance at 70% lower operational costs. Learn about the best uses of in-memory computing to accelerate everyday applications such as high volume transactions, real time analytics, IoT data ingestion and more.
Exchange Server 2013 introduced changes to the database and store to decrease hardware costs, increase reliability and availability, and provide better data protection and diagnostics. Key changes included running the store as multiple processes per database, optimizing data structures and storage for sequential IO, adding managed availability monitoring and recovery actions, and improving diagnostic tools and data available through PowerShell.
MongoDB stores data in files on disk that are broken into variable-sized extents containing documents. These extents, as well as separate index structures, are memory mapped by the operating system for efficient read/write. A write-ahead journal is used to provide durability and prevent data corruption after crashes by logging operations before writing to the data files. The journal increases write performance by 5-30% but can be optimized using a separate drive. Data fragmentation over time can be addressed using the compact command or adjusting the schema.
This document discusses optimizations to cache memory hierarchies to improve performance. It introduces the concepts of multi-level caches, where adding a second-level cache can reduce the miss penalty from the first-level cache. The average memory access time equation is extended to account for multiple cache levels. Examples are provided to show how a second-level cache can lower the average memory access time and reduce stalls per instruction compared to a single-level cache.
This document discusses various concepts related to computer memory. It defines key terminology like capacity, word size, and access time. It describes different types of memory technologies like RAM, ROM, SRAM and DRAM. It also discusses memory hierarchy concepts like cache organization, cache performance, and cache optimization techniques. Finally, it provides an overview of external storage technologies like RAID levels 0, 1, 5 and 10.
This document discusses HDInsight interactive query architecture and performance. It summarizes that:
1. HDInsight uses LLAP (Low Latency Analytical Processing) clusters to serve queries directly from Azure blob storage and data lake store for fast performance on text data.
2. Testing showed LLAP had high query concurrency and interactive query speed compared to Spark SQL and Presto.
3. The document also outlines HDInsight's logging architecture where the OMS agent collects logs and metrics from HDInsight clusters and sends them to Log Analytics for analysis.
NYJavaSIG - Big Data Microservices w/ SpeedmentSpeedment, Inc.
Microservices solutions can provide fast access to large datasets by synchronizing SQL data into an in-JVM memory store and using key-value and column key stores. This allows querying terabytes of data in microseconds by mapping the data in memory and providing application programming interfaces. The solution uses periodic synchronization to initially load and periodically reload data, as well as reactive synchronization to capture and replay database changes.
disk structure and multiple RAID levels .pptRAJASEKHARV10
RAID (Redundant Array of Independent Disks) is a technology that combines multiple disk drive components into a logical unit to improve performance and/or provide redundancy. It distributes data across multiple disks to increase performance and improve reliability. Different RAID levels offer varying degrees of performance and fault tolerance based on how data and redundant information are striped and mirrored across disks. Common RAID levels include RAID 0, 1, 5 and 6.
Computer memory can be classified into different types. The main types include semiconductor memory, cache memory, magnetic disks, optical disks, and tape drives. Semiconductor memory includes volatile RAM and non-volatile ROM. Cache memory is high-speed memory placed between the CPU and main memory for faster access. Magnetic disks include hard disks used for permanent storage and floppy disks for removable storage. Optical disks include CDs, DVDs, and Blu-ray disks. Tape drives are used for backup storage. RAID (Redundant Array of Independent Disks) utilizes multiple disks for performance, capacity, and reliability.
Configuring storage. The slides to this webinar cover how to configure storage for Aerospike. It includes a discussion of how Aerospike uses Flash/SSDs and how to get the best performance out of them.
Find the full webinar with audio here - http://www.aerospike.com/webinars
Caching Strategies for an Erlang Based Web Stackenriquepazperez
Summary of the different caching techniques in a high traffic web architecture, including pros, cons and use cases for each solution. Representative issues spotted in some of the caching approaches will be shared as well.
Aerospike is a high performance, highly resilient, distributed database. Since “seeing is believing,” this session will demonstrate multiple elements of Aerospike exhibiting multiple aspects of our database including:
Time required to insert 10 million records
How strong consistency works with only two copies
Linear performance and throughput for removal then re-addition of a node and zone.
Mixed workload uninterrupted performance for concurrent massive reads and writes.
Similar to Native erasure coding support inside hdfs presentation (20)
This presentation by OECD, OECD Secretariat, was made during the discussion “Pro-competitive Industrial Policy” held at the 143rd meeting of the OECD Competition Committee on 12 June 2024. More papers and presentations on the topic can be found at oe.cd/pcip.
This presentation was uploaded with the author’s consent.
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...SkillCertProExams
• For a full set of 760+ questions. Go to
https://skillcertpro.com/product/databricks-certified-data-engineer-associate-exam-questions/
• SkillCertPro offers detailed explanations to each question which helps to understand the concepts better.
• It is recommended to score above 85% in SkillCertPro exams before attempting a real exam.
• SkillCertPro updates exam questions every 2 weeks.
• You will get life time access and life time free updates
• SkillCertPro assures 100% pass guarantee in first attempt.
This presentation by Nathaniel Lane, Associate Professor in Economics at Oxford University, was made during the discussion “Pro-competitive Industrial Policy” held at the 143rd meeting of the OECD Competition Committee on 12 June 2024. More papers and presentations on the topic can be found at oe.cd/pcip.
This presentation was uploaded with the author’s consent.
Carrer goals.pptx and their importance in real lifeartemacademy2
Career goals serve as a roadmap for individuals, guiding them toward achieving long-term professional aspirations and personal fulfillment. Establishing clear career goals enables professionals to focus their efforts on developing specific skills, gaining relevant experience, and making strategic decisions that align with their desired career trajectory. By setting both short-term and long-term objectives, individuals can systematically track their progress, make necessary adjustments, and stay motivated. Short-term goals often include acquiring new qualifications, mastering particular competencies, or securing a specific role, while long-term goals might encompass reaching executive positions, becoming industry experts, or launching entrepreneurial ventures.
Moreover, having well-defined career goals fosters a sense of purpose and direction, enhancing job satisfaction and overall productivity. It encourages continuous learning and adaptation, as professionals remain attuned to industry trends and evolving job market demands. Career goals also facilitate better time management and resource allocation, as individuals prioritize tasks and opportunities that advance their professional growth. In addition, articulating career goals can aid in networking and mentorship, as it allows individuals to communicate their aspirations clearly to potential mentors, colleagues, and employers, thereby opening doors to valuable guidance and support. Ultimately, career goals are integral to personal and professional development, driving individuals toward sustained success and fulfillment in their chosen fields.
This presentation by Professor Alex Robson, Deputy Chair of Australia’s Productivity Commission, was made during the discussion “Competition and Regulation in Professions and Occupations” held at the 77th meeting of the OECD Working Party No. 2 on Competition and Regulation on 10 June 2024. More papers and presentations on the topic can be found at oe.cd/crps.
This presentation was uploaded with the author’s consent.
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsRosie Wells
Insight: In a landscape where traditional narrative structures are giving way to fragmented and non-linear forms of storytelling, there lies immense potential for creativity and exploration.
'Collapsing Narratives: Exploring Non-Linearity' is a micro report from Rosie Wells.
Rosie Wells is an Arts & Cultural Strategist uniquely positioned at the intersection of grassroots and mainstream storytelling.
Their work is focused on developing meaningful and lasting connections that can drive social change.
Please download this presentation to enjoy the hyperlinks!
This presentation by Yong Lim, Professor of Economic Law at Seoul National University School of Law, was made during the discussion “Artificial Intelligence, Data and Competition” held at the 143rd meeting of the OECD Competition Committee on 12 June 2024. More papers and presentations on the topic can be found at oe.cd/aicomp.
This presentation was uploaded with the author’s consent.
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij
This is a workshop about communication and collaboration. We will experience how we can analyze the reasons for resistance to change (exercise 1) and practice how to improve our conversation style and be more in control and effective in the way we communicate (exercise 2).
This session will use Dave Gray’s Empathy Mapping, Argyris’ Ladder of Inference and The Four Rs from Agile Conversations (Squirrel and Fredrick).
Abstract:
Let’s talk about powerful conversations! We all know how to lead a constructive conversation, right? Then why is it so difficult to have those conversations with people at work, especially those in powerful positions that show resistance to change?
Learning to control and direct conversations takes understanding and practice.
We can combine our innate empathy with our analytical skills to gain a deeper understanding of complex situations at work. Join this session to learn how to prepare for difficult conversations and how to improve our agile conversations in order to be more influential without power. We will use Dave Gray’s Empathy Mapping, Argyris’ Ladder of Inference and The Four Rs from Agile Conversations (Squirrel and Fredrick).
In the session you will experience how preparing and reflecting on your conversation can help you be more influential at work. You will learn how to communicate more effectively with the people needed to achieve positive change. You will leave with a self-revised version of a difficult conversation and a practical model to use when you get back to work.
Come learn more on how to become a real influencer!
This presentation by Thibault Schrepel, Associate Professor of Law at Vrije Universiteit Amsterdam University, was made during the discussion “Artificial Intelligence, Data and Competition” held at the 143rd meeting of the OECD Competition Committee on 12 June 2024. More papers and presentations on the topic can be found at oe.cd/aicomp.
This presentation was uploaded with the author’s consent.
This presentation by Juraj Čorba, Chair of OECD Working Party on Artificial Intelligence Governance (AIGO), was made during the discussion “Artificial Intelligence, Data and Competition” held at the 143rd meeting of the OECD Competition Committee on 12 June 2024. More papers and presentations on the topic can be found at oe.cd/aicomp.
This presentation was uploaded with the author’s consent.
11. Erasure Coding Saves Storage
§ Simplified Example: storing 2 bits
1 01 0Replication:
XOR Coding: 1 0⊕ 1=
2 extra bits
1 extra bit
12. Erasure Coding Saves Storage
§ Simplified Example: storing 2 bits
§ Same data durability
- can lose any 1 bit
1 01 0Replication:
XOR Coding: 1 0⊕ 1=
2 extra bits
1 extra bit
13. Erasure Coding Saves Storage
§ Simplified Example: storing 2 bits
§ Same data durability
- can lose any 1 bit
§ Half the storage overhead
1 01 0Replication:
XOR Coding: 1 0⊕ 1=
2 extra bits
1 extra bit
14. Erasure Coding Saves Storage
§ Simplified Example: storing 2 bits
§ Same data durability
- can lose any 1 bit
§ Half the storage overhead
§ Slower recovery
1 01 0Replication:
XOR Coding: 1 0⊕ 1=
2 extra bits
1 extra bit
17. Erasure Coding Saves Storage
§ Facebook
- f4 stores 65PB of BLOBs in EC
§ Windows Azure Storage (WAS)
- A PB of new data every 1~2 days
- All “sealed” data stored in EC
18. Erasure Coding Saves Storage
§ Facebook
- f4 stores 65PB of BLOBs in EC
§ Windows Azure Storage (WAS)
- A PB of new data every 1~2 days
- All “sealed” data stored in EC
§ Google File System
- Large portion of data stored in EC
21. Roadmap
§ Background of EC
- Redundancy Theory
- EC in Distributed Storage Systems
§ HDFS-EC architecture
- Choosing Block Layout
- NameNode — Generalizing the Block Concept
- Client — Parallel I/O
- DataNode — Background Reconstruction
22. Roadmap
§ Background of EC
- Redundancy Theory
- EC in Distributed Storage Systems
§ HDFS-EC architecture
- Choosing Block Layout
- NameNode — Generalizing the Block Concept
- Client — Parallel I/O
- DataNode — Background Reconstruction
§ Hardware-accelerated Codec Framework
23. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
24. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Replica
DataNode0 DataNode1 DataNode2
Block
NameNode
Replica Replica
3-way Replication:
25. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Replica
DataNode0 DataNode1 DataNode2
Block
NameNode
Replica Replica
3-way Replication:
26. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Replica
DataNode0 DataNode1 DataNode2
Block
NameNode
Replica Replica
3-way Replication: Data Durability = 2
27. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Replica
DataNode0 DataNode1 DataNode2
Block
NameNode
Replica Replica
3-way Replication: Data Durability = 2
28. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Replica
DataNode0 DataNode1 DataNode2
Block
NameNode
Replica Replica
useful data
3-way Replication: Data Durability = 2
redundant data
29. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Replica
DataNode0 DataNode1 DataNode2
Block
NameNode
Replica Replica
useful data
3-way Replication: Data Durability = 2
Storage Efficiency = 1/3 (33%)
redundant data
30. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
31. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
XOR:
X Y X ⊕ Y
0 0 0
0 1 1
1 0 1
1 1 0
32. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
XOR:
X Y X ⊕ Y
0 0 0
0 1 1
1 0 1
1 1 0
Y = 0 ⊕ 1 = 1
33. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
XOR:
Data Durability = 1
X Y X ⊕ Y
0 0 0
0 1 1
1 0 1
1 1 0
Y = 0 ⊕ 1 = 1
34. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
XOR:
Data Durability = 1
useful data redundant data
X Y X ⊕ Y
0 0 0
0 1 1
1 0 1
1 1 0
35. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
XOR:
Data Durability = 1
Storage Efficiency = 2/3 (67%)
useful data redundant data
X Y X ⊕ Y
0 0 0
0 1 1
1 0 1
1 1 0
36. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Reed-Solomon (RS):
37. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Reed-Solomon (RS):
38. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Reed-Solomon (RS):
Data Durability = 2
Storage Efficiency = 4/6 (67%)
39. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Reed-Solomon (RS):
Data Durability = 2
Storage Efficiency = 4/6 (67%)
Very flexible!
40. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
41. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
42. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica
43. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0
44. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
45. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication
46. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2
47. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
48. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells
49. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1
50. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
51. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
RS (6,3)
52. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
RS (6,3) 3
53. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
RS (6,3) 3 67%
54. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
RS (6,3) 3 67%
RS (10,4)
55. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
RS (6,3) 3 67%
RS (10,4) 4
56. Durability and Efficiency
Data Durability = How many simultaneous failures can be tolerated?
Storage Efficiency = How much portion of storage is for useful data?
Data Durability Storage Efficiency
Single Replica 0 100%
3-way Replication 2 33%
XOR with 6 data cells 1 86%
RS (6,3) 3 67%
RS (10,4) 4 71%
72. Choosing Block Layout
• Medium: 1~6 blocks• Small files: < 1 block• Assuming (6,3) coding • Large: > 6 blocks (1 group)
64.61%
9.33%
26.06%
1.85%1.86%
96.29%
small medium large
file count
space usage
Top 2% files occupy ~65% space
Cluster A Profile
73. Choosing Block Layout
• Medium: 1~6 blocks• Small files: < 1 block• Assuming (6,3) coding • Large: > 6 blocks (1 group)
64.61%
9.33%
26.06%
1.85%1.86%
96.29%
small medium large
file count
space usage
Top 2% files occupy ~65% space
Cluster A Profile
40.08%
36.03%
23.89%
2.03%
11.38%
86.59% file count
space
usage
Top 2% files occupy ~40% space
small medium large
Cluster B Profile
74. Choosing Block Layout
• Medium: 1~6 blocks• Small files: < 1 block• Assuming (6,3) coding • Large: > 6 blocks (1 group)
64.61%
9.33%
26.06%
1.85%1.86%
96.29%
small medium large
file count
space usage
Top 2% files occupy ~65% space
Cluster A Profile
40.08%
36.03%
23.89%
2.03%
11.38%
86.59% file count
space
usage
Top 2% files occupy ~40% space
small medium large
Cluster B Profile
3.20%
20.75%
76.05%
0.00%0.36%
99.64%
file count
space usage
Dominated by small files
small medium large
Cluster C Profile
92. Reconstruction on DataNode
§ Important to avoid delay on the critical path
- Especially if original data is lost
§ Integrated with Replication Monitor
- Under-protected EC blocks scheduled together with under-replicated blocks
- New priority algorithms
§ New ErasureCodingWorker component on DataNode
93. Roadmap
§ Background of EC
- Redundancy Theory
- EC in Distributed Storage Systems
§ HDFS-EC architecture
- Choosing Block Layout
- NameNode — Generalizing the Block Concept
- Client — Parallel I/O
- DataNode — Background Reconstruction
§ Hardware-accelerated Codec Framework
94. Acceleration with Intel ISA-L
§ 1 legacy coder
- From Facebook’s HDFS-RAID project
§ 2 new coders
- Pure Java — code improvement over HDFS-RAID
- Native coder with Intel’s Intelligent Storage Acceleration Library (ISA-L)
107. EC in Distributed Storage
0~128
M
128~256
M
DataNode0
block0
block1
…
DataNode1
640~768
M
DataNode5
block5
Contiguous
DataNode6 DataNode8
data parity
…
Block Layout:
128~256MFile 0~128M … 640~768M
108. EC in Distributed Storage
0~128
M
128~256
M
DataNode0
block0
block1
…
DataNode1
640~768
M
DataNode5
block5
Contiguous
DataNode6 DataNode8
data parity
…
Block Layout:
Data Locality !
128~256MFile 0~128M … 640~768M
109. EC in Distributed Storage
0~128
M
128~256
M
DataNode0
block0
block1
…
DataNode1
640~768
M
DataNode5
block5
Contiguous
DataNode6 DataNode8
data parity
…
Block Layout:
Data Locality !
Small Files "
128~256MFile 0~128M … 640~768M
110. EC in Distributed Storage
0~128
M
128~256
M
DataNode0
block0
block1
…
DataNode1
640~768
M
DataNode5
block5
Contiguous
DataNode6 DataNode8
data parity
…
Block Layout:
Data Locality !
Small Files "
128~256MFile … 640~768M