Apache Duid学习笔记2

1.历史节点的查询效率与内存数据比成正比,内存越大则读取磁盘的次数越少,

历史节点内存越大总数据量越小则查询速度越快。

2.缓存机制可以选择外部和内部缓存,外部缓存如:memcached,内部缓存可以选择查询节点(broker)或历史节点(historical),

如果选择查询节点作为缓存则查询时首先访问查询节点的cache,只有当不命中时才会访问历史节点与实时节点

3.一般druid集群只需要一个查询节点即可,如果需要高可用可以多加一个查询节点。

4.副本解决当某个历史节点故障时其上的数据短暂不可用的问题。

协调节点会将故障节点上的数据重新分配给其他节点,但是存在延时。多个协调节点做负载均衡可以保证协调节点的高可用。

5.indexing-service使用主从架构,其中统治节点(overload)为主节点,中间管理者(Middle-manager)为从节点。

6.关于自动删除数据: If you just want to retain recent data, you can use this rule to drop the old data

that before a specified period and add a loadForever rule to follow it. Notes, dropBeforeByPeriod + loadForever

is equivalent to loadByPeriod(includeFuture = true) + dropForever.

7.druid支持http请求压缩和响应压缩 Content-Encoding:gzip and Accept-Encoding:gzip,对于结果集返回较大的情况可以使用

http响应压缩,从而节省带宽提升查询速度。

8.关于段大小: it's generally recommended for each segment to have around 5 million rows。

Segment byte size: it's recommended to set 300 ~ 700MB,如果行数和大小这两个值不匹配则修改行数。

查看段行数和大小的语句:

SELECT
"start",
"end",
version,
COUNT(*) AS num_segments,
AVG("num_rows") AS avg_num_rows,
SUM("num_rows") AS total_num_rows,
AVG("size") AS avg_size,
SUM("size") AS total_size
FROM
sys.segments A
WHERE
datasource = 'your_dataSource' AND
is_published = 1
GROUP BY 1, 2, 3
ORDER BY 1, 2, 3 DESC;

9.关于Null:配置druid.generic.useDefaultValueForNull When set to true, null values will be stored as ''
for string columns and 0 for numeric columns. Set to false to store and query data in SQL compatible mode
配置默认值为true,使用中需要将此值设置为false。
10.druid内部组件使用http互相通信,其中配置druid.global.http.numMaxThreads为Maximum number of I/O worker threads,
默认值为max(10, ((number of cores * 17) / 16 + 2) + 30),如果k8s指定分配资源则需要手动计算此值并设置。

Apache druid笔记的更多相关文章

  1. Apache Druid 的集群设计与工作流程

    导读:本文将描述 Apache Druid 的基本集群架构,说明架构中各进程的作用.并从数据写入和数据查询两个角度来说明 Druid 架构的工作流程. 关注公众号 MageByte,设置星标点「在看」 ...

  2. Apache Druid 底层存储设计(列存储与全文检索)

    导读:首先你将通过这篇文章了解到 Apache Druid 底层的数据存储方式.其次将知道为什么 Apache Druid 兼具数据仓库,全文检索和时间序列的特点.最后将学习到一种优雅的底层数据文件结 ...

  3. Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现

    Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现 前言 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供 ...

  4. CVE-2021-25646:Apache Druid远程命令执行漏洞复现

    漏洞概述 Apache Druid 是一个分布式的数据处理系统.Apache Druid包括执行用户提供的JavaScript的功能嵌入在各种类型请求中的代码.在Druid 0.20.0及更低版本中, ...

  5. 大数据实时多维OLAP分析数据库Apache Druid入门分享-上

    @ 目录 概述 定义 MPP和Lambda补充说明 概述 特征 适用场景 不适用场景 横向对比 部署 单机部署 入门示例 概述 定义 Apache Druid 官网地址 https://druid.a ...

  6. 大数据实时多维OLAP分析数据库Apache Druid入门分享-下

    @ 目录 架构 核心架构 外部依赖 核心内容 roll-up预聚合 列式存储 Datasource和Segments 位图索引 数据摄取 查询 集群部署 部署规划 前置条件 MySQL配置 HDFS配 ...

  7. Apache shiro 笔记整理之web整合一

    下面内容是在看了涛哥的<跟我一起学shiro> 和 视频<一头扎入进shiro> 后整理出来备忘和方便自己和其它人学习. 个人主页:http://www.itit123.cn/ ...

  8. Apache 学习笔记(心得)

    http://blog.csdn.net/btbtd/article/details/288027#2 # 分类:# 01.常规设置# 02.虚拟主机# 03.<Directory> + ...

  9. 版本控制Subversion TortoiseSVN apache VisualSVN笔记(转载)

    转载于http://blog.sina.com.cn/s/blog_6b94d5680101m7ah.html Subversion(简称svn)是近年来崛起的版本管理软件,是cvs的接班人.目前,绝 ...

  10. apache cxf笔记之Spring客户端访问和调用webservice服务

    继续上次的spring服务的问题,这边介绍一种spring配置客户端的方法. 1.src目录下新建client-beans.xml文件 <?xml version="1.0" ...

