神策用户如何省掉六成存储成本?

2020-03-16
苏锐

先说结论,2019 年我们和神策开始合作,从神策 1.14 版本开始支持 JuiceFS 做数据归档,用户存储成本大幅下降,而且在使用中用户完全无感。早期客户已经用上半年多,省了不少钱。

如果你是神策用户,读完本文就掌握了一个不用动手每年还省很多钱的方法。如果你不是神策用户,就把文章转发给使用神策的朋友吧。

神策分析是深度用户行为分析平台,支持私有化部署、基础数据采集与建模,并作为 PaaS 平台支持二次开发,同时还支持用户精准分群,用户标签体系的构建,目前已经积累了中国银联、中国电信、百度视频、小米、中邮消费金融、海通证券、广发证券、中青旅、平安寿险、四川航空、翼支付、好未来、VIPKID、货拉拉、闪送、驴妈妈、Keep 等 1000 多家付费企业用户的服务和客户成功经验。

本文的故事从 2018 年说起,那时我们也刚推出 JuiceFS 不久,一群工程师正在学习如何向客户介绍、销售自己的产品,在一个销售经验的研讨沙龙上我认识了神策创始人 & CEO 桑文锋,他是分享嘉宾。听完他的分享,加了文锋总的微信。

之后在我和潜在客户交流的过程中,聊到数据分析、BI,发现不少都是神策的用户,让我更加关注和敬佩这家公司的变化。当然,客户在称赞之下也有苦恼,下面让我讲讲神策客户在公有云上的成本痛点。

痛点

客户使用神策系统,数据存储在由神策运维的 HDFS 中。随着时间的推移,存储的数据量一定会越来越大,这些数据都是企业运营中的重要信息,一定会长期保存。

数据量的增长也会带来存储成本的上升,尤其是一些客户为了追求查询性能使用 SSD 云盘,费用比较高。同时伴随长期使用神策系统积累了很多数据,一方面神策系统提供的数据分析不断为企业带来价值,另一方面数据累计的存储成本也是相当可观。

而且,客户多年使用下来,大部分是历史数据,日常分析查询中不会经常用到,属于低频访问的冷数据。仍然保存在昂贵的存储系统中也划不来。

对于低频访问的冷数据,存储在低成本的归档存储服务中更适合。

方案选型

选型需要考量的几个维度包括存储成本,性能,扩展能力,运维复杂度,神策对接复杂度。选项并不多,NAS、对象存储和第三方分布式存储,比如 JuiceFS。

首先介绍 JuiceFS,是云上全托管的分布式文件系统服务,具备 POSIX / HDFS / NFS 兼容性,是企业数据分析、共享、归档、备份的一站式存储平台。

让我们看看 NAS、对象存储和 JuiceFS 在各个维度上的表现和差异:

NAS对象存储JuiceFS
存储成本(/TB/月)350~1800130260
性能低 ~ 中等
扩展能力中等
运维复杂度
神策对接复杂度中等复杂简单

只说高低容易有老王卖瓜的嫌疑,我把表里的各个维度展开说一下。

存储成本,具体的成本比较可以看下面的章节。这里要注意的是云上的 NAS 通常分为容量性和性能型,价格差异蛮大的。还要特别注意一点,NAS 容量和性能是线性相关的,也就是说如果你数据量不是很大,NAS 的性能也不会太好。JuiceFS 是基于对象存储做数据持久化的,表格中的价格中已经包含了对象存储的费用,是综合 TCO。

性能,因为神策系统从技术上看,是一个大数据查询分析引擎,很依赖存储系统的元数据性能。对象存储元数据性能低,不适合满足大数据的查询分析型场景。NAS 要区分类型来看,性能好的也非常贵,无法满足咱们降成本的初衷。同时,NAS 和 对象存储都没有缓存能力,在查询分析的数据场景中,如果短时间多次查询到历史数据,性能是很慢的。JuiceFS 有完整的本地缓存能力,可以大大加速多次查询的任务。这方面的差异对 BI 人员是非常重要的。

