自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天行健,地势坤

远离颠倒梦想,究竟涅槃

  • 博客(469)
  • 资源 (2)
  • 收藏
  • 关注

原创 Apache arrow 极致模块化、可组合的数据平台

Apache arrow 极致模块化、可组合的数据平台

2024-05-19 14:17:06 1808

原创 有趣的Decimal 类型 如何被 PostgreSQL 和 Apache-Arrow 实现

近期工作中有涉及到我们 向量化引擎的 Decimal 数据类型和 PostgreSQL built-in Decimal 数据类型的兼容问题, 在此做一个体系化的梳理.

2024-05-19 14:14:20 1133

原创 2023 知来者之可追

2023 知来者之可追

2024-01-03 23:18:25 1136

原创 从 malloc 分配大块内存失败 来简看 linux 内存管理

从 malloc 分配大块内存失败的可能原因 来看 linux overcommit机制 以及 oom 实现原理

2023-10-29 17:35:54 2427

原创 PostgreSQL InvalidMessage Cache 同步机制

PostgreSQL 的 invalid-messages cache同步机制实现原理

2023-10-29 17:33:11 1451 1

原创 YugaByteDB -- 全新的 “PostgreSQL“ 存储层

Yugabytedb 实现了全新的postgresql 存储层, 采用的是 newsql 的思想, 值得学习.

2023-10-29 17:31:28 1776 1

原创 HashJoin 在 Apache Arrow 和PostgreSQL 中的实现

HashJoin 在 Apache-arrow 和 PostgreSQL 中的实现

2023-10-29 17:30:14 1788

原创 Velox: Meta 实现的计算引擎底座

Velox 计算引擎实现原理

2023-10-29 17:28:35 1429

原创 PostgreSQL BTree(B-Link-tree) 索引 基本 实现原理

BTree, B+Tree, B-Link-Tree 基本实现 以及 其在 PostgreSQL 中的基本实现(并发控制、Crash-Recovery 场景的异常恢复)

2023-06-18 21:19:37 3999 1

原创 云原生 HTAP -- Cloud-Native Transactions and Analytics in SingleStore

S2DB 实现HTAP 能力的 主体设计有在三方面:1. 存算分离,数据集主要存储在对象存储上,上层的primary节点 负责数据的读写 只读节点负责 AP以及 TP的数据查询,它们本地盘都能提供 数据缓存能力;并且在此基础上实现了 PITR 即 time-travel能力。2. 统一的表存储(行列混存)。行存和列存的区分不会对用户暴露(不需要用户指定使用行存还是列存),实现细节在内核内部,默认同时支持行存和列存的存储格式。实现上是 完全in-memory的行存 以及 持久化到 blob storage

2023-06-03 17:54:14 1795 3

原创 云原生 HTAP -- PolarDB-IMCI:A Cloud-Native HATP Database

PolarDB-IMCI 从性能结果来看收益很大:- TPC-H(100G) 性能 PolarDB-IMCI 比 TP场景的PolarDB 性能高了 100倍,基本和 ClickHouse的AP性能接近。- TP 场景的性能也只下降了 5% 且 visibility delay 在普通的workload下小于 5ms,heavy workload下 小于30ms。- 弹性能力能够在十几秒内完成。

2023-05-27 18:59:51 2632

原创 PostgreSQL 系统表相关技术栈 实现原理(系统表初始化&关系模型,SysCache & RelCache)

PG 系统表相关技术体系 实现分析

2023-04-17 23:25:57 2811 3

原创 PostgreSQL temp table 全链路 实现原理

PG为了方便对整个数据库内部的表进行管理,设计了namespace,将系统表、用户表、临时表等不同schema 的表划分到不同的namespace中,对于这一些表的owner 以及 它们的权限控制就都可以转移对该表所属的 namespace的权限控制了。(大宽表)的存储是默认开启的,比如当前tuple的大小超过 page 1/2,会默认开启toast的存储,将实际的 tuple数据部分存储到 toast表中,原本的heap表的tupe data部分则保存指向 toast表的指针;

2023-03-16 00:14:57 2640 2

原创 两阶段提交(2 Phase Commit) 在 PostgreSQL 和 RocksDB 中的实现

住院期间的一些学习思考... 探索PostgreSQL 以及 RocksDB 的 2PC实现

2023-03-05 15:02:53 2981

原创 关于PostgreSQL JIT Memory-Leak 问题 从 LLVM源码层面来分析

PostgreSQL JIT memory-leak 问题 结合 llvm源代码 根因分析

2023-01-07 18:25:50 2981 2

原创 PostgreSQL JIT 实现query性能加速的一些补充

postgresql jit 实现 query性能加速

2023-01-02 00:24:39 2966

原创 2022 知来者之可追

2022 年度总结

2022-12-31 18:50:08 2904 9

原创 PostgreSQL 内核可观测性体系

postgresql 内核实现的可观测性,主要是 Metrics 和 Trace 能力。

2022-12-03 18:47:06 3115

原创 PostgreSQL JIT(Just-In-Time Compilation)With LLVM 的实现原理

LLVM 的基本介绍 以及 LLVM IR 和 LLVM OrcJIT 如何在PostgreSQL 中应用,提升查询性能。

2022-11-13 20:27:45 4967 1

原创 Postgresql Freezing 实现原理

postgresql 通过 freeze 解决事务 id 回卷问题,同时利用vacuum 管理freeze的触发时机,展示freeze 全链路的内部实现细节

