druid vs elasticSearch druid 和es 对比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了druid vs elasticSearch druid 和es 对比相关的知识,希望对你有一定的参考价值。

参考技术A druid api这么说:

我们不是搜索领域的专家,如果我们的描述不正确,请发邮件或者通过其他方式告知。

es 是一个基于apache lucene 的搜索引擎。它提供了针对scheme-free 文档的全文搜索,提供看了对原始事件数据的访问。eses逐渐的增加了更多对于Fenix和聚合的支持。一些社区的成员指出:

es相比druid,在数据的获取和聚合方面需要的资源更多。

另外 es 在数据获取阶段不支持数据的汇总和汇聚,汇总和汇聚压缩数据。这就导致了es 需要更大的存储。

druid 致力于OLAP 工作流。druid 在低成本的基础上为了高性能(快速的聚合和数据获取)做了优化,而且支持更多的分析操作。对于结构化的事件数据,druid 也有一些基础的搜索的支持,但是不支持全文的搜索。druid 也不支持完全的非结构化的数据。查询的维度必须在drudi的schema中进行定义,比如 汇总和roll-up 的实现。

数据库连接池选型 Druid vs HikariCP

数据库连接池选型 Druid vs HikariCP

这里主要比较HikariCP 和阿里的Druid

这里有来自Druid的竞品对比:https://github.com/alibaba/druid/wiki/Druid%E8%BF%9E%E6%8E%A5%E6%B1%A0%E4%BB%8B%E7%BB%8D

springboot 现在官方默认的数据库连接池是 HikariCP,HikariCP的性能从测试的数据上来看也是最高的。

数据库连接池选型 Druid vs HikariCP

所以我们主要对比Druid和HikariCP

先来看下这个著名的issue

  • 一个印度小哥提的 issue
数据库连接池选型 Druid vs HikariCP
  • brettwooldridge 这边主要针对性能和在中国以外的地方用的少的问题
数据库连接池选型 Druid vs HikariCP
数据库连接池选型 Druid vs HikariCP
  • 温绍这边说,由于使用公平锁所以降低了性能,至于为什么是因为在生产环境中遇到的一些问题,使设计使然。
数据库连接池选型 Druid vs HikariCP
  • 温绍同时也强调我们淘宝体量大,并发高,顺便甩了个带有马爸爸照片的链接,让他了解一下淘宝
数据库连接池选型 Druid vs HikariCP 数据库连接池选型 Druid vs HikariCP
  • brettwooldridge 这边回应 :比量是吧?(内心潜台词)
    • wix.com托管着超过1.09亿个网站,每天处理的请求超过10亿个
    • Atlassian的产品拥有数百万的客户
    • HikariCP是使用Play框架,Slick,JOOS构建的每个应用的默认连接池
    • 老子现在是spring boot的默认连接池
    • HikariCP每月从中央Maven存储库中解析超过300,000次。
数据库连接池选型 Druid vs HikariCP
  • 同时也甩了个链接,让你看看我HikariCP的名望

看完热闹,说回正题

  • 功能角度考虑,Druid 功能更全面,除具备连接池基本功能外,还支持sql级监控、扩展、SQL防注入等。最新版甚至有集群监控
  • 单从性能角度考虑,从数据上确实HikariCP要强,但Druid有更多、更久的生产实践,它可靠。
  • 单从监控角度考虑,如果我们有像skywalking、prometheus等组件是可以将监控能力交给这些的 HikariCP 也可以将metrics暴露出去。

总结

由于我们的系统架构上有专门用于监控的系统(skywalking、prometheus),外加使用了阿里云的RDS,RDS也有完整数据库监控指标。所以我们可以将监控的功能交给这些系统,让数据库连接池专心做好连接池的本职工作,所以我们选择性能更好的 HikariCP 做为数据库连接池。由于我们使用了Spring boot ,HikariCP 是内置的,也更方便配置使用,能做到开箱即用。




以上是关于druid vs elasticSearch druid 和es 对比的主要内容,如果未能解决你的问题,请参考以下文章

Druid.io系列:架构剖析

Druid 在小米公司部分技术实践

Druid 在小米公司部分技术实践

分布式 关于 druid 连接池参数问题

java sql解析器比较druid sql parser vs jsqlparser vs fdb-sql-parser

SpringBoot整合Druid数据源