不二人生
刀光剑影江湖情,摧枯拉朽浪滔滔。功名利禄拂衣去,山高水远路迢迢。一个上得了厅堂下得了厨房、左手写诗右手写词的男人
展开
-
滴滴基于 Clickhouse 构建新一代日志存储系统
将日志从 ES 迁移至 CK 不仅可以显著降低存储成本,还能提供更快的查询体验。经过一年多的建设和优化,系统的稳定性和性能都有了显著提升。然而,在处理模糊查询时,集群的资源消耗仍然较大。未来,我们将继续探索二级索引、zstd 压缩以及存算分离等技术手段,以进一步提升日志检索性能。原创 2024-03-20 13:46:38 · 33742 阅读 · 0 评论 -
ClickHouse—函数汇总
前面我们介绍了ClickHouse的众多函数,这里我们将这些函数全部整理总结一下原创 2022-11-12 09:59:40 · 37375 阅读 · 0 评论 -
Clickhouse—MergeTree 数据生命周期
今天我们主要介绍MergeTree的数据生命周期,Clickhouse 对数据生命周期的管理分为表级和字段级。以及TTL背后的原理,本质上是维护了TTL 的队列按照时间顺序对过期数据进行清理。原创 2022-11-10 20:07:35 · 37320 阅读 · 0 评论 -
Clickhouse—数据字典
Clickhouse 数据字典在Clickhouse 中有很多经典应用,它提供的功能有点类似Map-Join ,可以参考数仓工具—Hive语法之map join、reduce join、smb join, 所以比较适合。 相当于区域数据的主表,由1个 regions_hierarchy.txt 和多个 regions_hierarchy_[name].txt 区域层次的数据文件共同组成,缺一不可。其中 [name] 表示区域标识符,与i18n类似。这些TXT文件内的数据需要使用 TabSeparated 格原创 2022-11-01 08:51:34 · 36470 阅读 · 0 评论 -
Clickhouse—数据字典
Clickhouse 数据字典在Clickhouse 中有很多经典应用,它提供的功能有点类似Map-Join ,1. 字典表适合数据量较少场景,可以避免join ,对于非要join 不可的场景可以做打宽表来处理2. 早期的Clickhouse 版本是通过配置文件(XML)来实现字典的,这个时候只能通过字典函数来访问,后面字典表的出现可以让我们像访问普通表一样访问字典数据,这个时候字典表其实就是字典的一个代理,从而可以很方便的实现数据的join3. 字典库引擎主要解决了字典表过多的情况下通过配置文件来配置原创 2022-10-31 09:36:32 · 36212 阅读 · 0 评论 -
Clickhouse—时间窗口函数
Clickhouse 主要提供了滚动时间窗口函数tumble和滑动窗口时间函数hop,今天我们主要介绍了时间窗口函数的使用只不过我们的例子都很简单,后面如果有其他用到的场景我们再对文章进行补充。原创 2022-10-30 07:57:16 · 36532 阅读 · 0 评论 -
Clickhouse—其他函数
熟练使用Clickhouse函数是我们掌握Clickhouse的第一步,例如其实对url 的处理挺常见的,Clickhouse也为我们提供了这样的函数。原创 2022-10-28 07:33:52 · 37661 阅读 · 0 评论 -
Clickhouse—聚合函数组合
我们在聚合函数的基础上加上一定的组合条件可以改变原来聚合函数的工作方式,例如汇总满足条件的数据,所以组合的方式可以简化SQL 的写法。原创 2022-10-27 07:56:16 · 37354 阅读 · 0 评论 -
Clickhouse—聚合函数
主要介绍了Clickhouse 的聚合函数,很多常见的我们都见过了,但是也有一些是Clickhouse特有的或者是不常见的例如topK,有个印象即可。原创 2022-10-26 08:09:08 · 37123 阅读 · 0 评论 -
Clickhouse—数组函数
我们可以看到Clickhouse针对数组这个复合类型的数据类型还是提供了大量的函数,其实你如果了解Hive 的话,那你应该知道Hive 的数组函数是非常少的。原创 2022-10-25 07:33:37 · 38174 阅读 · 0 评论 -
Clickhouse—算数函数/哈希函数/条件函数 运算符
这节主要介绍了下面几种函数与运算符数学函数逻辑运算符和比较运算符哈希函数条件函数。原创 2022-10-24 08:17:15 · 37407 阅读 · 0 评论 -
Clickhouse—字符串函数
同时间一样,字符串也是Clickhouse的基础数据类型,所以Clickhouse也提供了大量的字符串函数,这里的函数还是比较多的,只需要记住几个常用的,其余的都可以在需要的时候查找即可。原创 2022-10-23 07:38:55 · 37841 阅读 · 0 评论 -
Clickhouse—时间函数
Clickhouse关于时间函数这里也比较多,只需要记住几个常用的,其余的都可以在需要的时候查找即可。原创 2022-10-22 17:16:32 · 38052 阅读 · 0 评论 -
Clickhouse—DDL 操作
数据分区是针对本地数据而言的,是数据的一种横向切分借助数据分区,在后续的查询过程中能够跳过不必要的数据目录,从而提升查询的性能。合理地利用分区特性,还可以变相实现数据的更新操作,因为数据分区支持删除、替换和重置操作。MergeTree 家族系列的表引擎才支持数据分区。合理使用分区可以提高查询效率,但使用分区粒度不应过细,否则会致分区过多反而影响性能。其实我们在hive 里面也介绍过分区表,下面是ck 分区表的创建方式。原创 2022-10-21 12:32:40 · 37558 阅读 · 0 评论 -
ClickHouse—DML操作
前面我们介绍ClickHouse 的时候就说过ClickHouse 写入最后不要一秒钟不要超过一个批次,或者是按照批次写入ClickHouse 的修改和删除是一个比较重的操作,而且是个异步操作,所以这个过程可能会看到脏数据从这个特点我们看出来ClickHouse比较适合一次写入多次读取的场景,也就是典型的OLAP 场景。原创 2022-10-20 11:51:15 · 37685 阅读 · 0 评论 -
ClickHouse—复合数据类型
Enum 类型以二进制读取和写入的方式与Int8和Int16类型一样的。当以文本方式读取的时候,ClickHouse 将值解析成字符串然后去枚举值的集合中搜索对应字符串。如果没有找到,会抛出异常。当读取文本格式的时候,会根据读取到的字符串去找对应的数值。如果没有找到,会抛出异常。当以文本形式写入时,ClickHouse 将值解析成字符串写入。如果列数据包含垃圾数据,则抛出异常。在ORDER BY,GROUP BY,IN,DISTINCT等等中,Enum 的行为与相应的数字相同。例如,按数字排序。原创 2022-10-19 11:40:34 · 37985 阅读 · 0 评论 -
Clickhouse—基础数据类型
ClickHouse 可以在数据表中存储多种数据类型。本节描述 ClickHouse 支持的数据类型,以及使用或者实现它们时(如果有的话)的注意事项。你可以在系统表 system.data_type_families中检查数据类型名称是否区分大小写。我们可以看到整个ClickHouse 有高达131中数据类型Clickhouse 中提供了大量的数据类型以满足我们在不同场景下的需求。原创 2022-10-17 13:59:49 · 38029 阅读 · 0 评论 -
Clickhouse—基础架构
首先介绍了ClickHouse的集群结构,可以理解为peer 2 peer ,这样就没有单点问题了其次介绍了ClickHouse 内部结构,我们理解了数据是怎么表示和处理的。原创 2022-10-16 20:50:47 · 38719 阅读 · 0 评论 -
Clickhouse—实用工具obfuscator
obfuscator 可以在一定程度上抹去数据的真实性,但是保留数据的很多特性,以供我们完成一些测试工作,当然我们也可以在其他的一些场景下借助obfuscator完成数据安全的工作。原创 2022-10-16 11:36:04 · 38471 阅读 · 0 评论 -
Clickhouse—实用工具
clickhouse-server和clickhouse-client 分别是服务端和客户端是我们要重点掌握的clickhouse-local 应用场景比较受限,没有很好的使用场景clickhouse-benchmark 和 clickhouse-copier 是我们需要掌握的clickhouse-compressor 和 clickhouse-format 知道有这个东西就行了。原创 2022-10-15 22:53:08 · 38216 阅读 · 0 评论 -
ClickHouse—物理机部署
今天主要介绍了ClickHouse的Mac部署,不过我们进一步熟悉了ClickHouse 的数据目录相关的东西,以及ClickHouse部署相关的东西。原创 2022-09-19 18:01:24 · 39064 阅读 · 0 评论 -
Clickhouse表引擎—集成系列引擎
Clickhouse 的集成引擎其实方便了我们在Clickhouse中操作其它数据,但是本质上只是一个代理或者是分发工具而已,但是我们可以利用这个特点做数据同步也就是从集成的引擎里面读取消息,然后写到真正的数据存储表里。有点类似Hive 的外部表和内部表,我们可以把集成表的数据插入到Clickhouse的表中。其实这样做还有一个好处,那就是Clickhouse虽然支持实时写入,但是我们还是建议批量操作,这样的集成方式就很方便的做到批量写入。原创 2022-09-18 12:05:22 · 39420 阅读 · 0 评论 -
Clickhouse引擎—数据库引擎
主要介绍了Clickhouse的 数据库引擎Atomic 是默认的数据库引擎其他的引擎我们可以根据具体的业务场景来合理使用。原创 2022-09-16 10:09:23 · 39927 阅读 · 1 评论 -
Clickhouse表引擎—日志系列引擎
日志系列引擎一般用的不多,使用场景主要是中间表数据日志引擎是否支持并发数据文件是否按列划分文件是否有MarkLog是是是TinyLog否是否StripeLog是否是。原创 2022-09-15 16:03:40 · 38874 阅读 · 0 评论 -
Clickhouse表引擎—MergeTree系列
ClickHouse提供了丰富多样的表引擎,应对不同的业务需求。本文概览了ClickHouse的表引擎,同时对于MergeTree系列表引擎进行了详细对比和样例示范。在这些表引擎之外,ClickHouse还提供了Replicated、Distributed等高级表引擎,我们会在后续进一步深度解读。MergeTree 不能做到去重ReplacingMergeTree 针对MergeTree 不能去重实现了去重的能力会异步的删除(折叠)这些除了特定列Sign有1和-1。原创 2022-09-14 17:45:33 · 37834 阅读 · 0 评论 -
ClickHouse—初识
ClickHouse 可以用于典型的OLAP 场景ClickHouse开源的出现让许多想做大数据并且想做大数据分析的很多公司和企业耳目一新。ClickHouse 正是以不依赖Hadoop 生态、安装和维护简单、查询速度快、可以支持SQL等特点在大数据分析领域越走越远。原创 2022-09-13 21:24:06 · 38415 阅读 · 0 评论 -
Clickhouse 爬虫数据入库
这一节我们主要完成了数据准备阶段的工作,也就是clickhouse的数据入库原创 2022-09-13 09:28:16 · 39004 阅读 · 0 评论 -
Clickhosue—Docker部署
今天主要介绍了一下clickhouse 的docker 部署,不过建议真实环境下还是不要用docker 部署。原创 2022-09-12 16:51:42 · 39225 阅读 · 0 评论