小编why*_*ous的帖子

创建索引需要很长时间

我在MongoDB中创建了一个由11446615个文档组成的集合.

每个文件都有以下形式:

{ 
 "_id" : ObjectId("4e03dec7c3c365f574820835"), 
 "httpReferer" : "http://www.somewebsite.pl/art.php?id=13321&b=1", 
 "words" : ["SEX", "DRUGS", "ROCKNROLL", "WHATEVER"],     
 "howMany" : 3 
}
Run Code Online (Sandbox Code Playgroud)

httpReferer:只是一个网址

单词:从上面的url解析的单词.列表的大小在15到90之间.

我打算使用这个数据库来获取具有类似内容的网页列表.

我将使用单词字段查询此集合,以便在此字段上创建(或者更确切地说,开始创建)索引:

db.my_coll.ensureIndex({words: 1})
Run Code Online (Sandbox Code Playgroud)

我开始创建索引大约3个小时前,它似乎不能再在3小时内完成.

如何提高索引速度?或者也许我应该完全使用另一种方法解决这个问题?欢迎任何想法:)

mongodb

15
推荐指数
1
解决办法
1万
查看次数

MongoDB:在单台机器上进行分片.是否有意义?

在MongoDB中创建了一个由11446615个文档组成的集合.

每个文件都有以下形式:

{ 
 "_id" : ObjectId("4e03dec7c3c365f574820835"), 
 "httpReferer" : "http://www.somewebsite.pl/art.php?id=13321&b=1", 
 "words" : ["SEX", "DRUGS", "ROCKNROLL", "WHATEVER"],     
 "howMany" : 3 
}
Run Code Online (Sandbox Code Playgroud)

httpReferer:只是一个网址

单词:从上面的url解析的单词.列表的大小在15到90之间.

我打算使用这个数据库来获取具有类似内容的网页列表.

我将使用单词字段查询此集合,以便在此字段上创建(或者更确切地说,开始创建)索引:

db.my_coll.ensureIndex({words: 1})
Run Code Online (Sandbox Code Playgroud)

创建此集合需要很长时间.我尝试了两种方法(以下测试在我的笔记本电脑上进行):

  1. 插入和索引插入花费5.5小时主要是由于cpu密集的数据预处理.索引需要30个小时.
  2. 插入前编制索引将所有数据插入集合需要几天时间.

我主要关注它减少生成集合的时间.我不需要复制(至少现在).查询也不必是快速的.

现在,问题的时间:

我只有一台机器有一个磁盘我可以运行我的应用程序.运行多个数据库实例并在它们之间拆分数据是否有意义?

sharding mongodb

8
推荐指数
2
解决办法
7876
查看次数

如何在运行测试之前运行任务

以下是摘自Build.scala

object MyProject {

  val projectSettings = inConfig(Test)(
    testOptions += Tests.Setup { _ =>
      //subproject/runMain a.b.c.d.MainClass ??
    }
  }

}
Run Code Online (Sandbox Code Playgroud)

我想在运行测试之前从另一个子项目运行一个主类。我怎样才能做到这一点?

scala sbt

4
推荐指数
1
解决办法
608
查看次数

Cassandra群集中出现意外的UnavailableException

  • 我有一个3节点C *集群。
  • C *客户端的读取一致性级别设置为QUORUM。
  • 当集群中的一个节点关闭时,我收到UnavailableException来响应读取的查询

为什么?由3个节点组成的群集的法定人数为2,因此它应处理一个节点的中断。

更多细节:

Cassandra版本:

ReleaseVersion: 1.1.6
Run Code Online (Sandbox Code Playgroud)

键空间和列族的配置:

Keyspace: QuestionAnswerService:
  Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
  Durable Writes: true
    Options: [datacenter1:2]
  Column Families:
  //...
  ColumnFamily: answersByQuestion
      Key Validation Class: org.apache.cassandra.db.marshal.BytesType
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Columns sorted by: org.apache.cassandra.db.marshal.BytesType
      GC grace seconds: 864000
      Compaction min/max thresholds: 4/32
      Read repair chance: 1.0
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: default
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options: …
Run Code Online (Sandbox Code Playgroud)

cassandra astyanax

2
推荐指数
1
解决办法
3405
查看次数

在 Elixir 中连接位串

这段代码抛出错误:

 iex(35)> a = <<18::size(7)>>
     <<18::size(7)>>
 iex(36)> b = <<100::size(7)>>
     <<100::size(7)>>
 iex(37)> <<a <> b>>
     ** (ArgumentError) argument error
Run Code Online (Sandbox Code Playgroud)

为什么这段代码失败了?

如何使用变量连接位串?

(我根据mudasobwa的评论更新为示例)

elixir binary-data

1
推荐指数
1
解决办法
607
查看次数

标签 统计

mongodb ×2

astyanax ×1

binary-data ×1

cassandra ×1

elixir ×1

sbt ×1

scala ×1

sharding ×1