写点什么

Tachyon:一个高性能、高容错、基于内存的开源分布式存储系统

  • 2015-03-26
  • 本文字数:1529 字

    阅读完需:约 5 分钟

从 Tachyon 的官网得知,Tachyon 是一个高性能、高容错、基于内存的开源分布式存储系统,并具有类Java 的文件API、插件式的底层文件系统、兼容Hadoop MapReduce 和 Apache Spark 等特征。Tachyon 能够为集群框架(如 Spark、MapReduce 等)提供内存级速度的跨集群文件共享服务。Tachyon 充分使用内存和文件对象之间的世代(Lineage)信息,因此速度很快,官方号称最高比HDFS 吞吐量高300 倍。目前,很多公司(如Pivotal、EMC、红帽等)已经在使用Tachyon,并且来自20 个组织或公司(如雅虎、英特、红帽等)的60 多个贡献者都在为其贡献代码。Tachyon 是于 UC Berkeley 数据分析栈 ( BDAS ) 的存储层,它还是 Fedroa 操作系统自带应用

Tachyon 具有的重要特征如下:

  • 类 Java 的文件 API: Tachyon 的原生 API 同 Java 的文件类非常相似,并提供了 InputStream 和 OutputStream 接口,还支持内存映射 IO;
  • 兼容 MapReduce 和 Spark:Tachyon 实现了 Hadoop 的 FileSystem 接口,因此,MapReduce 和 Spark 无需做任何修改就可以使用 Tachyon;
  • 插件式的底层文件系统:Tachyon 基于 Hadoop 并从底层重建了 Hadoop 平台。Tachyon 具有一个通用、方便于接入不同底层文件系统的接口。目前支持的文件系统包括 HDFS、S3、GlusterFS、单节点本地文件系统等,对其他文件系统的支持将很快实现。
  • 支持本地原始表:Tachyon 提供了对多列数据的本地支持,且提供了选择项,以决定是否将 Hot 列放入内存以节省空间;
  • 浏览文件系统的 Web 界面:用户能够通过 Web 界面浏览文件系统,尤其在 Debug 模式下,管理员还能够查看每个文件的详细信息,如文件位置、检查点(Checkpoint)路径等;
  • 支持命令行交互: 用户能够使用命令“./bin/tachyon tfs”同 Tachyon 进行交互,如往文件系统中复制数据以及从文件系统往外复制数据;
  • 高容错性:Tachyon 具有良好的容错机制,Master 和 Worker 都有自己的容错方式。Master 使用 ZooKeeper 进行容错,Master 中保存的元数据使用 Journal 进行容错,Master 还对各个 Worker 的状态进行监控,发现 Worker 失效时会自动重启对应的 Worker。对于具体的文件数据,Tachyon 使用世代关系进行容错。

Tachyon 采用了 Master-Worker 模式,运行中的 Tachyon 系统由一个 Master 和多个 Worker 构成。Tachyon Master 管理全部文件的元数据信息,同时也负责监控各个 Tachyon Worker 的状态。为了高效地对文件进行管理,Tachyon 文件在内存中按块组织。文件和块信息保存在 Master 端,每个 Worker 以块为单位进行存储和管理。Tachyon 的架构如下图所示:

Tachyon 诞生于 UC Berkeley 的 AMPLab ,由该实验室的计算机在读博士李浩源初创,并基于 Apache License 2.0 开源协议发布,代码托管在 GitHub ,其当前最新版本为 0.6.1 。去年 10 份,李浩源在接受 InfoQ 采访时曾表示:

长期来讲,他们对待 Tachyon 会像对待 Apache Mesos 和 Apache Spark 一样,Tachyon 也会进入 Apache 软件基金会,这里欢迎更多的开发者加入。

近日,从华尔街日报消息得知,Tachyon 获得了硅谷风投 A16Z 的 750 万美元 A 轮投资。AMPLab 的项目还包括与 Hadoop 相似、启用了内存分布数据集的开源集群计算环境 Spark 、类似于基于键 / 值存储的 SQL 查询语言 PIQL 、基于分布式系统的机器学习系统 MLBase 、多核和大型 SMP 系统的操作系统 Akaros 、低延迟计算集群调度系统 Sparrow 等。此外,Tachyon 官网还提供了相关文档,如用户文档开发者文档等。更多关于Tachyon 的信息,读者可以登录其官网或其GitHub 提供的 Wiki 页面查看。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-26 06:408685
用户头像

