随笔分类 - 数据库
Lecture#08 Tree Indexes2
摘要:**review:** 上节课我们说对于非唯一性索引(有重复的key): - Duplicate Keys:使用相同的叶结点布局,但存储 Duplicate Keys 多次。(更常用) - Value Lists:每个键 key 存储一次,并维护一个唯一的 value 的链表。 但在B+树中,实际应
Lecture#07 Tree Indexes1
摘要:**review:** 我们上节课讨论了DBMS系统内部的 data structure: - **Internal Meta-Data(内部元数据)**:跟踪数据库和系统状态的信息。 - **Core Data Storage(核心数据存储)**:可以用作数据库中 tuple 的基础存储。数据库所
Lecture#06 HashTables
摘要:**review:** 我们已讨论了如何往磁盘上存储数据,如何在磁盘上表示 page;如何将这些 page 放入内存、buffer pool 及其优化;并且通过⼀种策略来决定何时将 page 从 buffer pool 中移除,以及当我们在做写操作时,该如何锁住(pin)东⻄。 ## 1 数据结构
Lecture#05 Buffer Pool
摘要:**review: database workloads** OLTP:收集数据,运算快速,每次只读取/更新一小部分数据。(simple,read) OLAP:查询复杂,对大量OLTP收集数据进行读取分析,以推断出新数据。(complex,write) HTAP:既做OLTP又做OLAP的数据库系统
Lecture#04 Database Storage2
摘要:我们希望构建面向磁盘的DBMS。 我们之前说过,数据库由一系列page表示;接着我们讨论了如何将heap文件拆分为page;然后讲了page中组织tuple的常用方法slotted-pages;最后是tuple中布局。 ## 1 数据表示 Tuple本质上就是 byte 数组。DBMS的任务就是将那
Lecture#03 Database Storage1
摘要:前两节课讨论了从一个高级层面看待一个数据库该是怎样的,以及从逻辑层面而言对开发人员的样子。 本课程讨论实际该如何构建管理数据库系统(构建`面向磁盘的数据库管理系统`:数据库存储在磁盘中)。 这节课及下节课,集中讲解磁盘管理器,即我们实际该如何将数据存储在磁盘的文件中。然后,在此之上,我们需了解哪些A
Lecture#02 Advanced SQL
摘要:上节课提到关系代数,其目标是 **从更高层面告诉数据库我们想要的结果,而不告诉它如何做。** 🌰 对数据进行进行排序,若我们必须告诉数据库系统具体该如何做,则需提供给它具体的某种排序算法;若我们使用高级语言/声明式语言,则只需告知数据库完成对数据的排序,而并不介意它实际怎样完成。 👆是声明式语言
Lecture#01 关系模型与关系代数
摘要:### 课程大纲 1. 关系数据库概念 2. 数据库的存储 3. 数据库的查询 4. 数据库的并发控制,事务管理,遇到冲突或需要重启系统时如何恢复数据库 5. 更高级的内容——分布式数据库,其他类型的数据库,关系型数据库的扩展 ### 项目 如何构建一个用于评测的面向磁盘的数据库系统 面向磁盘:假设
《数据库系统概念》第三章
摘要:第三章 SQL SQL(结构化查询语言)是使用最广泛的数据库查询语言。 尽管我们说 SQL 语言是种”查询语言“,但除了数据库查询,它还具有很多其他功能:定义数据结构、修改数据库数据、说明安全性约束条件等。 我们将介绍 SQL 的基本结构和概念,SQL 的各种实现可能在一些细节上有所不同,或只支持整
一、TiDB 数据库架构概述
摘要:TiFlash采用列存,列存对于统计分析友好,利于处理OLAP业务;TiKV采用行存,行存对于事务友好,利于处理OLTP业务。 二、TiDB Server 架构原理 三、TiKV 架构原理 四、TiDB 数据库事务设计 五、PD 架构原理
二、TiDB Server 架构原理
摘要:1 TiDB Server 的架构 TiDB Server是无状态的,可在一个TiDB数据库中启动多个TiDB Server,可通过负载均衡软件如LVS、HAProxy、F5等提供统一的接入地址,客户端可将连接均匀分摊到多个TiDB Server上。 TiDB Server 不存储数据。 Proto
TiDB - 说计算
摘要:三、TiDB 计算 https://pingcap.com/zh/blog/tidb-internal-2 3.1 关系模型到 Key-Value 模型的映射 在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变为如何在 KV 结构上保存 Table 以及如何在 KV 结构上运行
TiDB - 说调度
摘要:二、TiDB 调度 https://pingcap.com/zh/blog/tidb-internal-3 2.1 为什么要进行调度 先回忆一下 三篇文章了解 TiDB 技术内幕 - 说存储 提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎,数据以 Region 为单位进行
TiDB技术内幕 - 说存储
摘要:一、TiDB 存储 https://pingcap.com/zh/blog/tidb-internal-1 1.1 key-value 数据的存储模型(数据以何种形式保存):key-value模型,且提供有序遍历方法。 将 TiKV 看做一个巨大的 Map,其中 Key 和 Value 都是原始的
《数据库系统概念》第二章
摘要:第二章 关系模型介绍 2.1 关系数据库结构 关系数据库由表组成,每个表有唯一名字。 表中一行代表了一组值之间的一种 联系,一个表就是这种联系的一个集合。 数学术语中,元组 只是一组值的序列(或列表)。 在 n 个值之间的一种联系可在数学上用关于这些值的一个 n元组 表示。换言之,n元组 是一个有n