使用案例
ChubaoFS是一个分布式文件系统,兼容绝大部分POSIX文件系统语义,挂载后可以像使用本地文件系统一样简单。基本上可以用在任何需要文件系统的场合,替换本地文件系统,实现可无限扩展的、无物理边际的存储.已经应用在多种场景,下面是摘取的部分场景
HBase
使用hdfs作为后端存储数据会经常遇到下面的问题
- 对小文件不友好,小文件个数太多,比较占用namenode内存,文件系统所能容纳的文件数目是由 Namenode 的内存大小来决定
- 运维复杂
- Namenode管理元数据,不易扩容
使用chubaofs作为后端存储的优势
- 对小文件友好,文件个数不受限制
- 运维简单
- Metanode管理文件元数据,支持水平扩容
- 不同的volume文件元数据分布在不同的metanode上,彼此隔离,互不影响
ElasticSearch
使用本地磁盘存储数据会经常遇到下面的问题:
- 磁盘使用率不均匀,磁盘IO无法充分利用
- 本地磁盘空间大小受限制
使用chubaofs作为后端存储的优势
- 磁盘空间不受限制,易扩容,根据磁盘使用百分比自动扩展磁盘容量,能够实现存储系统按需扩容,极大的节省存储成本
- 磁盘IO使用率均匀,磁盘IO得到充分利用
- 保证数据高可靠,不用担心丢失数据
Nginx日志存储
你是不是经常为本地磁盘空间已满问题而发愁,使用chubaofs,可以将数据存储在分布式文件系统中,不用再担心磁盘空间不够用问题。
使用本地磁盘存储日志的问题
- docker本地磁盘空间小
- docker容器故障,日志丢失且不可恢复
- 物理机和docker机器混合部署,难以管理,运维成本高
使用chubaofs存储Nginx日志优势
- 磁盘空间不受限制,易扩容,根据磁盘使用百分比自动扩展磁盘容量,能够实现存储系统按需扩容,极大的节省存储成本
- 保证数据高可靠,不用担心丢失数据
- 多副本,可解决磁盘级和datanode节点故障导致日志无法写入问题
- 兼容posix文件系统接口,应用程序无需任何改动
- chubaofs运维简单,一个人就可以轻松的管理上万台机器的集群
Spark
在大数据集场景下,你是否为存储Spark中间计算结果需要精心计算每个task的数据量而发愁,可以将shuffle结果存储到cfs,不用再担心磁盘没有可用空间而导致任务失败问题,实现存储和计算分离。
使用本地磁盘存储shuffle中间结果的痛点
- 磁盘空间不足
- 临时目录文件过多,无法创建新文件
使用chubaofs优势
- 磁盘空间不受限制,易扩容,根据磁盘使用百分比自动扩展磁盘容量,能够实现存储系统按需扩容,极大的节省存储成本
- Metanode管理文件元数据,可以水平扩容,文件个数不受限制
MySQL数据库备份
使用云存储备份MySQL数据库的缺点
- 需要利用云存储SDK或者RESTful API开发备份程序,增加运维难度。
- 备份文件失败,排查问题比较困难
- 备份文件到云存储后,不方便查看文件是否上传成功
- 备份文件经过多层服务处理,影响性能
使用chubaofs备份MySQL数据库的优点
- 简单易用,兼容POSIX文件接口,可以当作本地文件系统使用
- 完整且详尽的操作记录存储在本地文件系统中,排查问题简单方便
- 只需执行ls命令,即可验证文件是否上传成功
- 支持PageCache和WriteCache,与云存储相比,文件读写性能显著提升
机器学习
使用本地磁盘存储训练数据集的缺点
- 本地磁盘空间小,有多个模型,每个模型的训练数据集到达TB级别,使用本地磁盘存储训练数据集,需要缩减训练数据集大小
- 训练数据集需要经常更新,需要更多的磁盘空间
- 如果机器故障,存在训练数据集丢失风险
使用chubaofs存储点击流日志优势
- 磁盘空间不受限制,易扩容,根据磁盘使用百分比自动扩展磁盘容量,能够实现存储系统按需扩容,极大的节省存储成本
- 数据有多个副本,保证数据高可靠,不用担心丢失数据
- 兼容posix文件系统接口,应用程序无需任何改动