从零构建向量数据库:更适合 C++ 基架选手体质的校招项目 首先前排声明,本文非广告,仅仅是看到本书(从零构建向量数据库 (豆瓣)),觉得非常适合改编为 C++ 基架选手的校招项目,在此分享给可能需要的同学。 另外还要做个免责声明:本文不构成职业选择建议。 如何丰富简历上的项目经历是校招生老大难的一个问题了,对 C++ 选手尤甚。从上古年度的 Web Server 走天下,到现在的人均 15445、6.824、6.S081,日益激烈的竞 2024-10-21 数据库 > 向量数据库 #数据库 #校招 #分布式
DB 论文阅读:2005~2024 近 20 年数据库领域回顾 本文是论文 What Goes Around Comes Around... And Around... 的阅读记录,该论文由图灵奖得主 Michael Stonebraker 和 CMU 多门知名数据库课程的负责人 Andy Pavlo 合作发表于 SIGMOD 2024。该论文总结回顾了 2005 年以来,数据库领域在 20 年内的发展与变化,并给出了不少对数据库领域未来发展的预 2024-09-20 数据库 > 读论文 #数据库 #SQL
DB 论文阅读:关系型数据库在 ANNS 上为什么慢? 本文是 Are There Fundamental Limitations in Supporting Vector Data Management in Relational Databases? A Case Study of PostgreSQL 的论文阅读记录,感兴趣的读者请参阅原论文了解更多细节。 该论文的通讯作者是 Jianguo Wang @ Purdue ,刚好也是 2024-08-07 数据库 > 读论文 #近似最近邻 #ANN #向量相似度检索 #PASE #Faiss
Git 实用命令 最近实习在公司内接触到了 Git 协作开发中一些比较实用的命令,在此记录供以后参考。 1. 多分支提交 在开发新特性或者进行 bug 修复时,可能会涉及到多个版本,因此我们需要将代码提交到多个分支。这时需要使用 git cherry-pick 命令: 12$ git checkout target-branch$ git cherry-pick commit-hash 其中 2024-08-04 工具 #Git
Dolphin DB 实习面经 前言: 最近在实习,博客很久没更新了。把一直想写却偷懒没写的 Dolphin DB 面试经历整理出来,以实现博客月更目标。本文同步更新于知乎:来聊聊大家在DolphinDB的面试感受? - zeta的回答。 先介绍下本人 BG,25 届科班硕,投递的岗位是内核开发实习生。今年五月开始陆续投递了几家公司的实习,在室友的推荐下投递了 Dolphin DB。DDB 给我留下的第一印象 2024-07-27 一支芦苇 #面试
GoogleTest 与 Benchmark 库使用:以位图 countOnes 函数为例 单元测试与性能测试都是我们实际进行项目开发中常见的需求,一个优秀的库能够帮助我们高效地完成上述需求,专注于项目本身逻辑的开发,而不是额外花费精力于单元测试库和性能测试库的编写。就 C++ 而言,最常用的单元测试和性能测试库应该就是 Google 开源的 GoogleTest 和 Benchmark 库了,二者源代码都可在 GitHub 获取。 本文中,我们以计算一块连续内存中的位 1 的数量 2024-06-30 工具 #GoogleTest #Benchmark #bitmap #countOnes
LevelDB 源码阅读三:工具函数一览 前面两篇文章,我们分别介绍了 LevelDB 的部分基础数据结构和 LevelDB 对操作系统功能的封装,本文我们继续按照自底向上的原则,来看 util 目录下的我们尚未阅读的源代码。涉及的源文件包括: util/arena.h 和 util/arena.cc util/coding.h 和 util/coding.cc util/crc32c.h 和 util/crc32c.cc 2024-06-14 数据库 > 读源码 #LevelDB
LevelDB 源码阅读二:操作系统接口封装 本文继续介绍 LevelDB 源码,重点是 LevelDB 中对操作系统相关接口的封装,也即 Env 接口及相关实现类。本文涉及的相关源码路径如下: include/leveldb/env.h util/env.cc util/posix_logger.h util/env_posix.cc 1 env.h 在 include/leveldb/env.h 源文件中,定义了 2024-06-03 数据库 > 读源码 #LevelDB #单例模式
LevelDB 源码阅读一:基础数据结构 继上文搭建完 LevelDB 调试环境后,我们开始阅读源码。本文介绍 LevelDB 中最基础的一些数据结构,按照源文件组织的层次结构,自底向上阅读源码。本文涉及的主要源代码包括以下文件: include/leveldb/export.h include/leveldb/slice.h port/thread_annotations.h port/port_stdcxx.h por 2024-05-29 数据库 > 读源码 #LevelDB #设计模式
LevelDB 调试环境搭建 LevelDB 是知名的 C++/数据库/K-V 存储/LSM Tree 相关的项目,由 Google 的 Jeffrey Dean 等知名大牛编写。阅读源码是学习提升的必经之路,这条道路上的第一个障碍就是如何把代码跑起来,并自己上手运行、调试。本文以 LevelDB 为例,介绍如何搭建 LevelDB 的调试环境,为后续阅读源码做好铺垫工作。 本文的环境为 Linux + VS Cod 2024-05-25 数据库 > 读源码 #LevelDB