【发布时间】:2010-10-03 00:57:34
【问题描述】:
我从昨天开始就在玩 MongoDB,并且非常喜欢它。我正在尝试导入大量数据(20 亿行)并将其编入索引,但它似乎没有使用我的系统具有的 8 个内核,并且导入以正常速率(60000 条记录/秒)进行。我只能想象索引这个集合中的两列可能需要多长时间。是否有任何 MondoDB 类型的数据库利用 CPU 的多核特性?
【问题讨论】:
-
我认为你不能一次有效地处理来自多个核心的数据插入。
-
@zneak:我实际上是在考虑将数据插入到多个集合(表)中。只是我不确定以这种方式分开是否有益。我的意思是,我不会在大表上添加索引,而是创建许多小表,然后在每个小表上创建索引。然后从前端,我将查询所有表以获取所需的值。您对这种方法有什么建议吗?
-
我不是 NoSQL 专家。我所知道的是,您不能安全地修改来自多个线程的数据而不锁定它,因此我的评论。 :/对不起,我无能为力。 (不过,我也知道您应该填充集合,然后创建索引。否则,您会浪费大量时间在每次插入时重新索引数据。)
-
@zneak:是的。谢谢你的指点。我没有索引它。我让它运行,现在它完成了插入大约 15 亿个 :) 虽然不确定构建索引需要多长时间......再次感谢您的帮助。