mongodb存储四维数组的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

mongodb存储四维数组的问题

2016-02-20 16:12:03 2149 1

我现在基于probalistic latent semantic indexing(plsa)做图像检索,需要计算一个条件概率p(z|w,v,d),我直接定义成了“double p_z_d_wt_wv[][][][];”简单地说,z是主题,w是英文单词,v是视觉单词,d是文档,大小分别为12100500*7000,就是12个主题,100个英文单词,500个视觉单词,7000个文档,double型的话算下来大概32G,其中z和d的数目是确定的,每个d的w和v的数目是不确定的。
根据大家的建议,我使用mongodb来存储这个四维数组。
我的思路是这样的,先根据z,d,w,v生成一个字符串,比如说z=1,d=2,w=3,v=4,生成字符串"1_2_3_4",作为数组元素的索引,还有一个字段value存储这个数组元素的值。所以我的数据像下面这个样子:
`{ "_id" : { "$oid" : "51e0c6f15a66ea5c32a99773"} , "key" : "1_2_3_4" , "value" : 113.1232}
{ "_id" : { "$oid" : "51e0c6f15a66ea5c32a99774"} , "key" : "1_2_3_5" , "value" : 11.1243}`
key是数组元素的索引,类似于四位数组的下标,value就是这个元素的值。
查询的时候先根据key得到这条记录,然后得到value的值,更新的时候也是先根据key查询到这个记录,然后更新value的值。
因为使用的算法本身需要两步,第一步需要更新数组中所有元素的值,第二步需要查询数组中所有元素的值。
按照我的实现速度太慢了,光更新就得几个小时,由于这个算法是迭代进行的,按经验要迭代几百次,如果一次几个小时就根本无法忍受,请问有什么方法可以提高速度呢?
大家有什么好的建议没,多谢了。

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:45:27

    [{key-z:value},{key-w:value},{key-d:value},{key-v:value}]都可以存储

    0 0
相关问答

1

回答

mongodb 内嵌数组大小的问题

2016-02-28 17:18:11 4015浏览量 回答数 1

1

回答

mongodb的文档存储结构问题

2016-02-18 16:55:42 1884浏览量 回答数 1

1

回答

mongodb模糊查询的问题

2016-02-06 23:06:03 1663浏览量 回答数 1

1

回答

有关mongodb排序的问题

2016-02-26 10:36:02 1256浏览量 回答数 1

1

回答

关于MongoDB存储空间大的问题

2016-02-05 17:46:00 2113浏览量 回答数 1

1

回答

MongoDB的MR问题!

2016-06-29 10:30:14 1615浏览量 回答数 1

1

回答

MongoDB的优化问题

2016-02-05 17:42:49 1690浏览量 回答数 1

1

回答

mongoDB查看推荐索引问题

2018-09-06 15:37:34 465浏览量 回答数 1

1

回答

关于mongodb的两个问题

2016-02-20 17:51:21 1973浏览量 回答数 1

1

回答

mongoDB创建新的空数据库存储问题

2016-02-01 17:52:12 2000浏览量 回答数 1
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载