我不确定我是否可以提供适当的解决方案,但我们有类似的设置。
我们有存储在RBDMS(postgresql)中的元信息和HDF5文件中的实际科学数据。
我们在HPC上运行了一些分析。它的完成方式如下:
用户想要运行分析(来自网络前端)
将消息发送到包含分析类型和一些其他信息的中央消息代理(AMQP,RabbitMQ)
工作计算机(VM)从中央消息代理获取消息。工人使用
REST
从RDBMS数据库中检索元信息并在HPC上分段文件,然后创建一个
PBS
集群上的工作。
一旦
PBS
作业被提交一个带有job-id的消息被发送回消息代理以存储在RBDS数据库中。
HPC作业将运行科学分析,然后将结果存储在HDF5文件中。
作业完成后,工作机器将HDF5文件暂存到NFS共享中,并将链接存储在RBMS数据库中。
您可以隐藏所有内容(RBMS和HDF5存储)
REST
接口。这可能会解决您的收容问题
如果你想存储一切
NoSQL
DB我建议你去看看
Elasticsearch
。它适用于
时间序列数据
,它是开箱即用的,它也有一个
Hadoop插件
</醇>
我建议不要将二进制文件存储在RDBMS中作为BLOB。
我会把它们保持为HDF5格式。您可以为数据库和文件系统提供不同的备份策略。
另外几个指针: