我目前正在为发布平台构建 Web 应用程序,并使用 S3 进行内容存储。S3 使用起来非常简单,但我想尝试预先进行最佳的文件组织。
以下是我的数据形状的概念:
出版物
- 出版物有描述(文字)
- 简介(文字+图片)
- 讨论(文本+图片)
- 有很多实验
实验
- 实验有描述(文字)
- 结果(文本+图片)
- 方法(文本+图像)
- 讨论(文本+图片)
组织模型
模型#1:平铲斗
这个模型看起来显然很糟糕,但是为了完整性我还是把它包括在内。
出版物图片桶:
publication_images/[publication-id]-[name].png
出版物文本分类:
publication_text/[publication-id]-[name].txt
实验桶与上文相同
模型2:出版物/实验对象
出版物类别:
[publication-id]/text/[name].txt
[publication-id]/images/[name].png
实验桶类似
模型三:出版物中的实验
出版物类别:
[publication-id]/text/[name].txt
[publication-id]/images/[name].png
[publication-id]/experiments/[experiment_id]/images/[name].png
[publication-id]/experiments/[experiment_id]/text/[name].txt
模型 #4/5:出版物/实验有自己的桶
这基本上与上面的 #2 和 #3 相同,只是每个出版物或实验不再是出版物或实验存储桶中的一个对象,而是会获得自己的存储桶。这似乎并不是实际的做法,但我是 S3 的初学者,所以我可能是错的。
当然还有其他方法可以组织这些内容,但这些是我想到的主要方法。我倾向于模型 2 或模型 3,这取决于我是否想通过发布获取我的所有实验内容。话虽如此,对于任何更有经验的人来说,这些模型是否看起来明显优越或劣势?在规划未来时,我是否应该意识到并考虑一些权衡利弊?还有其他我忽略了的、在性能和/或清晰度方面更好的模型吗?
谢谢!