数据库内核:研究生成长记录(附带资源)(最近更新:2023.02.10)

记录一下 CMU 15445 项目 CMU 15445 数据库课程,采用c++语言实现数据库存储引擎~ 阅读详情

数据库方向 - 研究生生涯成长记录

作为一篇记录/资源帖,将不定时分享数据库学习进度,心得,以及学习资源整合到这一篇博客。



转战知乎了,知乎只发优质文章

链接:https://www.zhihu.com/people/kai-shui-a

0-前言

能力基础(考研后)
  • 专业课:操作系统,数据结构,计算机组成原理,计算机网络基础扎实。数据库本科基本等于没学(刚及格)。
  • 代码:代码量还可以,但没做过严格的线上项目,也没有比较深入的CPP能力(差不多是当成C来写的)
  • 研究方向:内存数据库。
文章内容(会增加项目)
  • 学习日志(附带对应笔记或资源链接)
  • 学习资源整合

1-成长日志

---- 2022 ----
2022.04
  • CMU15445 全部课程(除了最后分布式那两节),对数据库构成和设计有了基本了解,学会了很多专业英语单词。
  • Main Memory Database Systems 综述阅读(一遍粗看,一遍笔记,没有完全吃透)
2022.05
  • 海南当义工,冲浪一个月
2022.06
  • CMU15445课设:Project1,Project2(我的笔记:1,2)
  • Opengauss-MOT 浅看了下华为的数据库的内存引擎,没有记住太多东西
Linux系统升级及内核版本升级 一、背景 工作中有时会遇到系统版本过旧,无法满足安全扫描后的安全要求,系统漏洞数量多,处理难度较大,这时,我们就需要升级OS或Linux内核版本; 二、升级操作 2.1、 redhat/CentOS系统 三、附录:包升级命令 1)配置yum更新源 /etc/yum.repos.d目录下新建主机的yum源,.repos文件中,repositoryid:指定一个仓库,name指定仓库名称, baseurl:指定仓库的URL,mirrorlist指定仓库的镜像站点,enable是否启用本仓库,gpgcheck 阅读详情

相关推荐

DB-GPT:企业级私有数据库智能体操作系统

Text2SQL技术正从单次查询翻译迈向多步数据工作流编排,其核心在于解决语义理解偏差、执行不可控与领域知识缺失三大瓶颈。基于LLM的数据库智能体需具备结构化感知、SQL闭环校验、沙箱安全执行及可编排工作流等能力,才能支撑金融、政务等强监管场景的落地需求。DB-GPT通过AWEL工作流引擎、模块化Skill体系与Linux级沙箱机制,实现意图驱动的端到端财报分析、留存率计算等复杂任务,兼顾准确性、可审计性与工程鲁棒性。

chikuai9995的博客 660

向量数据库本质:从语义检索到可运维基础设施的范式切换

向量数据库并非传统数据库的简单扩展,而是面向高维向量相似性搜索重构的存储引擎。其核心原理基于近似最近邻(ANN)算法,如HNSW与IVF-PQ,突破B+树在随机内存访问和增量更新上的固有瓶颈。技术价值在于将原本应用层CPU密集的余弦相似度计算,下沉为亚毫秒级原生数据库操作,显著提升RAG、多模态搜索与实时推荐等AI场景的工程可行性。典型应用场景包括电商以图搜图、金融智能问答、客服语义去重等对Recall@K与P99延迟高度敏感的线上服务。本文聚焦真实落地中的五大硬指标验证——尤其Recall@10与P99稳

weixin_33970449的博客 467

AI-Native操作系统:从意图调度到语义文件系统的内核重构

AI-Native操作系统并非在传统OS上叠加AI服务,而是以‘意图’为第一公民,重构进程抽象、文件元数据与安全模型等底层机制。其核心原理在于将用户语义直接映射为内核级调度策略、图结构化存储与动态能力凭证,从而突破CPU/GPU/NPU异构协同的延迟墙与语义断层。技术价值体现在端到端确定性低延迟(±3.2ms)、跨芯片零拷贝通信(CXL加速7.8倍)及内存感知预取(L3缓存命中率提升至92%)。典型应用场景包括语音驱动的实时会议分析、意图式文档检索与隐私敏感的链式权限裁决。本文聚焦可验证的内核级实现——意图

