Nosql 混合科学与技术的数据库建议;关系数据?

Nosql 混合科学与技术的数据库建议;关系数据?,nosql,bigdata,hdf5,scientific-computing,Nosql,Bigdata,Hdf5,Scientific Computing,我有一个将科学数据(即双矩阵和向量)与关系数据混合在一起的强大用例,并将其用作分布式计算的数据源,例如MapReduce,hadoop等。到目前为止,我一直使用自定义HDF模式和Postgres中的关系数据将我的科学数据存储在HDF5文件中,但由于此设置的可扩展性不太好,我想知道是否有一种更为NoSQL混合的方法来支持此数据的异构性 e、 g.我的用例是分发一个复杂的流程,其中包括: 从时间序列数据库提供程序加载GB数据 将时间序列链接到静态数据,例如符号信息、到期日、到期日等 启动一系列科学计

我有一个将科学数据(即双矩阵和向量)与关系数据混合在一起的强大用例,并将其用作分布式计算的数据源,例如MapReduce,hadoop等。到目前为止,我一直使用自定义HDF模式和Postgres中的关系数据将我的科学数据存储在HDF5文件中,但由于此设置的可扩展性不太好,我想知道是否有一种更为NoSQL混合的方法来支持此数据的异构性

e、 g.我的用例是分发一个复杂的流程,其中包括:

  • 从时间序列数据库提供程序加载GB数据
  • 将时间序列链接到静态数据,例如符号信息、到期日、到期日等
  • 启动一系列科学计算,例如协方差矩阵、分布拟合、MC模拟
  • 将计算分布在许多单独的HPC节点上,并存储中间结果以便于跟踪
    这些步骤需要一个能够处理关系数据和科学数据的分布式数据库。一种可能是将科学数据存储在HDF5中,然后将其作为BLOB列放在关系数据库中,但这是一种误用。另一种方法是将HDF5结果存储在磁盘中,并有一个关系数据库链接到它,但我们失去了自我控制。但是,这两种方法都无法在HPC节点中分配直接访问的数据,因为数据需要从中心节点提取,这并不理想

    我不确定是否能给出正确的解决方案,但我们有类似的设置

    我们将元信息存储在RBDMS(postgresql)中,实际科学数据存储在HDF5文件中。
    我们在HPC上运行了一些分析。具体做法如下:

  • 用户希望运行分析(从web前端)
  • 将向中央消息代理(AMQP、RabbitMQ)发送一条消息,其中包含分析类型和一些附加信息
  • 工作机器(VM)从中央消息代理接收消息。工作人员使用
    REST
    从RDBMS数据库检索元信息,并在HPC上暂存文件,然后在集群上创建
    PBS
    作业
  • 提交
    PBS
    作业后,将带有作业id的消息发送回message broker,以存储在RBDS数据库中
  • HPC作业将运行科学分析,然后将结果存储在HDF5文件中
  • 作业完成后,工作计算机将把HDF5文件分阶段输出到NFS共享中,并将链接存储在RBMS数据库中 我建议不要将二进制文件作为BLOB存储在RDBMS中。
    我会用HDF5格式保存它们。对于数据库和文件系统,可以有不同的备份策略

    还有几个额外的指针:

    • 您可以将所有内容(RBMS和HDF5存储)隐藏在
      REST
      接口后面。这可能会解决你的遏制问题
    • 如果您想将所有内容存储在
      NoSQL
      DB中,我建议您查看
      Elasticsearch
      。它可以很好地使用,它是开箱即用的,并且它还有一个

    所以不做建议,所以这是离题的。它可能是在主题,如果是的话,你可能会得到更好的答案。在等待答案的同时,调查SciDB、Rasdaman、MonetDB和您最喜欢的搜索引擎建议的任何其他阵列数据库。