📅  最后修改于: 2023-12-03 14:50:11.787000             🧑  作者: Mango
分片(sharding)和压实(compaction)是分别用于处理分布式系统的扩展性和性能问题的两个不同的技术。
分片是将一个大的数据集,划分成多个较小的数据集,每个子集都包含了数据集的一个子集。这些子集分别被存储在不同的节点上。分片的好处是可以让系统扩展性更好,因为数据集不再只依赖于单个节点的性能,而是可以通过分布在多个节点上的小数据集来实现。
在分片系统中,每个节点负责处理一部分数据集。当一个新的数据扰动写入时,系统会自动将其路由到正确的节点。这些节点可以是物理上分离的,也可以在同一机器或数据中心的不同节点上。
压实是指将一个大的数据集压缩成一个较小的集合,以减少磁盘使用量和磁盘读写操作。通过将多个小文件压缩成一个大文件,可以减少磁盘占用量,加速读写操作,以及减少存储的备份和恢复时间。
压实可以是一个自动化过程,例如Hadoop的背景下压实实现。这个过程类似于将目录下的多个小文件压缩成一个大文件。此外,压实也可以被用户手动调用,例如利用MapReduce程序生成大量的小文件,之后利用Shell脚本将小文件压实成较小的文件。
参考资料: