评估硬件:比如能否连通外网,是使用托管的云服务 , 还是在自己机房内私有部署 。如果是私有部署,需要评估是否有足够的硬件资源去部署一些相关的组件 。无论是用哪一种元数据引擎,基本上都要求有高速的 SSD 盘去运行,不然会对其性能有比较大的影响 。
评估运维能力,这是很多人会忽视的,但是在我们来看这应该是最关键的因素之一 。对于存储系统来说,稳定性往往才是其上生产后的第一重点 。用户在选择元数据引擎的时候 , 应该先想想自己对它是不是熟悉,在出现问题时,能否快速定位解决;团队内是否有足够的经验或精力去把控好这个组件 。通常来说 , 我们会建议用户在开始时选择一个自己熟悉的数据库是比较合适的 。如果运维人员不足 , 那么选择 JuiceFS 公有云服务也确实是个省心的选项 。
最后 , 分享下社区在使用元数据引擎方面的一些统计数据 。
- 目前为止,Redis 的使用者依然占了一半以上 , 其次是 TiKV 和 MySQL,这两类的使用者的数量占比在逐步增长 。
- 在运行的 Redis 集群的最大文件数大概是在 1.5 亿,而且运行情况是比较稳定的 , 上文提到的推荐的 1 亿文件是建议值,并不是说无法超过 1 亿 。
- 整体数量规模 Top3 , 都是使用的 TiKV 而且都超过了 10 亿文件数量 。现在最大的文件系统的文件数量是超了 70 亿文件,总容量超过了 15 PiB,这也从侧面证明了 TiKV 在作为元数据引擎时的扩展能力 。我们自己内部测过使用 TiKV 作为元数据引擎存储 100 亿文件,系统仍能稳定地运行 。所以如果你的整个集群预期的规模会非常大,那么TiKV 确实是一个很好的选择 。
这个迁移方法有一定的限制,首先只能迁移到空数据库,暂时无法将两个文件系统直接合在一起;其次,需要停写,因为数据量会比较大的情况下,很难在线将元数据完整的迁移过来 。要做到这点需要加许多限制 , 从实测来看速度会非常慢 。因此,把整个文件系统停掉再去做迁移是最稳妥的 。如果说实在需要有一定的服务提供 , 可以保留只读挂载,用户读数据并不会影响整个元数据引擎迁移的动作 。
虽然社区提供了全套的迁移方法,但是还是需要提醒用户,尽量提前对数据量的增长做好规划,尽量不做迁移或尽早迁移 。当要迁移的数据规模很大时 , 耗时也会变长,期间出问题的概率也会变大 。
如有帮助的话欢迎关注我们项目 Juicedata/JuiceFS 哟! (0?0?)
推荐阅读
- 原神元能尖碑都在哪些地方
- Docker | 容器数据卷详解
- 如何优雅的备份MySQL数据?看这篇文章就够了
- 普通双非学子上岸浙大工程师数据科学项目 计算机保研,maybe this is all you need
- 大数据技术之HBase原理与实战归纳分享-上
- 07 ClickHouseClickHouse数据库引擎解析
- 使用EF Core更新与修改生产数据库
- Jupyter,Matplotlib,Pandas 【机器学习】利用 Python 进行数据分析的环境配置 Windows
- TDengine的数据建模?库、表、超级表是什么?怎么用?
- 利用Pandas处理数据 缺失值的处理 数据库的使用 python-数据描述与分析2