如何存储科学大文件(显微镜)? [关闭]

问题描述 投票:-1回答:4

这里是问题:

在实验室中,创建了非常大的显微镜数据(每个文件从1GB到200GB)。

我们将元数据以JSONS的形式存储在MongoDB中。但是我们找不到合适的本地/开源平台来存储这些文件。我们已经尝试了Hadoop,但是它是一个非常复杂的框架,我们不需要很多功能。我们只需要一个BLOB /对象存储,如果可能的话,就可以使用Python API通过自建的GUI读取和写入数据。

已经对Ceph,OpenStack Swift,OwnCloud,Gluster等进行了评估,但是由于max_limit_size_of_file,我们对每个评估都失败了。其中提到的许多文件每个文件的最大限制为5GB。

存储这些文件的最佳方法是什么?我们需要以下功能:

  • Python(和REST)API
  • 没有最大限制大小
  • 开源/本地软件
  • 对象/斑点存储
  • 如果可能复制数据

很遗憾,出于合规性原因,无法选择云解决方案。

python bigdata blob storage openstack
4个回答
1
投票

您看过OMERO吗?听起来好像满足了您的大多数要求。尽管我不知道Python API可以走多远。


1
投票

对于这种情况,有时最好的办法是使用内置的文件系统来存储文件。


0
投票

您需要保留多少文件?具有文件共享的纯文件系统非常适合存储大型二进制数据。您可以将元数据以及目录路径存储在mongoDB中。

您可能需要担心或不需要担心的一件事是需要存储多少文件。以我的经验,如果要存储数千个文件,则需要确定如何在文件夹中分发文件。如果存储对象的哈希,则可以创建一个函数,该函数根据哈希计算要存储文件的目录。如果您熟悉git,这正是它存储对象的方式。


0
投票

vaex是一个用于在大于系统内存的数据帧中加载的库,如果您要将元数据存储在MongoDB中,并有一个文件名字段,并且您具有查询能力,同时将数据保留在文件系统中可用的方法

© www.soinside.com 2019 - 2024. All rights reserved.