SolrLucene超过300G索引优化参考

简介: 假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。本文分享大索引优化实践经验。

SolrLucene 默认的只要磁盘、内存足够大,单节点是可以构建300G的索引,但是很明显,后面索引构建的速度慢下来了。下面结合具体业务场景分享几个思路。


总结描述  

300G索引,首先想到的是分片。  300G索引,既然分片了,自然是希望在单节点上,这样merge代价降低  300G索引,分片后,在较好的物理机上,自然是分盘,分担IO


解决方案参考  

A: 实时写比例远大于实时读   

首先将索引,按照某种策略执行分片,在solr既可以是core层次分,也可以是core内部分多子目录   实时写,从配置上对增量的路径执行多盘配置,然后写入索引,可以完全随机或者一定策略分布写盘   实时查询,根据策略执行磁盘的主索引和对于增量索引的merge

 
core层分片优势,可以执行lazy加载core,这对于日子类型的,只写不改的,可以充分发挥磁盘和内存利用率。

 
B:实时读写比较相当,二者量都非常大的时候  

首先也是索引的按某种策略分片,在solr即可core层次分,也可以core内部分多子目录(我们是自己改写了)  全量的索引,离线集群构建。  实时写,建议不采取物理机,而是虚拟机,管理多台虚拟机比少量物理机可能效果更好。  这个时候,物理机多磁盘、多核交由 虚拟化 来管理了。  如果仍然存在多盘的 虚拟机,那么针对实时的commitlog,参照A的场景配置多盘符路径,    使得多个磁盘均分IO

3)场景用例简要说明  

A:日志搜索    

每天新增50G以上的新数据构建索引,数据内容就是系统日志。保留最近7天的内容。响应时间3s以内!      


解决方案:    

 14core,每天2core分担增量数据,其他core按照查询 天来执行query      每天定时切换一组(2个)core  


Bkey-value搜索    

每天新增1000w,每天全量,响应时间50ms,大翻页支持     解决方案        

N多个coreN多个子组,每个core管理多个子组        

全量离线并行构建(去掉锁、不落地、调整merge策略是关键),增量写入对应core、对应的子组

目录
相关文章
|
2天前
|
缓存 关系型数据库 MySQL
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
|
1月前
|
存储 Oracle 关系型数据库
【实操】单表数据量 200 GB,PostgreSQL 怎么应对??
【实操】单表数据量 200 GB,PostgreSQL 怎么应对??
75 1
|
6月前
|
缓存 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
1031 0
|
6月前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
282 0
|
4月前
|
SQL 运维 数据库
MSSQL性能调优实战:索引策略优化、SQL查询精细调整与并发管理
在Microsoft SQL Server(MSSQL)的运维与优化过程中,性能调优是确保数据库高效运行的关键环节
|
5月前
|
存储 关系型数据库 分布式数据库
PolarDB产品使用问题之在处理超过5000万条记录的查询时,性能表现如何
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
6月前
|
SQL 存储 关系型数据库
深分页怎么导致索引失效了?提供6种优化的方案!
深分页怎么导致索引失效了?提供6种优化的方案!
|
6月前
|
运维 测试技术 数据处理
Elasticsearch 优化查询中获取字段内容的方式,性能提升5倍!
Elasticsearch 优化查询中获取字段内容的方式,性能提升5倍!
67 0
|
6月前
|
存储 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT *、分页查询的优化、合理使用连接、子查询的优化)(上)
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT *、分页查询的优化、合理使用连接、子查询的优化)(上)
1168 0
|
存储 缓存 关系型数据库
更快的查询 | MySQL百万数据优化(索引调优)
mysql百万数据查询优化, 索引调优, 索引失效等问题 , 这篇文章来为你解答
324 0