![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
IamCerian
我曾幻想有双翅膀
展开
-
数据库系列综述
终于,伴随草稿箱中的内容清空,数据库相关的分享也告一段落了,其实笔记本中还有很多内容没有来得及分享,例如1)范式2)物理存储结构(Storage and File Structure)3)索引(Indexing and Hasing)4)并发控制(ConcurrencyControl)5)恢复(RecoverySystem)6)bigtable的master server、tablet详细介绍等等。没有分享的原因很多,时间来不及,掌握的程度不够,内容难度比较大(各种各样的数学符号输入太麻烦)原创 2020-07-08 00:06:47 · 1404 阅读 · 0 评论 -
数据库SQL(十二):分布式锁服务Chubby
文章目录一、概念二、用途三、体系结构四、文件结构五、访问接口六、一致性一、概念提供存储服务并为其他基础设施(GFS和Bigtable) 提供协调服务GFS使用Chubby选取master服务器,Bigtable使用chubby指定master服务器并发现、控制相关的子表服务器。提供粗粒度的分布式锁Advisory lock,不是mandatory lock锁持有时间可以长达几天提供一个文件系统,为小文件提供可靠存储,补充GFS提供的服务做Google内部的名字服务核心服务:提供分布式原创 2020-07-07 23:40:31 · 573 阅读 · 0 评论 -
数据库SQL(十一):Bigtable
文章目录一、诞生背景BigTable设计的动机与目标二、 BigTable的数据模型三、BigTable的数据模型-Rows四、BigTable的数据模型-Column Families五、BigTable的数据模型-timestamps六、Bigtable体系结构一、诞生背景BigTable设计的动机与目标动机需要存储的数据种类繁多、类型多样,例如URL.图片、文字、视频、html文件、用户设置数据等;需要处理海量的服务请求;商用数据库无法满足Google的需求,底层系统技术的掌控便于系统维原创 2020-07-07 23:28:26 · 1600 阅读 · 0 评论 -
数据库SQL(十):水平扩展及数据一致性
文章目录一、单机的一致性问题解决方案二、计算平台分类三、集群四、 I/O并行I/O并行技术(设节点数为n):五、分片六、复制主从复制对等复制七、数据分布倾斜(Data-Distribution skew)处理范围中分区倾斜八、 虚拟结点分区九、一致性HASH算法原理引入虚拟结点的一致性hash一、单机的一致性问题数据库读写速度受单机硬件的影响,硬盘的性能时影响读写的重要因素。解决方案纵向扩展提高单机的物理配置横向扩展添加更多的结点,节点之间用告诉网络连接,当需要更高的性能或更大的容量时,可原创 2020-07-07 23:12:26 · 781 阅读 · 0 评论 -
数据库SQL(九):NoSQL介绍
文章目录一、传统数据管理方法存在的问题二、NoSQL定义及特点三、NoSQL数据库中的数据一致性CAP理论四、主流NoSQL数据库类型一、传统数据管理方法存在的问题不擅长大量数据的写入操作解决方案:1)读写分离问题:更新的数据在两条服务器上会出现数据一致性问题2)读写分离,且操作匹配,不同的表操作分配给不同的数据库服务器3)不同的表分配给同的数据库服务器问题:跨服务器实现join非常困难。不擅长为数据更新时,更新索引、表结构更新时,需要加锁,数据访问受限制,高并发时性能受影响原创 2020-07-07 22:19:54 · 278 阅读 · 0 评论 -
数据库SQL(八):Functional Dependencies (函数依赖)
关系数据库设计的目标:决策一个特定的关系模式R是否是“好”的范式。如果R不是好的范式,则将R分解为{R1, R2, …, Rn},使得每一个子模式都是好的模式,而且分解是无损链接分解。过程中涉及理论是函数依赖理论和多值依赖理论。我们这里只讨论函数依赖。文章目录1、 Functional Dependencies1、 Functional Dependencies函数依赖是另一种完整性约束,对于消除数据冗余很重要,能够系统地改进数据库设计。一个关系模式R上的函数依赖,表示为:A1, A2, …, An原创 2020-06-20 23:26:22 · 9192 阅读 · 1 评论 -
数据库SQL(七):Relational Algebra(关系代数)
从本篇文章内容开始,逐渐深入探究高级数据库知识,内容难度有显著提升,我努力用最清楚的方式解释,量力而行。文章目录IntroductionSelect OperationProject OperationUnion OperationSet Difference OperationCartesian-Product OperationIntroduction关系代数的基本运算:union, intersection, selection, projection, Cartesian product 和r原创 2020-05-31 14:38:33 · 5633 阅读 · 0 评论 -
阅读笔记:Multi-model Databases: A New Journey to Handle the Variety of Data
Multi-model Databases: A New Journey to Handle the Variety of Data 是一篇发表在顶级SCI期刊 “ACM COMPUTING SURVEY”的杰出论文。论文篇幅很长,全文共38页,需要详细内容的可以评论私发。文章的核心词汇是“Multi-model Databases”。字面翻译是多模型数据库。为了避免因为误认而导致的对于读者时间的浪费,这篇文章的内容将会以论文的形式布局。CatalogsIntroductionPRELIMINARIES原创 2020-05-27 21:32:20 · 2179 阅读 · 3 评论 -
数据库SQL(六):Triggers(触发器)
文章目录1、what are triggers2、Example3、Triggering Events and Actions in SQL4、When Not To Use Triggers1、what are triggersA trigger is a statement that is executed automatically by the system as a side effect of a modification to the database. (insert, delete,原创 2020-05-24 20:08:17 · 4492 阅读 · 0 评论 -
数据库SQL(五):Integrity Constraints(完整性约束)
文章目录1、why2、what1、why为什么要有完整性约束呢?因为完整性约束可以保证用户修改数据库时不会破坏数据库的一致性,就是说不会将不满足应用需求的数据存入数据库。2、whatIntegrity Constraints are specified when schema is defined.Integrity Constraints are checked when relations are modified.也就是说,定义数据库schema的时候说明完整性约束,修改数据库表的时候检原创 2020-05-24 14:27:21 · 6706 阅读 · 0 评论 -
数据库SQL(四):Procedure(过程)
文章目录1、Definition2、特殊过程1、DefinitionSQL支持过程,同样先定义后调用。定义过程需要有过程名、输入参数和输出参数,分别用in和out关键字标识。语法如下SQL允许多个过程同名,只要参数个数不同。名称和参数个数用于唯一标识一个过程。SQL也允许多个函数同名,只要函数参数个数不同就可以。2、特殊过程这个例子完成查询:查找位于Watson大楼的所有院系的budget总和,其中n是局部变量,初始化为0,for循环执行查询,并做累加计算。可以将R看作游标。...原创 2020-05-24 12:38:33 · 1747 阅读 · 0 评论 -
数据库SQL(三):Function(函数)
文章目录1、Definition2、Example3、Table Function1、DefinitionSQL提供了类似高级语言的程序结构,如分支结构(if语句)、循环结构(while,for语句等)可以完成复杂的“业务逻辑”,并存储在数据库中,然后在SQL中调用。例如面对一些数据管理应用时,一些业务规则的定义,一些可以通过参数调用的功能实现等实现,这时可以用存储过程来实现。当规则发生变化时,可以不需要修改其它代码。当参数变化时,不需要重复写代码。2、Example函数定义形式如下函数要有函数原创 2020-05-22 21:27:22 · 6471 阅读 · 0 评论 -
数据库SQL(二):View(视图)详细
文章目录1、Definition1)视图产生的原因2)定义3)视图和普通查询的区别2、Example3、Materialized Views(物化视图)4、更新视图5、更新视图的原则(约束)1、Definition1)视图产生的原因In some cases, it is not desirable for all users to see the entire logical model (that is, all the actual relations stored in the databas原创 2020-05-21 22:08:20 · 1577 阅读 · 0 评论 -
数据库SQL(一):Join(外连接、内连接)
准备完成一份数据库的详细介绍,内容脱离某个具体的DBMS,以阐述数据库的思想为目的,内容将涵盖数据库高级技术中的绝大多数方面,敬请期待。文章目录JoinInner Join(natural join is equivalent to natural inner join)Left Outer JoinRight Outer JoinFull Outer JoinJoin首先明白一点,任何查询SQL的结果都是一个数据集。Join类型包括:inner join、outer join,outer join原创 2020-05-18 22:46:45 · 1634 阅读 · 0 评论 -
数据库事务以及隔离
本篇文章主要内容是数据库事务、并发性问题和事务分割的级别。一、什么是数据库的事务数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:1)为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2)当...原创 2019-03-21 22:22:37 · 191 阅读 · 0 评论 -
数据库索引
一、索引的优势1.在设计数据库时,通过创建一个唯一的索引,能够在索引和信息之间形成一对一的映射式的对应关系,增加数据的唯一性的特点。2.能提高数据的搜索及检索速度,符合数据库建立的初衷3.在信息检索过程中,若使用分组及排序子句进行时,通过建立索引,能有效的减少检索过程中所需的分组及排序时间,提高检索效率。二、索引的缺点1.在数据库建立过程中,需花费较多的时间去建立并维护索引,特别是随着数...原创 2019-03-21 17:22:06 · 219 阅读 · 0 评论