随笔分类 -  database

1 2 下一页

Clickhouse 物化视图与投影
摘要:参考文章 增量物化视图 数据聚合 示例1 表结构: CREATE TABLE votes ( `Id` UInt32, `PostId` Int32, `VoteTypeId` UInt8, `CreationDate` DateTime64(3, 'UTC'), `UserId` Int32, ` 阅读全文

posted @ 2025-08-21 17:22 Lemo_wd 阅读(22) 评论(0) 推荐(0)

Clickhouse 主键索引
摘要:参考 ClickHouse 主索引的实用介绍 ClickHouse的MergeTree引擎系列经过专门设计和优化,能够处理海量数据。这类表可支持每秒插入数百万行数据,并能存储极大规模的数据(达数百PB级别)。数据以分块(part)的形式快速写入表中,并通过后台机制按规则合并这些数据块。在ClickH 阅读全文

posted @ 2025-08-19 16:24 Lemo_wd 阅读(44) 评论(0) 推荐(0)

Clickhouse 核心概念
摘要:参考 核心概念 Table Parts Part 是磁盘上存储表部分数据的物理文件(或目录)。这与分区不同,分区是使用分区键创建的表数据的逻辑划分。MergeTree 引擎系列中每个表的数据都是以不可变的 data parts 保存。 下图展示了一个 data part 的产生过程: data pa 阅读全文

posted @ 2025-08-16 12:54 Lemo_wd 阅读(14) 评论(0) 推荐(0)

ClickHouse 案例学习 —— 使用 ClickHouse 探索 GitHub 统计信息
摘要:来源 使用 ClickHouse 探索 GitHub 统计信息 统计数量与大小 SELECT formatReadableQuantity(sum(rows)) AS rows, formatReadableSize(sum(data_compressed_bytes)) AS compressed 阅读全文

posted @ 2025-06-09 14:02 Lemo_wd 阅读(20) 评论(0) 推荐(0)

Clickhouse 的 kafka Engine 集成
摘要:在 ClickHouse 中,​Kafka Engine + 物化视图是一种直接消费 Kafka 数据并写入 ClickHouse 表的架构模式,其核心是通过三张表协作实现数据流自动化处理。 1. Kafka Engine 表​ 作为 Kafka 数据的消费者和解析器,直接连接到 Kafka Top 阅读全文

posted @ 2025-04-10 09:41 Lemo_wd 阅读(201) 评论(0) 推荐(0)

Clickhouse 表引擎 —— MergeTree
摘要:参考文档 ReplacingMergetree -- MergeTree 原理: -- 底层使用类似LSM树的方式提供数据的快速读写功能。即新的数据(包括更新以及删除的数据)并不会影响原有的数据, -- 而是会记录在一个新开辟的临时数据块中。查询时通过版本号查询最新的一条结果。 -- 新开辟的数据需 阅读全文

posted @ 2025-04-09 13:35 Lemo_wd 阅读(32) 评论(0) 推荐(0)

MySQL 零碎笔记2
摘要:1.分区表 适用场景: 业务简单,单表查询,且都跟时间范围查询相关。 数据需要定期清理数据,无需保留全部数据。 数据更新频率较低,只有写入操作。 优点: 查询条件包含分区条件时,可以直接扫描必要的分区。也可以直接指定必要的分区来提高查询效率。 聚合查询时,可以很容易地在每个分区上并行处理,最终只需汇 阅读全文

posted @ 2024-02-20 10:21 Lemo_wd 阅读(16) 评论(0) 推荐(0)

MySQL 杂记 —— 读写锁与库存设计
摘要:假设有A、B两个用户同时各购买一件 id=1 的商品,用户A获取到的库存量为 1000,用户B获取到的库存量也为 1000,用户A完成购买后修改该商品的库存量为 999,用户B完成购买后修改该商品的库存量为 999,此时库存量数据产生了不一致。 分析: MySQL 默认的事务隔离级别是可重复读,但是 阅读全文

posted @ 2021-07-03 22:13 Lemo_wd 阅读(357) 评论(0) 推荐(0)

MySQL 技巧 —— 分组后每条记录取最新
摘要:左连接 SELECT m1.* FROM messages m1 LEFT JOIN messages m2 ON (m1.name = m2.name AND m1.id < m2.id) WHERE m2.id IS NULL; 子查询 select * from messages where 阅读全文

posted @ 2020-07-08 10:16 Lemo_wd 阅读(369) 评论(0) 推荐(0)

记录一下事务的理解
摘要:为什么要有事务? 原子性 → 失败可回滚。 一致性 → 数据状态始终正确 隔离性 → 并发读写不相互干扰(通过加锁/MVCC实现)。 持久性 → 提交后不丢数据(通过redo log、双写缓冲等手段实现)。 一致性和其他 ACID 的关系 原子性:保证部分成功、部分失败不会破坏一致性。 隔离性:防止 阅读全文

posted @ 2019-12-23 21:56 Lemo_wd 阅读(202) 评论(0) 推荐(0)

postgres —— 窗口函数入门
摘要:注:测试数据在 postgres —— 分组集与部分聚集 中 聚集将多行转变成较少、聚集的行。而窗口则不同,它把当前行与分组中的所有行对比,并且返回的行数没有变化。 组合当前行与 production 的均值 SELECT country, year, production,comsumption, 阅读全文

posted @ 2019-12-17 23:41 Lemo_wd 阅读(678) 评论(0) 推荐(0)

postgres —— 有序集与假想聚集
摘要:有序集 -- 有序集,表示在按给定顺序排序后,对数据进行聚合统计 SELECT region, percentile_disc(0.5) WITHIN GROUP (order by production) from t_oil group by region; -- 中位数函数 -- percen 阅读全文

posted @ 2019-12-17 00:11 Lemo_wd 阅读(481) 评论(0) 推荐(0)

postgres —— 分组集与部分聚集
摘要:创建表 create table t_oil ( region text, country text, year text, production int, comsumption int ) 导入数据 copy t_oil from program 'curl https://cybertec-p 阅读全文

posted @ 2019-12-16 23:26 Lemo_wd 阅读(570) 评论(0) 推荐(0)

Navicat 的使用 —— 快捷键
摘要:233 阅读全文

posted @ 2019-12-13 17:39 Lemo_wd 阅读(199) 评论(0) 推荐(0)

postgresql —— 数组类型
摘要:创建数组 CREATE TABLE sal_emp ( name text, pay_by_quarter integer[] --还可以定义为integer[4]或integer ARRAY[4] ); 插入数据 NSERT INTO sal_emp VALUES ('Bill', '{11000 阅读全文

posted @ 2019-11-27 17:30 Lemo_wd 阅读(476) 评论(0) 推荐(0)

mysql 杂记 —— 时区问题
摘要:查看时区: 输出 分析: 这里有两个变量,其中 time_zone 是指 mysql 数据库的时区。默认为 SYSTEM,即等于服务器的系统时区。 system_time_zone 表示系统时区,因为我们的系统服务器是在中国,system_time_zone 为 CST(China Standard 阅读全文

posted @ 2019-11-26 15:11 Lemo_wd 阅读(455) 评论(0) 推荐(0)

postgresql —— 表的继承
摘要:示例: CREATE TABLE cities ( --父表 name text, population float, altitude int ); CREATE TABLE capitals ( --子表 state char(2) ) INHERITS (cities); 特征: 子表拥有父表 阅读全文

posted @ 2019-11-26 11:18 Lemo_wd 阅读(757) 评论(0) 推荐(0)

Redis 中的高级数据类型
摘要:5个基础数据类型 高级功能 ① HyperLogLog (参考) 供不精确的去重计数功能,比较适合用来做大规模数据的去重统计,例如统计 UV > PFADD visitors alice bob carol (integer) 1 > PFCOUNT visitors (integer) 3 解释: 阅读全文

posted @ 2019-11-18 16:48 Lemo_wd 阅读(1279) 评论(0) 推荐(0)

Redis 缓存雪崩、穿透、击穿
摘要:缓存雪崩 定义: 同一时间所有 key 大面积失效,比如网站首页的数据基本上都是同一批次去缓存的。 解决方法: ① 存的时候设定随机的失效时间。 ② 服务做熔断处理(异常或着慢查询 Hystrix 限流+降级) 缓存穿透 定义: 缓存和数据库中都没有的数据,而用户不断发起请求,我们数据库的 id 都 阅读全文

posted @ 2019-11-18 14:37 Lemo_wd 阅读(269) 评论(0) 推荐(0)

postgresql —— 零碎笔记
摘要:聚合函数 -- 聚合查询 SELECT city, max(temp_lo) FROM weather WHERE city LIKE 'S%' GROUP BY city HAVING max(temp_lo) < 40; -- HAVING 子句始终包含聚合函数, 否则没有意义 更新语句 -- 阅读全文

posted @ 2019-10-01 22:56 Lemo_wd 阅读(216) 评论(0) 推荐(0)

1 2 下一页

导航