`
san_yun
  • 浏览: 2663684 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mdrill内存管理改进

 
阅读更多

目前海狗的内存使用都是大块大块的(每个field约40~50MB),当查询一个较大的时间范围或者较多的列的时候,由于内存大小限制,要不断的进行LRU,把过期的数据从内存中淘汰出去。
淘汰的数据会被gc回收,也意味着会发生full gc,full gc的时候程序会暂停。

故 新的改进思路是这样的,像memcache那样,预先申请好固定大小块的内存,每次用的时候,直接从固定大小块的内存中取一个过来,标记为有人使用,不用的时候在放回去,标记为空闲,空闲的下次可以被其他对象使用。

但是有可能程序出现异常 ,这个放回去的操作没有执行,故采用WeakHashMap 依然进行回收管理。

申请固定的块会有一些内存的浪费,但是可以减少full gc的次数。

分享到:
评论

相关推荐

    Mdrill项目在lucene的改进上的10点心得1

    《Mdrill项目在Lucene改进的深度解析》 在大数据检索领域,Lucene作为一款强大的全文搜索引擎库,被广泛应用。然而,随着数据量的爆炸性增长,原生Lucene在处理大规模数据时暴露出一些问题,如内存占用过高、创建...

    mdrill源代码

    由于Mdrill已经停止开发,这是最新的版本了。 编译后,超过了文件大小限制,只好把源代码上传了,大家自己动手编译吧。 mdrill是由阿里妈妈开源的一套数据的软件,针对TB级数据量,能够仅用10台机器,达到秒级响应...

    mdrill的源代码

    mdrill是由阿里妈妈开源的一套数据的软件,针对TB级数据量,能够仅用10台机器,达到秒级响应,数据能实时导入,可以对任意的维度进行组合与过滤。 mdrill作为数据在线分析处理软件,可以在几秒到几十秒的时间,分析...

    alimama-adhoc.tar.gz(1)

    mDrill中lib缺少的jar文件。 将alimama.part1.rar、alimama.part2.rar两个文件下载下来之后解压出来将里面的lib中的jar复制到mdrill lib中

    延云YDB 大数据 万亿数据秒查

    延云的核心技术团队成员来自阿里巴巴和腾讯,他们是阿里巴巴Mdrill和腾讯Hermes的主要设计者与实践者。这些项目已经在实际应用中处理了超过数万亿条数据,证明了其在大规模数据处理方面的能力。 **2. YDB架构** ...

    分布式数据库实践(上)万亿数据库核心存储引擎实现与应用.pdf

    录信的分布式索引技术经历了阿里巴巴的Mdrill和腾讯的Hermes等项目的实战检验,已经在超过200套生产系统中稳定运行,包括十几个超万亿规模的系统。相比于传统的数据库分库分表方案,如Oracle和MySQL,以及固定分片数...

    基于Spark的大数据即席检索与分析.pptx

    - **分布式索引**:在HDFS之上构建分布式索引,这是技术的关键,经过阿里Mdrill和腾讯Hermes的验证,支撑超大规模数据库。 - **全栈数据库设计**:同一份数据,多种索引格式,系统自动选择适应的索引,以满足不同...

Global site tag (gtag.js) - Google Analytics