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. [硬核] Bootstrap Blazor Table 综合演示例子

    知识点: 1.导入导出 2.分页功能 3.增删改查 4.批量删除 5.批量编辑(审核) 6.列排序与列搜索 7.顶部搜索实现所有列搜索 8.高级搜索实现多条件搜索 9.顶部与刷新与视图列 10.实现文 ...

  2. 使用动态输出打印内核的DEBUG信息

    简介 printk()是很多嵌入式开发者喜欢用的调试手段之一,但是,使用printk()每次都要重新编译内核,很不方便.使用动态输出在不需要重新编译内核的情况下,方便的打印出内核的debug信息. 要 ...

  3. Java遍历Map集合

    Java遍历Map集合简单例子 import java.util.*; public class Main { public static void main(String[] args) { Has ...

  4. mysql中的列类型

    创建数据表的时候,指定的列可以存储的数据类型: CREATE TABLE book ( bid  列类型); ① 数值类型--可以不加引号 TINYINT 微整型,占一个字节  范围-128~127 ...

  5. 一键部署nfs、rsync、sersync

    一键部署nfs.rsync.sersync 项目代码: 链接:https://pan.baidu.com/s/13I0BBAYsdK-KmPekZ5VpdA 提取码:u2tw --来自百度网盘超级会员 ...

  6. Idea未识别maven项目

    https://blog.csdn.net/qq_41460654/article/details/120539509

  7. 线程基础知识02-CompletableFuture

    1 简介 Futrue可以监视目标线程调用call的情况,当你调用Future的get()方法以获得结果时,调用方的线程就被阻塞,直到目标线程的call方法结束并返回结果. 线程的实现方式有几种方式, ...

  8. 学习Java Day2

    今天学习了Java常量的关键字,与C/C++不同,Java是final,而且Java的常量一般用全大写表示:也学习了枚举变量,运算符,数学函数与常量,其中大多知识与C/C++相同,但是Java还提供M ...

  9. 学习Java Day22

    今天学习了如何在包中增加类,想要将包放入类中,就必须将包的名字放在源文件的开头,即放在定义这个包中各个类的代码之前

  10. P5787 二分图 /【模板】线段树分治

    \(\text{Solution}\) 线段树分治的模板 对时间分治,线段树下标表示时间 在线段树上处理每条覆盖当前区间的边,对当前的时间区间求答案 小区间的信息可以由大区间一路下来得到,那么答案就是 ...