Architecture 大规模图像存储
我可能会参与一个项目,其中一个重要组件是存储大量文件(在本例中是图像,但它应该只是作为文件存储) 传入文件的数量预计每周约为500000个(平均每个约为100KB),峰值约为每天100000个文件,每秒5个。 在达到均衡之前,文件总数预计将达到数千万,在均衡状态下,文件将因各种原因以输入速率过期 因此,我需要一个系统,可以存储约5文件每秒在高峰时间,而阅读约4和删除4在任何时候 我最初的想法是,一个简单的NTFS文件系统和一个用于存储、过期和读取的简单服务实际上就足够了。我可以想象该服务会为每年、每月、每天和每小时创建子文件夹,以将每个文件夹的文件数保持在最低水平,并允许在需要时手动过期 我们已经讨论了一个大型NTFS解决方案,但我仍然可以就使用上述规范构建存储时可能出现的问题、可能出现的维护问题以及存在的替代方案提供一些建议。如果可行,我最好避免使用分布式存储 编辑 感谢所有的意见和建议。有关该项目的更多奖金信息: 这不是由最终用户提供图像的web应用程序。不要透露太多,因为这是在合同阶段,它更多的是在质量控制的范畴。考虑一下带传送带和传感器的生产工厂。这不是传统的质量控制,因为产品的价值完全取决于图像和元数据数据库的顺利运行 自动应用程序以先进先出的顺序访问99%的图像,但用户应用程序也会进行随机访问。超过一天的图像将主要用于存档目的,尽管这一目的也非常重要 由于各种原因,图像的过期遵循复杂的规则,但在某个日期,所有图像都应该被删除。删除规则遵循依赖于元数据和用户交互的业务逻辑 每天都会有停机时间,以便进行维护 优选地,文件存储将不必将图像位置传回元数据服务器。如果选择某种散列或分布式系统,则应该从元数据中唯一地扣除图像位置,可能是通过映射数据库 因此,我的问题是:Architecture 大规模图像存储,architecture,ntfs,Architecture,Ntfs,我可能会参与一个项目,其中一个重要组件是存储大量文件(在本例中是图像,但它应该只是作为文件存储) 传入文件的数量预计每周约为500000个(平均每个约为100KB),峰值约为每天100000个文件,每秒5个。 在达到均衡之前,文件总数预计将达到数千万,在均衡状态下,文件将因各种原因以输入速率过期 因此,我需要一个系统,可以存储约5文件每秒在高峰时间,而阅读约4和删除4在任何时候 我最初的想法是,一个简单的NTFS文件系统和一个用于存储、过期和读取的简单服务实际上就足够了。我可以想象该服务会为每年
- 哪些技术将发挥强大的作用李>
- 哪些技术的实施成本最低李>
- 客户的IT部门最容易维护哪些技术李>
- 这种规模的特定技术(5-20 TB数据、1000-1亿个文件)存在哪些风险
尝试一下,你会惊喜万分。以下是基于以下假设对实现和可能问题的一些随机想法:平均图像大小为100kb,稳定状态为50M(5GB)图像。这还假定用户不会直接访问文件存储,而是通过软件或网站进行访问:
abcdef
,则根目录将是ab
,然后在该目录下创建一个名为abcdef
的图像。真实名称将保留在其他地方(下文讨论)
使用这种方法,如果您开始遇到文件系统限制(或性能问题)由于目录中的文件太多,您可以让文件存储部分创建另一个级别的目录。您还可以使用元数据存储创建文件时使用的目录的级别,因此如果稍后展开,则不会在较新、较深的目录中查找较旧的文件
这里的另一个好处是:如果遇到传输速度问题或一般的文件系统问题,您可以轻松地将一组文件拆分到其他驱动器。只需更改软件,将顶级目录保留在不同的驱动器上。因此,如果要将存储拆分为两半,一个驱动器上为00-7F,另一个驱动器上为80-FF