发布了 46 篇内容, 共 55.4 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

RT-Thread记录(三、RT-Thread 线程操作函数及线程管理与FreeRTOS的比较)

矜辰所致

RTT RT-Thread 8月月更 线程操作

一名合格的程序员是如何优雅地解决线上问题的?

程序员小毕

Java 程序员 架构 程序人生 后端

leetcode 155. Min Stack最小栈(中等)

okokabcd

LeetCode 数据结构与算法 栈和队列

IT故障快速解决就用行云管家!快速安全!

行云管家

运维 IT运维 行云管家

STM32的内存管理相关(内存架构,内存管理,map文件分析)

矜辰所致

内存 stm32 Flash 8月月更

C++面向对象友元,全局函数、类、成员函数做友元

CtrlX

8月月更

跟我一起了解云耀云服务器HECS【华为云至简致远】

IT资讯搬运工

云服务器

结合“xPlus”探讨软件架构的创新与变革

BizFree

敏捷开发 软件架构 数字化 信息化 软件定制

写给 Java 程序员的前端 Promise 教程

江南一点雨

Java spring 前端 springboot Promise

云原生系列五:Kafka 集群数据迁移基于Kubernetes的内部

叶秋学长

kafka 开源 Kubernetes 8月月更

Docker到底是什么,能干什么?这一篇文章全部给你解释清楚了

Java永远的神

Java Docker 程序员 面试 云原生

客户案例 | 提高银行信用卡客户贡献率

易观分析

金融 银行 分析 客户

转转商品系统高并发实战(数据篇)

转转技术团队

分布式 高并发

国产堡垒机品牌哪家好?功能有哪些?咨询电话多少?

行云管家

运维 堡垒机 运维审计 国产堡垒机 堡垒机品牌

直播卖货APP——为何能得到商家和用户的喜欢?

开源直播系统源码

软件开发 语聊房 直播系统 直播源码

开源一夏 | 使用 JavaScript 和 CSS 做一个图片转 PDF 的转换器

海拥(haiyong.site)

JavaScript 开源 前端 8月月更

Arco Vue + Flask 手把手实战开发一测试需求平台

MegaQi

测试平台开发教程 签约计划第三季 8月月更

SpringMVC(一、快速入门)

开源 springmvc 8月月更

从零开始,如何拥有自己的博客网站【华为云至简致远】

IT资讯搬运工

linux 文件权限控制

看到这个应用上下线方式,不禁感叹:优雅,太优雅了!

华为云开发者联盟

云计算 开发 CCE

【Redis】redis安装与客户端redis-cli的使用(批量操作)

石臻臻的杂货铺

redis' 8月月更

再迎巅峰!阿里爆款分布式小册开源5天Github已73K

冉然学Java

架构 分布式 微服务 java; 编程、

开源一夏 | 自己画一块ESP32-C3 的开发板(PCB到手)

矜辰所致

开源 硬件设计 8月月更 ESP32-C3

电商秒杀系统架构设计

泋清

#架构训练营

海外邮件发送指南(一)

极光GPTBots-极光推送

消息推送 邮件 SendCloud

游戏开发常遇到数据一致性BUG,怎么解?

华为云开发者联盟

数据库 后端 游戏开发

【Redis】位图以及位图的使用场景(统计在线人数和用户在线状态)

石臻臻的杂货铺

redis' 8月月更

华为云弹性云服务器ECS使用【华为云至简致远】

IT资讯搬运工

弹性云服务器ECS

设计一个跨平台的即时通讯系统(采用华为云ECS服务器作为服务端 )【华为云至简致远】

IT资讯搬运工

云服务器ECS

面试官:Redis 大 key 要如何处理?

Java永远的神

Java 数据库 redis 程序员 面试

Tachyon:一个高性能、高容错、基于内存的开源分布式存储系统_后端_李小兵_InfoQ精选文章