
Database
文章平均质量分 51
west_liu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CMU15-445 2020Fall Project0-C++ primer
准备工作原创 2021-08-05 22:47:44 · 2137 阅读 · 0 评论 -
leveldb源码阅读(一)
include/leveldb/slice.h slice是leveldb内部使用的字符串类,代码很简单。 该类只有两个数据成员: const char* data_; size_t size_; 函数成员也很简单,如通过各种方式构造,比较,移除前缀等等。 util/coding.h coding这个类是用来类型转换和压缩空间的,比如声明一个uint32类型的变量,要分配4个字节的空间,如果...原创 2019-01-05 16:52:13 · 4983 阅读 · 2 评论 -
Bitcask:A Log-Structured Hash Table for Fast Key/Value Data 阅读笔记
一个Bitcask实例就是一个目录,我们保证在一个时刻只有一个系统进程可以打开Bitcask进行写操作。 在一个时刻,只有一个文件是“active”的。当文件达到一定的大小限制就会关闭,并创建一个新的“active”文件。 一旦一个文件关闭了,就视为是不可变的,即不会再打开来进行写操作。 “active”file是以追加的方式来进行写操作,意味着顺序写不会导致磁盘搜索。 一个key-value ...原创 2018-12-28 12:26:12 · 902 阅读 · 0 评论 -
CMU15-445数据库系统课程实验详解
CMU-15-445 学完CMU15-445之后有很大的收获,特别做其中的实验,因此记录了一些笔记。 课程地址 CMU的数据库系统课程时间表 实验代码 课程简介 该课程是CMU的数据库系统的基础课程,实验需要使用C++11,一共有四个实验: 缓冲池管理器 B+树 并发控制 记录和恢复 实验代码在Lab目录下,如果想获得没完成实验前的代码,可以在github搜索,找找就有了。 建议 每次实验前都...原创 2018-11-10 10:31:17 · 8662 阅读 · 0 评论 -
Google leveldb学习笔记一:基本架构与安装使用
简介 LevelDB是一个Google编写的快速键值存储库,它提供从字符串键到字符串值的有序映射。 基本架构 LSM树存储引擎 先说什么是存储引擎: 存储引擎是存储系统的发动机,直接决定了存储系统能够提供的性能和功能 存储系统的基本功能包括:增删读改,读取操作又可以分为随机读取和顺序扫描 哈希存储引擎是哈希表的持久化表现,不支持顺序扫描,对应的存储系统为键值存储系统 B-Tree...原创 2018-09-10 21:24:23 · 874 阅读 · 0 评论 -
什么是分布式存储系统?
分布式存储系统 定义 分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务 特性 可扩展 低成本 高性能 易用 挑战 分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库。 + 数据分布 + 一致性 + 容错 + 负载均衡...原创 2018-09-09 10:03:22 · 6701 阅读 · 0 评论 -
《Redis 设计与实现》第二版读书笔记之整数集合
简介 整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现 实现 整数集合是Redis用于保存整数值的集合抽象数据结构,它可以保存类型为int16_t、int32_t、int64_t的整数值,并且保证集合中不会出现重复元素。 intset.h/intset typedef struct intset { ...原创 2018-09-03 20:42:34 · 234 阅读 · 0 评论 -
什么是数据库系统?
数据库系统 数据库满足的五条规则 允许用户使用专门的数据定义语言创建新的数据库并指定其模式 给予用户使用适当的语言来查询数据和修改数据的能力 支持非常大量的数据长期地进行存储,允许高效地存储数据以进行查询和数据库修改 使数据具有持久性,即能从故障、多种类型的错误或者故意滥用中进行恢复 控制多个用户同时对数据进行访问,不允许用户间有不恰当的相互影响(孤立性),并且不会发生在数据上进行了部分的而...原创 2018-09-08 23:51:22 · 3805 阅读 · 0 评论 -
《Redis 设计与实现》第二版读书笔记之压缩列表
简介 压缩列表是列表键和哈希键的底层实现之一。 压缩列表的构成 压缩列表是Redis为了节约内存而开发,是由一系列特殊编码的连续内存块组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每个节点可以保存一个字节数组或者一个整数值...原创 2018-09-08 21:09:07 · 180 阅读 · 0 评论 -
《Redis 设计与实现》第二版读书笔记之跳跃表
跳跃表简介 跳跃表是一种有序的数据结构,他通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点 Redis使用跳跃表作为有序集合键的底层实现之一,如果有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串,Redis就会使用跳跃表作为有序集合键的地底层实现 ...原创 2018-09-02 11:43:16 · 169 阅读 · 0 评论 -
CMU 15-445(2018 Fall) 数据库系统(一)
视频教程:https://www.bilibili.com/video/av30851650 pdf:https://15445.courses.cs.cmu.edu/fall2018/slides/01-introduction.pdf原创 2018-09-01 11:03:32 · 4343 阅读 · 0 评论