Performance optimization with Lucene4.0

简介: 假期重新把之前在新浪博客里面的文字梳理了下,搬到这里

Performance optimization with Lucene4.0
原文链接http://www.google.com.hk/url?sa=t&rct=j&q=performance+optimization+with+lucene+4&source=web&cd=1&ved=0CDYQFjAA&url=http://archive.apachecon.com/eu2012/presentations/06-Tuesday/PR-Lucene/aceu-2012-lucene-4-performance-tuning.pdf&ei=axTMUPO9E8yViAfo_oDYDQ&usg=AFQjCNG4lXwTLU-MAl6czbUHhIrdez7AzQ&bvm=bv.1355325884,d.aGc&cad=rjt
该报告中不少亮点,例如:
1 Pluggable Codecs
2 Per Document Values
DocValues
3 Concurrent Flush  
无锁多线程写索引
4 Multiple Scoring Models flexible ranking
排序调优接口的开发、经典模型的调参
5 New Term Dictionary
6 From UTF-16 to UTF-8  no string ojbects anymore

最为关心的对应用来说,查询的性能相关
7 500% faster Filter
8 100x to 200x  FuzzyQuery
9 reduces memory footprint 30x
10 10x faster than FieldCache for a float field
11
近似2倍的索引构建性能提升

实践中
1
倒排结构的 可侵入,意味着倒排的结构细粒度的可控,针对具体数据类型。例如key-value型突出的,可以
针对性去掉一些信息
2
各部分codec的可以选择,意味者对特定的数据结构可以采取特定的优化编码
3
得分模型的可配置和可调参,意味着排序的灵活性和更加有针对性的可定制化
4
整个代码结构和接口命名更加规范,便于理解和扩展
5
第三方包的丰富和增强,拿来用成本更低
6 collector
的可定制,为查询优化开了一个极大地口子
7
方便新技术的实验,例如SSD的扩展,针对SSD特性指定有效的存储结构
8
新的结构更加松散和清晰,意味着lucene C++版本搜索借鉴,成本大大降低

目录
相关文章
|
1月前
|
存储 关系型数据库 MySQL
Optimization and Indexes
MySQL通过索引快速定位具有特定列值的行,避免全表扫描,提高查询效率。常用的索引如PRIMARY KEY、UNIQUE等大多存储在B树中,特殊情况使用R树或哈希索引。索引帮助快速匹配WHERE子句条件的行,减少候选行数,并在多列索引和表连接操作中优化查询。具体特性如B树和哈希索引的比较见特定章节。
|
5月前
|
缓存 监控 前端开发
Performance Optimization
Performance Optimization
81 2
|
5月前
|
Oracle 关系型数据库
Adaptive Query Optimization
Adaptive Query Optimization
35 4
sbs
|
存储 SQL 人工智能
The Volcano Optimizer Generator: Extensibility and Efficient Search 论文翻译
原文:The Volcano Optimizer Generator: Extensibility and Efficient SearchThe Volcano Optimizer Generator: Extensibility and Efficient Search 论文翻译。2023.01.25 —— by zz【中括号内为译者注】对原文部分关键术语,或重点句有加粗。便于定位。为了避免英
sbs
248 0
The Volcano Optimizer Generator: Extensibility and Efficient Search 论文翻译
sbs
|
SQL 存储 监控
One SQL to Rule Them All: An Efficient and Syntactically Idiomatic Approach to Management of Streams and Tables 论文翻译
One SQL to Rule Them All: An Efficient and Syntactically Idiomatic Approach to Management of Streams and Tables[文件: One SQL to Rule Them All- An Efficient and Syntactically Idiomatic Approach to Manag
sbs
205 0
One SQL to Rule Them All: An Efficient and Syntactically Idiomatic Approach to Management of Streams and Tables 论文翻译
|
SQL 存储 算法
《Optimization of Common Table Expressions in MPP Database Systems》论文导读
Optimization of Common Table Expressions in MPP Database Systems
《Optimization of Common Table Expressions in MPP Database Systems》论文导读
|
存储 缓存 算法
|
SQL 监控 算法
Adaptive Execution of Compiled Queries 论文解读
本篇是TUM的内存数据库HyPer针对compile-based执行框架的改进。其中涉及到HyPer的动态编译和并行执行框架 动态编译文章的结尾提到了编译执行系统存在的2个问题,其中之一就是:不可控的编译时间。
487 0
Adaptive Execution of Compiled Queries 论文解读
|
算法 大数据 数据库
The Volcano Optimizer Generator : Extensibility and Efficient Search
数据库查询优化器的搜索技术,基本上分为了基于动态规划的bottom-up search(详见文章System-R论文解读)和基于Cascades/Volcano的top-down search两个流派,这篇文章我们来看一下Cascades的前身也就是Volcano优化器框架的paper。
529 0
The Volcano Optimizer Generator : Extensibility and Efficient Search
|
算法 关系型数据库 MySQL
Fundamental Techniques for Order Optimization
这是一篇1996年的老paper了,主要讲解了IBM DB2如何针对query当中的有序性进行优化。但对于后续physical property的优化有较为深远的影响,由于DB2的优化器起源于System-R以及其后续演进的starburst,因此延续了system-R中的interesting order和order property的概念。关于system-R的介绍请看之前的文章。 order这种physical property并不只限于order by算子,基于有序的group by/distinct等,都会利用到数据的排序操作,而排序本身就是比较昂贵的计算,因此应该对其做尽可能的优化
222 0
Fundamental Techniques for Order Optimization