自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 mac下将所有字体嵌入pdf(PDF/A格式)最简单的方式

创建PDF/A格式的PDF

2022-06-15 17:44:07 1929 1

原创 vim代码阅读环境搭建

代码阅读,分为两种使用情况找函数定义ctags,其使用方法网上资料很多;找函数所有使用位置查找使用位置,命令模式输入::grep “xxx” ./* -R --binary-files=without-match打开一个额外窗口:cwindow该模式下的其他tips:通过ctrl + w可以在窗口切换;在查找的窗口,按回车键即可进入所在行;窗口可以不关闭,每次替换查找命令中不同的关键字即可可以达到近似图形界面代码的阅读能力。...

2021-04-09 10:52:37 216

原创 高级主题 -- Backups、Checkpoint durability、commit-level durability和Cache and eviction tuning

本文尝试继续介绍数据库中非常关键的特性,这些特性与实现细节密切相关。但是由于还没有看源代码,之前关于tokudb的实现也大量遗忘了,只能根据文档,管中窥豹。Backups,介绍了wiredtiger备份数据库的方法(通过cursors进行),支持全量备份(若为开启log,可选择一部分文件进行备份)和增量备份。全量备份时,其关键就在于将数据库的所有文件进行拷贝,因为在拷贝的过程中,文件会被app...

2020-10-10 00:02:28 181

原创 用户视角的wiredtiger -- Using the API -- cursors、事务、和错误处理

本文在阅读wiredtiger的官方文档后,总结该存储引擎的基本概念、功能和特点。Getting Start 介绍了接口的使用的基本流程,包括WT_CONNECTION ,WT_SESSION 和WT_CURSOR的创建。WT_CONNECTION于一个进程绑定,其方法多线程安全;一个connection可以创建多个WT_SESSION,每个线程访问数据库要通过打开一个session。每个ses...

2020-10-10 00:00:04 365

原创 用户视角的wiredtiger -- Storage options (1) -- 模式、列簇、索引和投影

本文主要介绍Schema, Columns, Column Groups, Indices and Projections 。wiredtiger不仅支持简单的K/V格式的table,还支持更加复杂的数据模式。Tables, rows and columns, 支持行存和列存两种方式。行存的方式为将一行的所有元素(列)存储为一个元素,然后依次存下一行;列存将一列的所有元素(行)存储为一个元素,...

2020-10-09 23:58:19 259

原创 用户视角的wiredtiger -- Storage options (2) -- 文件格式、压缩方法和加密

Log-Structured Merge Treeswiredtiger支持使用LSM树(默认为B树)以解决B树存储大数据量(无法完全缓存)时用户进行大量随机写的场景(因为大量的page的随机读和随机写)。通过配置type=lsm可以创建lsm类型的表或者index。 注意:使用LSM时不支持列存;不支持使用Named checkpoints(只能读最近的标准checkpoint)。File ...

2020-10-09 23:57:33 321

原创 wiredtiger 安装和使用

安装的详细选项,参见此。git clone git://github.com/wiredtiger/wiredtiger.gitcd wiredtigeryum -y install install autoconf automake libtoolsh autogen.sh./configure && make# To rebuild from scratch, d...

2020-10-09 23:55:56 1397

原创 How to Build a Non-Volatile Memory Database Management System论文总结

本文基于Peloton(基于NVM支持HTAP的DBMS),介绍了基于NVM构建一个数据库系统所涉及的关键模块,如下图所示。同时总结了每个关键模块的一些经典论文(具体论文见原文)对于Access Interface: Allocator Interface(内存分配器)需要保证数据的持久性, non-volatile pointers(重启后指针仍有效性,称作naming机制), 原子性。对于File System Interface, 文件系统通过支持DAX,提供了高效访问NVM的接口。对于St

2020-10-09 11:41:58 333

原创 Self-Driving Database Management Systems论文阅读

论文

2020-10-08 23:46:45 368 1

原创 rocksdb编译链接

按照INSTALL.md文件进行按照设置LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/libCPATH=${CPATH}:/usr/local/includemake -j release 即可。然而,编译发现db_bench仍然找不到gflag库。解决办法:在/etc/ld.so.conf文件中增加一行cat /etc/ld.so.confinclude ld.so.conf.d/*.conf/usr/local/libRun ld

2020-06-04 15:39:58 447 1

原创 gdb日常总结

输出unique_ptr中的指针: ptr._M_t->_M_head_impl输出share_ptr中的指针:ptr._M_ptr

2020-06-02 21:07:34 197

原创 mac下使用ctags

安装Exuberant Ctags从 此 下载安装包,并解压和安装;tar -zxvf ctags-5.8.tar.gz./configure && make && sudo make installwhich ctags如果返回/usr/bin/ctags,说明是系统之前默认的,需要进行下面步骤,使用刚才安装的ctags打开 ~/.bash_prof...

2020-02-29 21:12:02 1583

空空如也

空空如也

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

TA关注的人

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