数据库内核

热衷于分享开源数据库使用、内核源码等相关技术,包括但不限于 MySQL/PostgreSQL/Greenplum/TiDB 等。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2021年9月21日

摘要: 本文首发于 2020-06-22 21:55:10 《ClickHouse和他的朋友们》系列文章转载自圈内好友 BohuTANG 的博客,原文链接: https://bohutang.me/2020/06/20/clickhouse-and-friends-merge-tree-algo/ 以下为正 阅读全文
posted @ 2021-09-21 19:21 DBKernel 阅读(225) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2020-06-12 20:57:10 《ClickHouse和他的朋友们》系列文章转载自圈内好友 BohuTANG 的博客,原文链接: https://bohutang.me/2020/06/11/clickhouse-and-friends-processor/ 以下为正文。 最后更 阅读全文
posted @ 2021-09-21 19:11 DBKernel 阅读(126) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2020-06-08 19:57:10 《ClickHouse和他的朋友们》系列文章转载自圈内好友 BohuTANG 的博客,原文链接: https://bohutang.me/2020/06/08/clickhouse-and-friends-mysql-protocol-write- 阅读全文
posted @ 2021-09-21 19:02 DBKernel 阅读(93) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2020-06-07 17:17:10 《ClickHouse和他的朋友们》系列文章转载自圈内好友 BohuTANG 的博客,原文链接: https://bohutang.me/2020/06/07/clickhouse-and-friends-mysql-protocol-read-s 阅读全文
posted @ 2021-09-21 18:59 DBKernel 阅读(103) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2020-06-05 19:37:10 《ClickHouse和他的朋友们》系列文章转载自圈内好友 BohuTANG 的博客,原文链接: https://bohutang.me/2020/06/05/clickhouse-and-friends-development/ 以下为正文。 一 阅读全文
posted @ 2021-09-21 18:57 DBKernel 阅读(99) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2020-05-05 21:55:15 一、前言 从接触MySQL开始断断续续的看过一些文章,对count()操作众说纷纭,其中分歧点主要在于count(1)和count(*)哪个效率高,有说count(1)比count(*)快的(这种说法更普遍),有说二者一样快的。个人理解这两种行为可 阅读全文
posted @ 2021-09-21 18:48 DBKernel 阅读(501) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2019-12-09 19:37:10 1. 概念 自增列,即 AUTO_INCREMENT,可用于为新的记录生成唯一标识。 要求: AUTO_INCREMENT 是数据列的一种属性,只适用于整数类型数据列。 AUTO_INCREMENT 数据列必须具备 NOT NULL 属性。 2. 阅读全文
posted @ 2021-09-21 18:45 DBKernel 阅读(999) 评论(0) 推荐(0) 编辑

摘要: 作者:卢文双 资深数据库内核研发 MEMROY存储引擎(以前称为HEAP)的表把表结构存放到磁盘上,而把数据放在内存中。 阅读全文
posted @ 2021-09-21 18:41 DBKernel 阅读(87) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2016-11-23 10:24:45 概述 Linux 下的任务调度分为两类:系统任务调度和用户任务调度。Linux 系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用 crontab 命令。 cron 配置文件 在 U 阅读全文
posted @ 2021-09-21 18:37 DBKernel 阅读(73) 评论(0) 推荐(0) 编辑

摘要: 作者:卢文双 资深数据库内核研发 GreenPlum 采用 Share Nothing 的架构,良好的发挥了廉价PC的作用。自此I/O不在是 DW(data warehouse) 的瓶颈,相反网络的压力会大很多。但是 GreenPlum 的查询优化策略能够避免尽量少的网络交换。对于初次接触 GreenPlum 的人来说,肯定耳目一新。 阅读全文
posted @ 2021-09-21 18:34 DBKernel 阅读(251) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2016-04-25 20:59:52 问题描述 在使用配置了热备的 PostgreSQL 数据库时,在执行大量事务时,尤其是一个需要插入几千万条数据的 insert 事务时(典型的做法是持续 insert into t select * from t;),后台 csv log 中报错如 阅读全文
posted @ 2021-09-21 18:28 DBKernel 阅读(1686) 评论(2) 推荐(0) 编辑

摘要: 本文首发于 2016-03-30 15:34:34 引言 通常我们评判一个 test case 好坏的标准之一是代码的覆盖率,一个好的 test case 应该覆盖到所有的代码。 那么问题来了,我们怎么知道这个 test case 有没有覆盖到所有的代码呢? 以 PostgreSQL 为例,我们看看 阅读全文
posted @ 2021-09-21 18:26 DBKernel 阅读(147) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2016-03-30 15:29:35 背景 回归测试是 PostgreSQL 的测试方法之一。 回归测试,需要事先定义好测试脚本(通常是 SQL 脚本,放在 sql 目录中),同时定义好调用执行测试脚本的预期正确输出文件(通常放在 expected 目录中)。 测试使用 make ch 阅读全文
posted @ 2021-09-21 18:22 DBKernel 阅读(144) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2016-03-15 19:56:52 注意:本篇文章成文时 Postgres-XC 还未改名为 Postgres-X2 。 1. 下载源码 git clone git@github.com:postgres-x2/postgres-x2.git 2. 安装依赖 对于 Ubuntu/De 阅读全文
posted @ 2021-09-21 18:20 DBKernel 阅读(76) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2016-01-21 20:02:26 引言 PostgreSQL 主备同步机制是通过流复制实现,其原理见 PG主备流复制机制。 Greenplum 是基于 PostgreSQL 开发的,它的主备也是通过流复制实现,但是 Segment 节点中的 Primary 和 Mirror 之间的 阅读全文
posted @ 2021-09-21 18:13 DBKernel 阅读(111) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2016-01-14 19:55:08 本文介绍如何在 CentOS/RedHat、Ubuntu/Debian 下通过安装包方式和源码方式安装配置 GreenPlum 集群。 1. 安装步骤 1.1. 规划 192.168.4.93(h93) 1个主master 2个主segment、2 阅读全文
posted @ 2021-09-21 16:46 DBKernel 阅读(73) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2015-12-23 21:04:17 环境 PG数据库提供了一款轻量级的压力测试工具叫 pgbench,其实就是一个编译好后的扩展性的可执行文件。 测试环境: CentOS 5.7 in VMWare 8.0 PG:9.1.2 数据库参数: max_connection=100 其他默 阅读全文
posted @ 2021-09-21 16:38 DBKernel 阅读(464) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2015-11-21 20:02:26 引言 PostgreSQL 在 9.0 之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在备库 apply 每个 WAL record,这里的流复制每次传输单位是 WAL 日志的 record 。而 PostgreSQL 9 阅读全文
posted @ 2021-09-21 16:34 DBKernel 阅读(56) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2015-11-04 15:28:08 前言 本文成文较早,依赖的是 PostgreSQL 9.3 版本,后续内核版本可能不兼容,但核心原理是相通的,可做参考。 表结构 pg_depend pg_depend 是 postgres 的一张系统表,用来记录数据库对象之间的依赖关系,除了常见 阅读全文
posted @ 2021-09-21 16:28 DBKernel 阅读(590) 评论(0) 推荐(0) 编辑

摘要: 本文首发于 2015-05-04 14:50:16 概述 一个由 C/C++ 编译的程序占用的内存分为以下几个部分: 栈区(stack):由编译器自动分配、释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。一般大家常说的堆栈和栈是一样的,就是栈(stack),而说 堆 时才是堆 阅读全文
posted @ 2021-09-21 16:22 DBKernel 阅读(201) 评论(0) 推荐(0) 编辑