2022-11-08 21:00:00 3331

原创 PostgreSQL 解决 “大 value”问题的 存储技术 -- TOAST(The Oversized Attributes Storage Technique)

PostgreSQL TOAST(The Oversized Attributes Storage Technique) 机制的生效场景及实现方式

2022-10-05 01:11:17 3538

原创 关于 foundationdb client接口的基本实现 以及 使用上的一些小细节

foundationdb - fdbclient 源代码实现 以及 使用过程中遇到的一些小坑,简单记录一下。

2022-10-02 15:43:53 4049 3

原创 PostgreSQL 并发控制 -- 锁体系(spinlock,lwlock,regular lock)实现原理

PostgresSQL : 锁体系SpinLock, LWLock, RegularLock 实现原理

2022-08-21 23:52:53 4162

原创 PostgreSQL 基于heap表引擎的事务 实现原理

pg 基本事务架构实现:1. 基本隔离级别的操作。2. 三层事务架构实现。3. heaptuple,clog,snapshot 如何实现事务可见性检查,从而实现事务隔离级别。

2022-07-31 17:30:52 3686

原创 关于 FoundationDB 的使用 以及 性能压测

foundationdb 基本使用 以及 性能测试

2022-07-10 16:30:39 4125 1

原创 PostgreSQL heap堆表 存储引擎实现原理

postgresql heap 堆表存储引擎的 实现原理,以读写链路的源代码 来看 pg 底层如何存储一条insert 的数据 以及 底层如何将 select 语句需要的数据读取出来。

2022-06-26 20:43:57 6393

原创 一条 Select 语句 在 Postgresql 中的执行链路

select 语句在 postgresql 内核代码的基本执行链路。

2022-06-11 10:55:12 2580

原创 利用 GDB 快速阅读 postgresql 的内核代码

gdb 快速阅读 postgresql 内核源代码

2022-06-08 22:49:32 2498 11

原创 简单记录一下 我的 tmux conf

tmux 终端管理利器,记录一下我自己的tmux conf

2022-05-18 01:53:48 2081 2

原创 FoundationDB :一个支持分布式、事务、架构解藕的 k/v存储系统

苹果公司 支持分布式事务 架构极致解藕的kv存储底座 FoundationDB 设计实现。SnowFlake 的 metadata store。

2022-05-14 17:00:44 4890 8

原创 Snowflake 弹性数仓 设计原理

The Snowflake Elastic Data Warehouse 论文读后感

2022-05-05 22:50:52 2930 2

原创 关于如何提升 Append-Only 存储引擎 写性能的一些思考

append-only 存储引擎: leveldb/rocksdb/wiredtiger 写链路优化

2022-05-01 11:35:20 2416

原创 关于 并查集(union find) 算法基本原理 以及 其 在分布式图场景的应用

二月的最后一篇水文…想写一些有意思的东西。图计算或者存储场景中的 好友关系拓扑分布式事务场景中冲突环中的 死锁检测部分

2022-02-27 13:54:10 2111 2

原创 Pliops XDP(Extreme Data Processor)数据库存储设计的新型加速硬件

以色列 公司 Pliops 2021年 VLDB上发表了篇The End of Moore’s Law and the Rise of The Data Processor,介绍他们在 计算硬件领域的新方案。ps : 这个方案并不是 最近推出的 内核网络协议栈的优化 Express Data Path,虽然名字一样。其虽然主推的是计算能力(类似的硬件有FPGA/GPU),但是他们做出了对存储工业界来说更为友好的解决方案,那就是 将计算+I/O 整合到了一块,对外提供一个完整的使用方案。这对数据库应用

2022-02-12 19:38:47 2418

原创 计算机的时钟系统演进 : 物理时钟 --> NTP --> LC --> VC --> TrueTime --> HLC

系统介绍 当前计算机系统中不同的时钟实现、应用场景 以及 遇到的问题。包括:物理时钟,NTP 时钟,LC 时钟,VC 时钟 ,HLC 时钟 以及 TrueTime。

2022-01-24 23:36:44 2780 1

原创 centos 自定义内核模块 编译运行

centos 自定义内核模块 编译运行记录

2022-01-14 23:45:29 1045

原创 通过 RDTSC 指令从 CPU 寄存器中直接获取系统时钟

rdtsc 简单获取 os 系统时钟

2022-01-14 23:35:48 2010

原创 XFS 文件系统 (一) :设计概览

XFS 设计 概览

2022-01-08 15:07:17 2808 2

原创 2021 知来者之可追

2021 年度总结

2022-01-01 16:21:12 1588 6

原创 Rocksdb的事务(二):完整事务体系的 详细实现

rocksdb 基本隔离级别实现 以及 并发场景的冲突解决方案。

2021-12-28 01:58:57 4007 3

systemtap beginner guide

systemtap基本介绍 以及 用户态探针基本用法,内核态探针基本用法,一些报错异常处理 还有非常多的基本案例,适合内核调试入门

2020-12-15

分部署存储 技能树.svg

分布式存储技能图谱,较为全面的分布式存储技能学习路线。 建域本人接触分布式存储系统中的ceph开源分布式存储较多,所以关于具体的分布式系统主要偏向于ceph的技能; 除此之外,其他的技能基本是一个好得分布式开发工程师通用的技能路线;依据该路线,我们仅仅是有一个学习的广度拓展,至于深度拓展仍需要各位看官自己评估

2019-12-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除