clickhouse
深山猿
不断进化的深山猿
展开
-
几种数据库的timeout含义及配置
不同数据库中socketTimeout作用于配置JDBC使用socket与数据库连接,数据库并不对应用与数据库间的连接超时进行处理。JDBC的socket timeout在数据库被突然停掉或是发生网络错误(由于设备故障等原因)时十分重要。由于TCP/IP的结构原因,socket没有办法探测到网络错误,因此应用也无法主动发现数据库连接断开。如果没有设置socket timeout的话,应用在数据...原创 2019-10-17 17:08:04 · 7214 阅读 · 0 评论 -
clickhous原理解析与使用
clickhouse简要介绍ClickHouse是一个超高性能的海量数据快速查询的分布式实时处理平台,在数据汇总查询方面(如GROUP BY),ClickHouse的查询更快,因此通常情况下在MySQL上进行聚合。刚好现在有如下场景:每日千万条记录,,需要按条件筛选和聚合,对记录进行数据分析,只有写入和查询,没有数据更新很明显的MySQL无法支持,所以选用了clickhouse,并且比Ve...原创 2020-03-31 22:31:07 · 6236 阅读 · 0 评论 -
大量数据带筛选条件的正确分页方案
场景:clickhouse中两千万条记录,需要用查询条件筛选记录,条件命中的条数从几十到几百万不等,然后分页展示筛选到的记录第一种分页做法:先根据筛选条件获取满足条件记录的id,并且对id在sql中排序(避免大量数据内存中排序,很慢、很耗性能),取到分页对应的id;再根据id查询对应的记录,此时如果id对应的记录在库中很离散,那么会再次全表遍历;问题:获取满足条件的所有id会有一次全表扫描,...原创 2018-12-29 15:27:55 · 12762 阅读 · 0 评论 -
clickhouse的索引结构和查询优化
clickhouse存在很多引擎,下面的所有内容基于MergeTree引擎首先看下官网的主键相关内容:索引效用实例-以MergeTree 为例MergeTree 系列的引擎,数据是由多组部分文件组成的,一般来说,每个月(译者注:CK目前最小分区单元是月)会有几个部分文件(这里的部分就是块)。每一个部分的数据,是按照主键进行字典序排列。例如,如果你有一个主键是(CounterID,D...原创 2019-01-09 19:41:50 · 60243 阅读 · 3 评论