首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >混合科学和关系数据的数据库建议?

混合科学和关系数据的数据库建议?
EN

Stack Overflow用户
提问于 2014-02-03 10:13:19
回答 1查看 520关注 0票数 0

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

例如,我的用例是分发一个涉及以下内容的复杂过程:

  1. 从时间序列数据库提供程序加载GB数据
  2. 将时间序列链接到静态数据,例如符号信息、到期日期、到期日等。
  3. 开展一系列科学计算,如协方差矩阵、分布拟合、MC模拟
  4. 将计算分布在多个单独的HPC节点上,并存储中间结果以实现可追溯性。

这些步骤需要一个能够同时处理关系数据和科学数据的分布式数据库。一种可能是将科学数据存储在HDF5中,然后将其作为BLOB列放在关系数据库中,但这是一种误用。另一种方法是将HDF5结果存储在磁盘中,并有一个连接到它的关系数据库,但是我们失去了自我包容。然而,这两种方法中没有一种能够分配数据,以便在HPC节点中直接访问,因为需要从中心节点中提取数据,这并不理想。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 09:24:56

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

我们将元信息存储在RBDMS (postgresql)中,并将实际的科学数据存储在HDF5文件中。

我们有几个分析是在我们的高性能计算机上进行的。这样做的方式如下:

  1. 用户希望运行分析(从web前端)
  2. 一个消息被发送到一个中央消息代理(AMQP,RabbitMQ),其中包含分析的类型和一些附加信息。
  3. 工作机器(VM)从中央消息代理接收消息。工作人员使用REST从RDBMS数据库检索元信息,并对HPC上的文件进行分级,然后在集群上创建一个PBS作业。
  4. 一旦提交了PBS作业,带有作业id的消息将被发送回message,以存储在RBDS数据库中。
  5. HPC工作将运行科学分析,然后将结果存储在一个HDF5文件中。
  6. 工作完成后,工作机器将逐步将HDF5文件分阶段到NFS共享中,并将链接存储在RBMS数据库中。

我建议不要将二进制文件作为BLOB存储在RDBMS中。

我会用HDF5格式保存它们。您可以为数据库和文件系统制定不同的备份策略。

有几个额外的指针:

  • 您可以将所有内容(包括RBMS和HDF5存储)隐藏在REST接口后面。这可能会解决你的遏制问题
  • 如果您想将所有内容存储在NoSQL DB中,我建议您查看一下Elasticsearch。它可以很好地与时间序列数据一起工作,它是按盒分发的,而且它还有一个Hadoop插件
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21524512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档