weixin_30718391的博客 426

虚拟机安装的三重门:从驱动加载到内核握手

虚拟机安装本质上是宿主机与客户机之间跨硬件抽象层(HAL)的系统级协奏,涉及虚拟化平台驱动部署、虚拟硬件建模及客户机可信引导三大技术环节。其核心原理在于内核模块与硬件特性的动态对齐——如Windows下vmnet.sys驱动需WHQL签名认证,Linux中DKMS编译依赖内核头文件与Secure Boot策略适配;CPU模型选择(host-passthrough vs core2duo)直接影响Windows 7蓝屏0x0000007B等兼容性故障;而UEFI Secure Boot、ISO路径编码、VMw

ciya3282的博客 381

关系型数据库如何成为AI时代的活数据操作系统

关系型数据库不仅是存储结构化数据的工具,更是支撑机器学习全生命周期的核心基础设施。其基于关系代数的计算范式天然适配特征工程、事务保障与数据血缘追踪,相比向量或图数据库,在强一致性、Schema演化和工程可维护性上具备不可替代优势。SQL作为声明式数据编排语言,能将join、window aggregation、物化视图等能力直接映射为特征逻辑,显著降低ETL冗余与线上延迟。结合MADlib、PostgreSQL扩展及time-travel查询等技术,企业可在不颠覆现有架构前提下,实现‘数据不出库’的端到端M

diejiankuai3444的博客 529

企业多模态数据治理与融合数据库实战

在数字化转型浪潮中,企业数据治理面临结构化与非结构化数据并存的多模态挑战。传统数据库架构存在类型鸿沟、流动壁垒和管理碎片化三大痛点,而融合数据库技术通过统一存储引擎、跨模态查询语言和分布式能力革新了数据管理范式。这种技术将关系型、文档型、时序和图数据等多种模态统一处理,显著提升了数据流动效率和分析能力。在金融风控、工业物联网等场景中,融合数据库可实现从数据孤岛到智能决策的转变,例如将信用卡盗刷识别从分钟级优化到800ms内。通过SQL-2023扩展语法和模态感知的资源配置,企业能够构建更高效的数据底座,降低

weixin_32705179的博客 147

手写数据库内核:B+树与事务并发控制实战解析

关系型数据库是现代软件系统的核心基础设施,其底层实现涉及存储引擎、索引结构、查询执行与事务管理等多个复杂模块。从Buffer Pool的页面替换策略到B+树的分裂合并逻辑,从火山模型算子的执行流程到MVCC多版本并发控制机制,每一环都直接影响数据库的性能与稳定性。理解这些底层原理,不仅有助于深入掌握数据库运行机制,也是进行查询优化、系统调优和故障排查的关键。对于参与系统能力大赛或从事基础软件研发的开发者而言,通过一个完整的数据库内核实现案例,可以直观地学习如何将理论与工程实践相结合,掌握从零构建高性能数据管

weixin_30920513的博客 546

全国一等奖数据库内核全拆解:B+树、MVCC与执行器设计实战

数据库内核是存储、计算与并发控制的交汇点,其核心能力往往体现在B+树索引、MVCC快照隔离和火山模型执行器等基础组件的协同设计上。理解这些原理,不仅有助于掌握数据库的底层运行机制,更能为SQL性能优化、事务一致性保障提供工程化思路。在真实场景中,无论是分析型查询的Join重排,还是高并发写入下的版本链回收,都依赖对索引结构、锁顺序和日志落盘策略的深入理解。本文基于一个荣获全国一等奖的数据库管理系统设计赛作品,从存储引擎到执行器逐层拆解其架构选型与踩坑记录,完整呈现了从零实现一个可运行数据库的工程路径,适合对

weixin_33882452的博客 387

OceanBase数据库大赛初赛实战:从赛题包拆解到SQL调优与避坑指南

分布式数据库基于多副本架构与Paxos协议实现高可用与强一致,其SQL调优依赖执行计划分析与索引优化。在OceanBase数据库安装教程中,环境配置与工具兼容性是常见门槛,例如连接时可能遇到couldn't deduct database type from database product name 'oceanbase'错误。掌握慢查询定位、并发压测与故障排查,能有效提升分布式数据库的工程实践能力。本文以2023 OceanBase数据库大赛初赛为例,系统拆解赛题包结构,覆盖Docker环境搭建、数据导