随机推荐

  1. AcWing第85场周赛

    这场周赛是手速局hh 死或生 某国正在以投票的方式决定 2 名死刑犯(编号 1∼2)的生死. 共有 n 组人员(编号 1∼n)参与投票,每组 10 人. 每组成员只参与一名死刑犯的投票,其中第 i 组 ...

  2. S2-052 CVE-2017-9805 远程代码执行

    漏洞名称 S2-052 CVE-2017-9805 远程代码执行 利用条件 Struts 2.1.6 - Struts 2.3.33 Struts 2.5 - Struts 2.5.12 漏洞原理 S ...

  3. [数据结构]Dijkstra算法求单源最短路径

    概念 求带权有向图中某个源点到其余各个顶点的最短路径,最常用的是Dijkstra算法.该算法设置一个集合S记录已求得的最短路径的顶点,可用一个数组s[]来实现,初始化为0,当s[Vi]=1时表示将顶点 ...

  4. Matplotlib学习笔记2 - 循序渐进

    Matplotlib学习笔记2 - 循序渐进 调整"线条" 在Matplotlib中,使用plot函数绘制的线条其实是一种特定的类,matplotlib.lines.Line2D. ...

  5. 请务必注意精度不一样,就不相等(float 与double)

    即使两个小数显示的值是一样的,但是类型不一要样,精度不一样实际上是不一样的 就比如下面这段代码: #include <iostream> #include <cstring> ...

  6. 【数据结构和算法】Trie树简介及应用详解

    作者:京东物流 马瑞 1 什么是Trie树 1.1 Trie树的概念 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经 ...

  7. 学习python的编程语言

    前言 那么多编程语言,为什么学python 易于学习,是所有编程语言当中最容易学习的 没有最好的语言,只有最合适的语言 第一章 python基础 1. 课程整体介绍 课程整体介绍 python编程基础 ...

  8. java跨域问题解决

    问题描述:在使用前后端分离的情况下,前端访问后端时会出现跨域问题 解决方式: 1.设置跨域 1).单个控制器方法CORS注解 在单个方法中加入注解@CrossOrigin. 2).整个控制器启用COR ...

  9. 2 .NET Core笔试题

    1.说说在Linux系统部署ASP.NET Core项目的步骤. 2.说说热重载是什么. 3.如何理解鉴权和授权两个词 4.说说.NET7包含了几大方向的开发? 5.如何理解云原生? 6.ASP.NE ...

  10. JZOJ 3207.Orthogonal Anagram

    \(\text{Problem}\) 给出一个字符串,求经过重新排列的另一个字典序最小的字符串,满足:相同的位置上 原串与结果串的字符不同.不存在则输出空串. \(\text{Solution}\) ...