0

我在想“企业” :) 在我的 Django 1.5 项目中,如果我能达到最大 ext4 文件夹数

分机 3:31998* 和分机 4:64000

据我所知,63.999 个文件夹存在问题,假设这是一个学术价值,最好不要有这样的数量。

例如用户数据文件夹。通常,我会这样解决

/data/users/id_user_1、/data/users/id_user_2、/data/users/id_user_N 和

user_data_path = settings.DATA_PATH + user.pk

超过 40.000 个用户时,上述文件系统结构将崩溃。

这将是什么最佳实践/方法?

谢谢!

4

2 回答 2

1

一种可能的方法是使用简单的整数除法对键空间进行分区。假设这partition_size是给定目录允许的最大值,您可以使用:

os.path.join(settings.DATA_PATH, str(user.pk // partition_size), str(user.pk))

示例partition_size=200

>>> fn(101)
'\\data\\users\\0\\101'
>>> fn(201)
'\\data\\users\\1\\201'
于 2013-06-07T07:30:27.573 回答
1

您需要为多级结构创建子目录以保存更多目录。

简单地说,像这样假设 40K 是极限。

/data/users/0/        # for 1 <= pk <= 400000
             /1
             /400000
/data/users/1/        # for 400001 <= pk <= 800000
             /400001
             /800000
....

您可以根据需要设计任意数量的关卡以及如何创建/使用关卡。

于 2013-06-07T07:05:42.880 回答