weixin_32183107的博客 251

机器学习的学习准则(期望风险最小化、经验风险最小化、结构风险最小化)

要评价模型f(x, θ)的好坏,可通过期望风险R(θ)来衡量:求期望损失R(θ)不仅需要知道损失函数还需要知道真实分布,损失函数可以通过一定的准则计算得到,但是样本空间的真实分布是未知的。所以不能直接求R(θ)。期望风险R(θ)无法计算,给定一个训练集D =,我们可以计算经验风险,经验风险就是在训练集上的平均损失:为了解决过拟合问题,引入了参数正则化来限制模型的能力。使其不要过度的最小化经验风险。这种准则就是结构风险最小化准则

... 2223

BAPI创建委外采购订单

使用BAPI BAPI_PO_CREATE1创建委外采购订单,组件为手工输入时,有几个点需要注意: 1、已通过CS01创建过BOM的物料,创建时会自动带出components。如果要修改当前组件清单,可以通过设置pocomponents-change_id = 'E’来实现 lv_sline = lv_sline + 1. ls_pocomponents-po_item = l_ebelp + 10. ls_pocomponents-ITEM_NO = l

Buffalo_soldier的博客 3260

halcon3D 点云拟合球体

halon3D 点云拟合球面

weixin_43213429的博客 1639

Python+whisper/vosk实现语音识别

Whisper 是一个由 OpenAI 开发的人工智能语音识别模型,它能够将语音转换为文本。Whisper 模型特别之处在于它的设计目标是能够理解和转录多种语言的语音,包括但不限于英语。Whisper 模型在训练时使用了大量不同语言的语音数据,这使得它具有很好的跨语言能力。Vosk 是一个开源的语音识别库,它可以在离线环境下工作,不依赖于任何外部服务。Vosk 基于Kaldi语音识别框架,支持多种语言,包括中文。Vosk提供了多种预训练模型,可以根据需求选择适合的模型进行语音识别。

weixin_44458771的博客 5938

PotPlayer 史诗级更新!实时字幕生成+实时翻译,看片真的无敌了!

potplayer已经更新实时字幕生成+实时字幕翻译功能

阿虚同学的博客 1万+

手把手教你从入门到精通C# Modbus通信

本文是《Modbus通信从入门到精通》的导读,本专栏将会详细介绍ModusRTU 、ModbusASCII、ModbusTCP这三种协议的C#实现,由一个高级工程师多年实战经验总结而成,绝对干货!

qq_34059233的博客 1万+

Python爬虫:爬取拼多多平台商品信息、销量、价格等数据

在本篇博客中,我们将深入探讨如何使用Python爬虫技术爬取拼多多平台的商品信息,包括商品的标题、销量、价格等详细数据。拼多多的商品页面通常是分页展示的,因此我们需要遍历多个页面,获取所有商品的信息。每个商品在拼多多平台上都有一个唯一的商品ID,我们可以通过该ID访问商品页面。通过以上的技术方案和代码示例,你已经掌握了如何使用Python爬虫获取拼多多平台上的商品信息、销量、价格等数据。等技术,解决拼多多平台的反爬虫机制,成功抓取我们所需的商品数据。,我们能够应对拼多多的反爬虫机制,稳定地获取到商品数据。

2201_76125261的博客 3655

通俗范畴论10 泛性质(MD版)

既然泛性质可以在同构意义下唯一确定一个泛构造,那么我们就可以用泛性质来定义泛构造。我们回顾一下已经掌握的泛性质和泛构造。泛性质其实我们并不陌生,始对象和终对象,就是具有泛性质的对象,一个具有“始”的泛性质,一个具有“终”的泛性质。比如始对象,如果一个范畴里面有始对象,它到所有对象都有且只有一个态射,这样的对象可能有两个么?嗯,还真可能,但是这两个始对象同构,所以在同构意义下,它们可以看成一个,因此在同构意义下,始对象是唯一的。同理,终对象也一样。同构的始对象。

RockTec的专栏 478

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 【STL】系列目录
下一篇: 在vscode(win10)配置 CMU-15445-lab(linux子系统)
Korpse
博客等级 码龄9年 115粉丝 25原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值