
--2.1Database
文章平均质量分 69
XuRuiIsCoding
这个作者很懒,什么都没留下…
展开
-
可靠性,可扩展性,可维护性-Designing Data-Intensve Applications-Ch1
可靠性意味着即使发生故障,也能使系统正常工作。故障可以是硬件(通常是随机的和不相关的),软件(缺陷通常是系统的,难以处理的),以及人类(不可避免地会不时出错)。容错技术可以隐藏最终用户的某些类型的故障。可扩展性意味着即使在负载增加的情况下也有保持性能的策略。为了讨论可扩展性,我们首先需要定量描述负载和性能的方法。我们简单地将Twitter的家庭时间表作为描述负载的一个例子,并将响应时间百分...原创 2018-07-12 20:55:59 · 7184 阅读 · 0 评论 -
CMU15 445/645课程-Tree Based Indexes笔记
B+Tree一种搜索,插入,删除都是log(n)的数据结构 a.节点可以有超过两个的子节点 b.适合顺序存取 两种访问叶子节点值得方法 1.Record IDs:指针指向元祖位置 2.Tuple Data:远足内容存在叶子节点中B+ Tree Operations插入 这时我们插入70 删除 首先,删除键值为70的这条记录,删除后。 接着我们删除键...原创 2018-07-13 20:56:23 · 1561 阅读 · 0 评论 -
范式学习手册
第一范式(1NF) 数据库表的每一列都是不可再分的原子数据项第二范式(2NF) 在第一范式基础上,消除非主属性对主属性的部分函数依赖第三范式(3NF) 在第二范式基础上,消除非主属性对主属性的传递函数依赖BC范式(BCNF) 在第三范式基础上,消除主属性对主属性的部分函数依赖与传递函数依赖阅读链接:https://blog.youkuaiyun.com/yangbodong22011/...原创 2018-07-05 15:19:06 · 326 阅读 · 0 评论 -
确定性数据库-Calvin
Calvin 在设计的时候,并不是为了某一个独立的系统设计的。Calvin 提供了一个事务调度层和数据复制层,采用一个确定锁机制,来为不同的存储系统提供分布式事务支持。可以看出,Calvin 的愿景还是非常伟大的,这种可拔插,分层的设计我们 TiDB 这边也是非常推崇的。这也就更加深了我研究它的兴趣。Traditional Distributed Transaction对于很多传统的分布式...转载 2018-07-04 19:32:28 · 1968 阅读 · 0 评论 -
图解SQL的JOIN
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。假设我们有两张表。Ta...转载 2018-07-03 21:53:32 · 200 阅读 · 0 评论 -
CMU15 445/645课程-Buffer Pool笔记
Buffer Pools用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入了这一中间层,数据库对内存的管理变得相对比较复杂。 缓冲池是从磁盘读取的页面的内存缓存,一个内存区域。Page table:页中除了存储用户数据,还可以存储控制信息...原创 2018-07-09 22:34:52 · 1317 阅读 · 0 评论 -
CMU15 445/645课程-哈希表笔记
HashTablekey-value对应的关联抽象数据类型功能: 1.可以用作数据库中基本存储 2.可用作数据结构,来查询计划中执行不同的关系运算符 3.可用作索引加速查询处理 使用hash function存入bucket(桶) 分类:静态哈希表对于可变长度元素,数组保存指向元素的指针 每个元素都有个块 问题: 需要提前知道元素数 每个key都是独一无二的 ...原创 2018-07-09 21:15:16 · 1453 阅读 · 0 评论 -
浅谈数据库分片技术
假如您有一个应用程序,随着业务越来越有起色,系统所牵涉到的数据量也就越来越大,此时您要涉及到对系统进行伸缩(Scale)的问题了。一种典型的扩展方法叫做“向上伸缩(Scale Up)”,它的意思是通过使用更好的硬件来提高系统的性能参数。而另一种方法则叫做“向外伸缩(Scale Out)”,它是指通过增加额外的硬件(如服务器)来达到相同的效果。从“硬件成本”还是“系统极限”的角度来说,“向外伸缩”一...原创 2018-03-12 18:34:50 · 4462 阅读 · 0 评论 -
数据库系统实现——chaptor 3 索引结构
索引是这样一种数据结构:它以一个或多个字段的值为输入,并能“快速地”找出具有该值的记录。 具体来说,索引是我们只需要查看所有可能记录中的一小部分就能找到所需记录。简历索引的字段(组合)成为查找键,在索引不言而喻时也可称“键”。1.1稠密索引稠密索引是一系列的存储块:块中只存放记录的键以及指向记录本身的指针,即一对一。 特点:空间大,时间少 优势: 1.索引块数量通常比数据块的数...原创 2018-03-18 15:05:48 · 673 阅读 · 0 评论 -
MySQL常用操作
Ⅰ 对数据的操作 1.创建数据库表使用 create table 语句可完成对表的创建, create table 的常见形式:create table 表名称(列声明);以创建 students 表为例, 表中将存放 学号(id)、姓名(name)、年龄(age) 这些内容: create table students ( id int uns...原创 2018-01-19 21:29:35 · 366 阅读 · 0 评论 -
数据库系统实现-辅助存储管理
1.校验和奇偶性:二进制中有奇数个1,则奇偶位为1,反之,奇偶位为0奇偶块同理2.RAID-应对磁盘崩溃问题的技术 RAID 0 速度+,可靠性- 普通版本,读写均可以并行处理,但是却没有数 据冗余,单个磁盘的损坏会导致数据的不可修复。 RAID1 可靠性+,利用率- 镜像存储(mirroring),没有数据校验。数据被同等地写入两个或多个磁盘中,可想而知,写入速度原创 2018-01-15 20:17:39 · 407 阅读 · 0 评论 -
关于数据库的各种码汇总理解
在《数据库系统概论》(第四版)——王珊、萨师煊编著中:1.候选码的定义:如果关系中的某一属性组的值能唯一地标识一个元祖,则称该属性组为候选码;主码的定义:如果一个关系有多个候选码,则选定其中一个为主码;主属性定义:候选码的诸属性称为主属性;非主属性定义:不包含在任何候选码中的属性称为非主属性;实体完整性规则:如果属性(一个或者一组属性)A是基本关系R的主属性,则A不能取空值。原创 2016-06-06 17:59:52 · 7982 阅读 · 0 评论