简历
PDF教育背景
硕士 系统结构
学士 计算机科学与技术
工作经历
资深数据库内核研发2023年7月至今
技术专家2021年5月 - 2023年6月
高级工程师2018年4月 - 2021年5月
研发工程师2016年7月 - 2018年3月
项目经历
负责 Spacture 时空库及 Hippo 向量库内核研发。
- Spacture 选型 HA、备份工具及插件,支持单机版和 MPP 分布式数据库的统一部署
- Hippo 支持 DiskANN 索引并优化性能,性能提升 30%
- Hippo 支持 JSON 类型
- 开发 HippoBench,支持多种开源数据集,统一了 POC 调优、性能优化等场景使用的工具,显著提升了团队工作效率
改进 GPDB 的 FTS 逻辑,适配多副本架构,确保高可用部署。
- 修改 FTS 逻辑适配多副本架构,其中一个备升主后其它备要去和新主建立 replication
- 设计基于实例节点独立 agent 的 HA 解决方案(类似 Patroni)
Apache Iceberg 是一个开源大数据表格式,旨在为数据湖提供一个高效的元数据管理框架。ADBPG 通 过 Iceberg 通用表格式融入大数据生态。
- 主要工作: 实现 iceberg-c sdk 及 iceberg_fdw
- 适用场景: 查询由其它大数据工具生成的数据,将 gpdb 接入大数据生态
- 未来规划: 像 snowflake 一样将 iceberg 视为本地表进行查询写入(适配 table access method)
AnalyticDB PostgreSQL 云原生 Serverless 版支持秒级付费、按需启停、存算分离、分时弹性等能力,数据存储在 OSS 上,实例运行环境部署 Dadi 缓存系统,增加了存储成本。差异化存储企业级特性充分利用 OSS 不同存储类型的价格为用户进一步节省成本。
- 工作1: 提供转冷语法,利用 background worker 异步将 oss 对象转为对应的低频访问存储类型
- 工作2: 提供建冷表语法,创建表时指定对应的 oss 存储类型,写入链路直接将文件存储为相应的类型
- 工作3: 计费,读写低频访问存储的数据量写入 log,管控采集日志完成计费收集
APS 在 DTS 之外提供了一种低成本数据同步链路,同时提供将 Kafka/SLS 等消息队列中的数据写入 hudi table 的能力,供 ADB 查询分析。
- 选型 Flink CDC connectors 开发 datastream job,从 RDS 向 ADB 同步数据
- 从 SLS 中并行读取数据并写入 hudi table,作为 ADB 湖仓数据入口
- 向 Flink CDC 社区贡献动态增删表特性: add new tables to existing cdc job
AnalyticDB MySQL 是阿里巴巴自主研发的海量数据实时高并发在线分析云计算服务,可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。
- 主要工作: 设计开发 Z-order 索引,build 过程中根据 z-value 对数据进行排序并写入 PartitionEngine
- 模块功能: 根据统计信息将不同列在多维查询分析时,通过过滤不必要的数据块来提升查询分析速度
- 适用场景: 查询条件不带 leading column 时,性能优于 cluster index
TaurusDB for MySQL 是一款遵循 LOG IS THE DATABASE 的云原生数据库解决方案。
- 使用 mmap 优化 binlog 性能,Use mmap for binlog
- 参与 TaurusDB for MySQL 的 Storage Abstraction Layer/Log Store 模块开发,日志通过 PLOG 写入 FusionStorage
- SCN 项目相关工作: 适配 purge 流程
OBS Index Layer 用于存储对象存储的元数据,基于 MongoDB,存储引擎使用 mongo-rocks,并通过实现 plog ENV 来对接持久层。
- 主要工作: MongoDB transport layer 适配 xnet 库 (RoCE),提高吞吐减少延时 (bypass kernel)
- 适用场景: 当返回大量数据到客户端时对性能提升效果明显,例如 OBS 用户查看一个 bucket 中的所有文件名时
FusionStorage 是华为推出的一款分布式存储系统,支持文件、块、对象等多种存储访问协议。其中 Persistence Layer——存储系统的持久化层——作为存储系统的底层引擎,负责将数据持久化到存储介质中,同时提供数据保护和数据管理等功能,向上提供 plog 接口。
- 主要工作: 增加了一种新的缓存类型,基于原有的缓存方案适配保电内存介质
- 模块功能: Battery Backup Unit 空间的管理,包括 chunk 的申请、释放,掉电恢复等
- 适用场景: 存储数据量较小的元数据
开源贡献
- Patroni
- pgvectorBench
- Greenplum
- pg_cron
- cron
- Apache ORC
- Flink CDC
- MySQL
- HDFS
- Kong
技能栈
- 编程语言: C/C++ > Java > Python > Rust > Lua
- 并发: 熟悉事件驱动模型及网络编程
- 常用工具: GDB/Perf&FlameGraph/tmux
其它
- 博客: https://zhjwpku.com
- 公众号: PostgreSQL 开源生态
- 外语: CET-6 & VET/VEWT
- 论文笔记: paper notes
- GSoC: 两次 Google Summer of Code (X.Org, Ceph) 项目经历