SlideShare a Scribd company logo
1 of 54
Download to read offline
内存为中心的大数据
分布式存储系统
范斌,
软件工程师
Tachyon Nexus
2015/08/30 @ 南京
• Tachyon项目的创始人及核心开发人员
• A轮融资: Andreessen Horowitz,750万美元
• 致力于Tachyon开源项目
2
www.tachyonnexus.com
3
4
大纲
• Tachyon系统
– 背景
– 系统架构
– 使用
• Tachyon开源项目
– 近况
– 产品用例
• 路线图
5
大纲
• Tachyon系统
– 背景
– 系统架构
– 使用
• Tachyon开源项目
– 近况
– 产品用例
• 路线图
6
Tachyon
7
• 一种假想的超光速粒子
• 发音: ['tækiːˌɒn]
Tachyon从UC Berkeley AMPLab诞生
8
服务器集群管理 并发计算平台
可靠, 分布式,以内存为中心的存储系统
9
我们为什么需要Tachyon?
DRAM正越来越快
10
Memory-locality:达到交互级别响应的关键
DRAM正越来越便宜
source: jcmit.com
11
涌现出的In-Memory平台
12
13
问题已经解决了么?
14
缺少存储层面的解决方
案
一个例子: -
• In-memory大数据处理框架
• 在JVM中存储one in-memory copy
• 记录并使用 lineage 来重建遗失数据
map
filter map
join reduce
Lineage Tracking
15
问题一
16
数据共享可能成为瓶颈:
Slow writes to disk
Spark Job1 Spark Job2
block 1
HDFS / Amazon S3
block 1
block 1
问题一
17
数据共享可能成为瓶颈:
Slow writes to disk
Spark Job1
Hadoop MR
Job
block 1
HDFS / Amazon S3
block 1
block 1
问题二
18
Spark Task
Spark memory
block manager
block 1
block 3
HDFS / Amazon S3
block 1
block 3
block 2
block 4
execution engine &
storage engine
same process
进程崩溃会导致缓存的数据丢失
19
crash
Spark memory
block manager
block 1
block 3
HDFS / Amazon S3
block 1
block 3
block 2
block 4
execution engine &
storage engine
same process
问题二
进程崩溃会导致缓存的数据丢失
HDFS / Amazon S3
20
block 1
block 3
block 2
block 4
execution engine &
storage engine
same process
crash
问题二
进程崩溃会导致缓存的数据丢失
HDFS / Amazon S3
问题三
21
In-memory数据重复 & JVM GC
Spark Task1
Spark mem
block manager
block 1
block 3
Spark Task2
Spark mem
block manager
block 3
block 1
block 1
block 3
block 2
block 4
execution engine &
storage engine
same process
(duplication & GC)
Tachyon
Reliable data sharing
at memory-speed
within and across cluster
frameworks/jobs
22
概述
基本想法
• 围绕DRAM为中心的存储架构
• 在存储层实现lineage
• 管理tiered storage
实践
• 保持一份数据在DRAM
• 通过Re-computation保证容错
23
Tachyon 生态系统
24
Tachyon 系统架构
25
Tachyon 系统架构
26
解决问题一
28
以内存读写速度共享数据:
跨Job/Framework
Spark Job1
HDFS / Amazon S3
Tachyon
in-memory
block 1
Hadoop MR
Job
HDFS / Amazon S3
block 1
block 3
block 2
block 4
Tachyon
in-memory
block 1
block 3 block 4
解决问题二
29
Spark Task
Spark memory
block manager
execution engine &
storage engine
same process
保护 in-memory数据安全,
即使遭遇JVM进程崩溃.
.
解决问题二
30
HDFS
disk
block 1
block 3
block 2
block 4
execution engine &
storage engine
same process
Tachyon
in-memory
block 1
block 3 block 4
crash
HDFS / Amazon S3
block 1
block 3
block 2
block 4
保护 in-memory数据安全,
即使遭遇JVM进程崩溃.
解决问题三
31
避免in-memory数据重复, 减少 GC
Spark Task
Spark mem
Spark Task
Spark mem
HDFS / Amazon S3
block 1
block 3
block 2
block 4
execution engine &
storage engine
same process
(no duplication & GC)
HDFS
disk
block 1
block 3
block 2
block 4
Tachyon
in-memory
block 1
block 3 block 4
性能比较
32
使用Tachyon容易么?
33
Spark/MapReduce/Shark
without Tachyon
• Spark
scala> val file = sc.textFile(“hdfs://ip:port/path”)
• Hadoop MapReduce
$ hadoop jar hadoop-examples-1.0.4.jar wordcount
hdfs://localhost:19998/input
hdfs://localhost:19998/output
• Shark
CREATE TABLE orders_cached AS SELECT * FROM orders;
34
Spark/MapReduce/Shark
with Tachyon
• Spark
scala> val file = sc.textFile(“tachyon://ip:port/path”)
• Hadoop MapReduce
$ hadoop jar hadoop-examples-1.0.4.jar wordcount
tachyon://localhost:19998/input
tachyon://localhost:19998/output
• Shark
CREATE TABLE orders_tachyon AS SELECT * FROM orders;
35
大纲
• Tachyon系统
– 背景
– 系统架构
– 使用
• Tachyon开源项目
– 近况
– 产品用例
• 路线图
36
开源项目概述
• 2012年夏天于UC Berkeley AMPLab开始
• Apache License 2.0, Version 0.7 (2015年7月)
• 在超过50家公司部署 (2014年7月数据)
• 有超过30家公司参与贡献代码
37
项目Contributor飞速增长
38
v0.4
Feb ‘14
v0.3
Oct ‘13
v0.2
Apr ‘13
v0.1
Dec ‘12
v0.6
Mar ‘15
v0.5
Jul ‘14
v0.7
Jul ‘15
1 3
15
30
46
70
111
代码量飞速增长
v0.4
Feb ‘14
v0.3
Oct ‘13
v0.2
Apr ‘13
39
v0.6
Mar ‘15
v0.5
Jul ‘14
v0.7
Jul ‘15
465
commits
696
commits
1080
commits
1610
commits
2884
commits
4969
commits
感谢我们的Contributors!
40
南京大学PASA大数据实验室
• 顾荣博士
– Tachyon开源不到4个月便加入社区
– Tachyon项目核心开发者, Meetup组织者
• 5+ contributor
• 200+ commits
• Performance Benchmark, Tiered Storage
41
• 合作2年以上
• 10+ contributor
• 500+ commits
• Tiered Storage, System Stability, Security
42
见诸报道的Tachyon
43
Under Filesystem: 丰富的选择
(Big Data, Cloud, HPC, Enterprise)
44
• Framework: SparkSQL
• Tachyon Storage: MEM + HDD
• Under Storage: Baidu’s File System
• 部署规模: 100+ 节点
• 管理存储容量: 1PB+
• 提升性能: 30x
More Details: www.meetup.com/Tachyon
用例一: Baidu
45
用例二: SAAS公司
• Framework: Impala
• Tachyon Storage: MEM + SSD
• Under Storage: S3
• 提升性能: 15x
46
用例三: 石油公司
• Framework: Spark
• Tachyon Storage: MEM
• Under Storage: GlusterFS
• 分析传统存储系统中的数据
47
用例四: SAAS公司
• Framework: Spark
• Tachyon Storage: SSD
• Under Storage: S3
• Elastic Tachyon deployment
48
大纲
• Tachyon系统
– 背景
– 系统架构
– 使用
• Tachyon开源项目
– 近况
– 产品用例
• 路线图
49
新功能
• Lineage in Storage (alpha)
• Tiered Storage (beta)
50
新功能
• Lineage in Storage (alpha)
• Tiered Storage (beta)
• Data Serving
• Support for New Hardware
• …
• Your New Feature!
51
52
Tachyon的目标?
更方便更有效的使用其他系统
欢迎合作!
53JIRA New Contributor Tasks
• Website: http://tachyon-project.org
• Github: https://github.com/amplab/tachyon
• Meetup: http://www.meetup.com/Tachyon
• New Contributor Tasks: http://goo.gl/zmt2PS
• News Letter Subscription: http://goo.gl/mwB2sX
• Email: binfan@tachyonnexus.com
54
55

More Related Content

What's hot

How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentAnna Yen
 
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究Min Zhou
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoMin Zhou
 
From Java Stream to Java DataFrame
From Java Stream to Java DataFrameFrom Java Stream to Java DataFrame
From Java Stream to Java DataFrameChen-en Lu
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 maclean liu
 
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践Min Zhou
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform SecurityJazz Yao-Tsung Wang
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Yang Guanjun
 
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹Anna Yen
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈Tim Y
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon databoxu42
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討Billy Yang
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)Joseph Kuo
 
Cloudera introduction
Cloudera introductionCloudera introduction
Cloudera introductionPhate334
 
Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Awei Hsu
 
架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境Phate334
 
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent QueueJava Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent QueueMin Zhou
 

What's hot (20)

How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
 
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at Taobao
 
From Java Stream to Java DataFrame
From Java Stream to Java DataFrameFrom Java Stream to Java DataFrame
From Java Stream to Java DataFrame
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
 
SMACK Dev Experience
SMACK Dev ExperienceSMACK Dev Experience
SMACK Dev Experience
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Cephfs架构解读和测试分析
Cephfs架构解读和测试分析
 
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
 
Zabbix in PPTV
Zabbix in PPTVZabbix in PPTV
Zabbix in PPTV
 
Cloudera introduction
Cloudera introductionCloudera introduction
Cloudera introduction
 
Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威
 
架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境
 
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent QueueJava Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent Queue
 

Viewers also liked

分布式构架简介 草稿
分布式构架简介 草稿分布式构架简介 草稿
分布式构架简介 草稿guestd7133d1
 
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQLChoosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQLScaleBase
 
Big Data, NoSQL, NewSQL & The Future of Data Management
Big Data, NoSQL, NewSQL & The Future of Data ManagementBig Data, NoSQL, NewSQL & The Future of Data Management
Big Data, NoSQL, NewSQL & The Future of Data ManagementTony Bain
 
结构化数据存储
结构化数据存储结构化数据存储
结构化数据存储光照 刘
 
华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析Liang Ming
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database OverviewSteve Min
 
My SQL and Ceph: Head-to-Head Performance Lab
My SQL and Ceph: Head-to-Head Performance LabMy SQL and Ceph: Head-to-Head Performance Lab
My SQL and Ceph: Head-to-Head Performance LabRed_Hat_Storage
 
NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015Ivan Glushkov
 
What you need to know about ceph
What you need to know about cephWhat you need to know about ceph
What you need to know about cephEmma Haruka Iwao
 
MySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMatthew Aslett
 

Viewers also liked (10)

分布式构架简介 草稿
分布式构架简介 草稿分布式构架简介 草稿
分布式构架简介 草稿
 
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQLChoosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
 
Big Data, NoSQL, NewSQL & The Future of Data Management
Big Data, NoSQL, NewSQL & The Future of Data ManagementBig Data, NoSQL, NewSQL & The Future of Data Management
Big Data, NoSQL, NewSQL & The Future of Data Management
 
结构化数据存储
结构化数据存储结构化数据存储
结构化数据存储
 
华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database Overview
 
My SQL and Ceph: Head-to-Head Performance Lab
My SQL and Ceph: Head-to-Head Performance LabMy SQL and Ceph: Head-to-Head Performance Lab
My SQL and Ceph: Head-to-Head Performance Lab
 
NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015
 
What you need to know about ceph
What you need to know about cephWhat you need to know about ceph
What you need to know about ceph
 
MySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey results
 

Similar to Tachyon 2015 08 China

線上埋碼資料收集實作
線上埋碼資料收集實作線上埋碼資料收集實作
線上埋碼資料收集實作FEG
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍Li Jiansheng
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发mysqlops
 
Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Jazz Yao-Tsung Wang
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载maclean liu
 
推薦系統實作
推薦系統實作推薦系統實作
推薦系統實作FEG
 
Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享alipay
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWJazz Yao-Tsung Wang
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLei (Harry) Zhang
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局Alex Lau
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten TrainingLi Chen
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用勇浩 赖
 
Introduction to K8S Big Data SIG
Introduction to K8S Big Data SIGIntroduction to K8S Big Data SIG
Introduction to K8S Big Data SIGJazz Yao-Tsung Wang
 
淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況inwin stack
 
Continuous Delivery - Opening
Continuous Delivery - OpeningContinuous Delivery - Opening
Continuous Delivery - OpeningRick Hwang
 

Similar to Tachyon 2015 08 China (20)

線上埋碼資料收集實作
線上埋碼資料收集實作線上埋碼資料收集實作
線上埋碼資料收集實作
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载
 
推薦系統實作
推薦系統實作推薦系統實作
推薦系統實作
 
Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TW
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten Training
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
 
Introduction to K8S Big Data SIG
Introduction to K8S Big Data SIGIntroduction to K8S Big Data SIG
Introduction to K8S Big Data SIG
 
淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況
 
Baidu Cloud Foundry
Baidu Cloud FoundryBaidu Cloud Foundry
Baidu Cloud Foundry
 
Continuous Delivery - Opening
Continuous Delivery - OpeningContinuous Delivery - Opening
Continuous Delivery - Opening
 

Tachyon 2015 08 China

Editor's Notes

  1. 大家下午好, 我叫范斌, 我是来自Tachyon开源项目的contributor 也是来自Tachyon Nexus团队的一名软件工程师. 今天我很高兴能够来到这里跟大家交流. 在接下来的几十分钟里, 我们会分享关于Tachyon这个项目的很多干货. 今天在座的有些朋友可能是对我们这个系统还不是很了解. 那么让我用一句话来概括, 它是一个可靠的, 以内存为中心的,分布式的, 存储系统. 这几个特性就导致它和之前的分布式存储系统比如GFS, HDFS等以硬盘或者SSD作为存储设备的系统会有很大乃至本质的不同. 这些不同体现在, 在面临的挑战, 设计的思路, 系统的架构和性能等等各个方面. 同时呢, 我觉得这个项目很非常有意思的一点是它是一个飞快发展中的开源项目, 所以今天我们也会分享这个项目它在短短2年多的时间里经历的飞速成长的历程, 以及我们在将来的roadmap.
  2. 首先简单介绍一下Tachyon Nexus. 它是由Tachyon的创立者李浩源, 以及在Tachyon项目中的核心开发者创立的一家初创公司. 我们团队主要成员大都是来自于美国计算机最顶尖的4所学校, 并从事相关的分布式系统研究或者工作的博士生。 几个月前Tachyon Nexus完成了A轮融资, 从Andreessen Horowitz这里融得了750w美元的风险投资. 我们这个公司目前还处于stealth mode, 但是可以告诉大家的是我们这个团队会竭尽所能**继续推动**Tachyon这个开源项目的建设.
  3. Tachyon Nexus as the company gets a lot of media attention from its first day of birth. Different ===== 这是关于Tachyon Nexus公司的媒体方面的宣传 财富杂志 华尔街日报 值得一提的是, 最近被美国媒体评为最值得关注的十家存储方面的创业公司之一。这是唯一一个开源的系统, 也是唯一一个华人是创始人的
  4. 非常重要的一点: 我们公司正在招人. 如果你对加入一家尚处早期但是以光速成长的创业团队有兴趣, 那么务必请在今天这个workshop后一定不要放过HY, 我们求搭讪
  5. 今天我们这个presentation主要分成3部分来展开. 第一部分, 是Tachyon系统的overview. 第二部分, 是开源项目的状况,以及在实际production里的使用案例分析 第三部分, 我们对这个系统的未来的展望
  6. 今天我们这个presentation主要分成3部分来展开. 第一部分, 是Tachyon系统的overview. 第二部分, 是开源项目的状况,以及在实际production里的使用案例分析 第三部分, 我们对这个系统的未来的展望
  7. Tachyon是从UC Berkeley的AMPLab孵化出来的一个项目. AMPLab提出了一个Data Analytics 的一整套生态系统。 Mesos 是一个cluster manager 可以方便部署distributed application. 谣言, 微软要以一个billion收购这家成立才3年不到的公司。 Spark是inmemory的计算平台. 而我们今天着重要说的Tachyon则是在这个stack里从存储层面上解决memory speed的数据读写与共享 Tachyon这个名字是UCB的教授Scott Shenker起得, 意思为比光速还要快的粒子。
  8. 那么问题来了, 为什么在这个时间点,在这样一套生态系统中 我们需要Tachyon 我们来看一下两个硬件的趋势 ======= Why do we want something like Tachyon?
  9. 第一个趋势: 一方面, 内存的带宽每年都在增长, 指数级的增长. 而另外的一方面, 传统的存储设备是硬盘的带宽的增速却在逐年放缓. 这个就会导致Memory-locality(也就是保持所需要的数据在内存当中) 对于实现low latency的数据访问无比的重要 === Here is the reason: on one hand, memory throughput increases exponentially each year, on the other hand, harddisk throughput increases, but at a rate much slower than memory. As a consequence, memory locality is the key to achieve interactive response time for big table queries.
  10. 第二个趋势, it's about money money money. 在内存带宽迅速增长的同时, 单位容量的内存价格是在一个快速下降的通道当中. 我们可能正在逐步接近到大家都可以大规模的部署大内存来加速运算的一个阶段. 几年之内, 几百GB甚至上TB内存的机器都会变得普遍.
  11. 这个趋势被越来越多的人和项目认识到, 所以也孕育了 People have already observed these trends and are creating solutions to exploit memory. Then the question is,
  12. 这里仍然有一个缺失的环节, 就是缺少一个专注于memory的Storage Layer, 使得不同的Application可以在其上运行 === There is still a solution missing, from the storage layer, where a wide range of applications can be built on top of.
  13. 为了让大家知道问题在哪儿, 或者说我们要解决的painpoint在哪里, 我来使用Spark作为一个例子. Spark是一个in memory的数据处理框架。 数据会保持一个copy在JVM当中, 因为只有一个copy, Spark使用lineage来保证在memory里的数据因为crash或者其他原因 有办法把它恢复出来 具体的方法如下面所示 ==== As an example, lets take a look at spark.
  14. 然而这并没有解决全部的问题。 比如在许多公司都会有非常复杂的pipeline, 比如一个job的输出是另一个job的输入 ==== Many companies have very complicated data processing pipeline, one job output is the input of another job
  15. 然而这并没有解决全部的问题。 比如在许多公司都会有非常复杂的pipeline, 比如一个job的输出是另一个job的输入 ==== Many companies have very complicated data processing pipeline, one job output is the input of another job
  16. 一旦计算层面出现了crash, 可能由于程序的bug或者server的硬件问题,那么这个JVM里的数据就会跟着一起丢失. ===== When the computation task crashes for some reason,
  17. The in-memory storage also dies, since they both are in the same process.
  18. Two tasks want to read the same data, both must load the data in-memory, which leads to data duplication. And since these are in the JVM, this could lead to GC issues.
  19. 那么回过头来想一下, 问什么会出现这些问题呢? 这是要在memory里实现这种的可靠的, across job, 甚至across famework的数据共享, 你需要的是从存储层面上来彻底解决这个问题, 而不是在计算层。 这就回答了我们最开始的问题, 为什么在这个生态系统里需要Tachyon。 ======= Tachyon I s designed to address these issues. With Tachyon system, you can achieve ….
  20. Tachyon是如何解决这些问题的呢?
  21. 上层是各种主流的大数据计算平台, 包括Spark, Hadoop 等, 下层是传统的或者甚至是单机的存储系统。 为什么我们需要他们? 因为他们很多时候是数据源,以及保证数据能够以更为廉价的方式储存. Tachyon在两层之间 起到一个桥梁的作用
  22. Master: keeps track of metadata and the status of all the workers Single Tachyon Worker Node, manages local space, and stores data in the ram disk.
  23. Standby masters for fast failover.
  24. … So, with these features, tachyon can achieve high throughput
  25. 然而这并没有解决全部的问题。 比如在许多公司都会有非常复杂的pipeline, 比如一个job的输出是另一个job的输入 ==== Many companies have very complicated data processing pipeline, one job output is the input of another job
  26. 这里我们比较一下往Tachyon和In-Memory的HDFS里写数据的throughput. 请注意的时in-Memory HDFS 由于没有Lineage这样的feature,同一份数据需要在不同的datanode的memory中保存. 而Tachyon只需要写一份, 而且是优先写在本地机器的内存里。 在这个microbenchmark中, 使用最多为30台机器, 每台机器配有10gigabit的网卡。 Tachyon throughput scales InMemory HDFS却做不到。 究其缘由, 是因为当
  27. 最新的v0.7版本里, 我们大约有100个contributor. 如果大家对这个规模和增长没有概念, 我举一个例子. 大家都知道Apache Spark炙手可热, 大约有600个contributor在github上. 可是在这个项目放上github 2年7个月的时候, 他们是15个contributor. 由此可见我们的项目发展是非常之罕见的.
  28. Thanks to the many members of the Tachyon community, many of which are in this room!
  29. 正因为Tachyon是一个开源项目,它吸引了很多不同的公司和机构来使用。 Since tachyon is open source, it is easy for people to start to use tachyon. … It is interesting to see the different use cases of tachyon
  30. Also, tachyon supports a variety of under filesystems, from different industries. Here are some of the supported under file systems. They span different use cases like big data, cloud, hpc, and enterprise, and it is exciting to see tachyon work with those systems.
  31. One of the primary concerns about Tachyon is that it only manages memory, which is still relatively scarce in many production environments. 0.6 introduces tiered storage which allows uses to allocate additional storage devices to Tachyon, instead of just memory. Currently memory, ssd, and hdd are supported storage types. When using tiered storage, the storage types will be transparent to the user, and Tachyon will simply spill from memory to the next available storage tier instead of directly to the underfilesystem. Tiered storage is configuration driven meaning there is no need to recompile or change the code.
  32. 其他的还有 Data Serving: Different ways to serve the data to applications New hardware: like rdma
  33. 我们很快还有会有