首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每天对数百万次更新的SolrCloud可伸缩性

每天对数百万次更新的SolrCloud可伸缩性
EN

Stack Overflow用户
提问于 2017-03-18 16:45:22
回答 1查看 206关注 0票数 0

在目前的体系结构中,我们使用基于碎片的db modelMYSQL和一个Solr服务器云模式,它有32 GB的内存,可以容纳1000万个条目的切分数据。由于计算逻辑上的业务需求,应用程序需要每天对每个碎片执行完整的重新索引。为了执行完整的重新索引,我们创建了临时solr服务器,并将索引数据交换给solr服务器。这种做法行之有效,我们没有遇到任何问题。

由于我们将从关系数据模型移到nosql模型,因此我们计划使用Solr,因为基于碎片的模型正在消失。我非常关注Solr云每天如何支持2亿次更新。在这些更新过程中,相同的solr服务器还负责为数百万get业务操作请求提供服务。

  • Solr服务器数目: 30
  • 每个服务器上的内存/RAM: 32 GB
  • 每个服务器的大小:4-10百万项4至20 GB

有人会建议我们,SolrCloud是否会在为get请求提供服务的同时,维持每天2亿项的更新?

EN

回答 1

Stack Overflow用户

发布于 2017-03-18 21:46:46

更新文档时,SOLR将将旧版本标记为已删除,并插入新版本。任何查询都找不到已删除的文档( **查询只返回未删除的文档),但它们仍然占用磁盘空间,并且会减慢搜索速度(通过炸毁筛选查询的位图)。

SOLR索引被分解成不同大小的段。偶尔会合并一些段,这也会从这些段中删除已删除的文档。

但问题是,段越大,合并越少,被删除的文档就越多。

我们运行一个SOLRCloud安装程序,主集合中有60兆个文档,分成6个碎片,磁盘上的总集合大小为30-50 GB,每天更新约30兆次;每个集群由两个8核128 GB服务器组成。

我们解决这个问题的方法是确保我们设置中的每个碎片小于10 GB。为此,我们有三个SOLR实例在每个服务器上独立运行(端口8983、8984和8985)。当每个碎片低于10 GB时,SOLR的合并段机制对我们非常有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42877081

复制
相关文章

相似问题

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