扩展能力,NAS 在各家公有云上支持的最大容量和扩容方式都不同,但是大多有容量上限,有些不能弹性扩展,需要阶梯式的手动扩容,这样不仅麻烦还会带来资源利用率的下降。对象存储和 JuiceFS 是完全弹性伸缩的,不浪费一分钱。

运维复杂度,三个产品在公有云上都是全托管服务,无需客户和神策团队运维。但部分 NAS 产品需要做手动扩容,如果产品夜里来一波流量,数据激增导致存储容量报警了,还是要爬起来做扩容的。

神策对接复杂度,指神策支持一个存储系统在开发、改造上需要投入的工程量以及带来的系统复杂度的变化。神策系统在数据引擎中使用 HDFS 作数据存储,也使用了 Hadoop 生态中的计算引擎。所以,存储服务与 Hadoop 生态的兼容性是关键。NAS 是 POSIX 接口,可以使用 Hadoop Local File System 的方式访问,但是元数据性能比较差。对象存储在 Hadoop 支持上各家云表现不一致,而且都是通过各自的 connector 支持,没有通用解决方案,也就是说需要神策一个个对接,工程量大,系统复杂度和后期维护的复杂度也会增加很多。JuiceFS 完全兼容 HDFS API,对 Hadoop 计算引擎可以做到无侵入支持,对接和维护都是最简单的。还有一点,神策系统使用了 HDFS 的快照功能,在三种产品中只有 JuiceFS 支持。

比较中不难看出,JuiceFS 对接容易、扩展性强、成本低,自然是理想选择。

成本比较

这一节是重点,我们比较一下 JuiceFS 和目前存储方案的成本。

在下面的比较中,目前为客户提供的是中间的方案,冷数据自动归档到 JuiceFS,热数据仍然保留在 HDFS 中。未来会支持完全使用 JuiceFS 的方案,进一步降低成本。

先看数据多的大客户 A,在腾讯云上部署神策系统,10 台虚拟机,每台有 SSD 云盘 8x4T。云盘价格 ¥1.1/GB/月,HDFS 使用 2 副本,磁盘使用率 60%。

HDFS 存储成本为 ¥3666/TB/月,JuiceFS 存储成本是 ¥260/TB/月。目前每年存储成本 422 万,把 70% 的数据迁移到 JucieFS,每年可以省 65%(275万),如果完全使用 JuiceFS,每年省 78%(329万)。

看看中等数据规模的客户B,在阿里云上部署神策系统,15 台虚拟机,每台有 ESSD 云盘 3x800G。价格 ¥1/GB/月,HDFS 使用 2 副本,磁盘使用率 70%。

HDFS 存储成本为 ¥2857/TB/月,JuiceFS + 对象存储的总成本是 ¥260/TB/月。目前每年存储成本 43 万,把 70% 的数据迁移到 JucieFS,每年可以省 65%(28万),如果完全使用 JuiceFS,每年省 74%(32万)。

最后是数据不多的客户 C,在阿里云上部署神策系统,3 台虚拟机,每台有 ESSD 云盘 3600G。云盘价格 ¥1/GB/月,HDFS 使用 2 副本,磁盘使用率 70%。

HDFS 存储成本为 ¥2857/TB/月,JuiceFS + 对象存储的总成本是 ¥260/TB/月。目前每年存储成本 13 万,把 70% 的数据迁移到 JucieFS,每年可以省 64%(8万),如果完全使用 JuiceFS,每年省 74%(10万)。

Recap

最后汇总一下在神策系统中使用 JuiceFS 做数据存储的优势:

  • 省钱,平均省 60%;
  • 省事,不需要客户迁移,神策 和 JuiceFS 团队会负责搞定;
  • 省心,扩展性好,支持几十 PB 容量和百亿文件规模,弹性伸缩,也不用惦记扩容。

神策系统的数据迁移到 JuiceFS 之后,还需要对 HDFS 做缩容工作。在上一篇文章中,我们也介绍了具体实践。客户们不用担心复杂,这些都是我们会负责搞定的。

此外,如果对数据安全有更高要求,使用 JuiceFS replication 可以全自动搞定数据异地灾备,还有即将上线的数据保护功能,可以让 JuiceFS 中的数据恢复到任意时间点,不怕数据恶意破坏。

如果需要更详细的信息,请联系我们。