博客专栏  >  数据库   >  高级数据库

高级数据库

CMU Advanced Database Systems (Spring 2017)课程学习笔记

关注
4 已关注
25篇博文
  • 数据库设计的非正统方法:Shard的来临

    数据库设计的非正统方法:Shard的来临 关于Shard和Partition的区别,大家可以看看What’s the difference between sharding DB tables an...

    2018-01-13 10:02
    210
  • 高级数据库一:深入理解数据库磁盘存储(Disk Storage)

    原文地址 数据库管理系统将数据存储在磁盘、磁带以及其他的裸设备上,虽然这些设备的访问速度相比内存慢很多,但其非易失性和大容量的特点使他们成为数据存储的不二之选。 本...

    2017-09-09 07:19
    403
  • 高级数据库二:深入理解DB2索引(Index)

    原文地址 索引(Index)是数据库管理系统中一个非常重要的数据结构,索引的合理使用能够极大提高数据库系统的性能。那么,什么是索引?索引有时如何提高数据库系统性能的呢? ...

    2017-09-09 08:23
    396
  • 高级数据库三:浅谈数据库事务(transaction)

    事务的定义 事务(txn)是一系列在共享数据库上执行的行为,以达到更高层次更复杂逻辑的功能。事务是DBMS中最基础的单位,事务不可分割。 ACID ACID,是指在可靠数据库管理系统(DBM...

    2017-09-11 00:22
    5889
  • 高级数据库四:浅谈数据库查询过程(Query Processing)

    我们知道,目前通用的数据库查询语言是SQL语言(Structured Query Language)。SQL语言也是一种编译型语言,需要SQL编译器编译后才能执行,但它与C、C++、Java等语言不同...

    2017-09-18 05:36
    610
  • 高级数据库五:浅谈数据库隔离级别与锁机制

    因为数据库中的事务是具有隔离性的,一个事务的运行不应该影响另一个事务的运行。 但是因为并行机制的存在,会有一系列的问题: 脏读:事务A修改了一个数据,但未提交,事务B读到了事务A未提交的更新...

    2017-09-23 00:00
    453
  • 高级数据库六:浅谈数据库的多版本并发控制(MVCC)

    多版本并发控制Multi-Version Concurrency Control 基础理解 事务T1改变数据V1,将其改为数据V2,在堆中,数据如下图 事务T3改变了V2,将其改为V3,...

    2017-11-27 09:42
    927
  • 高级数据库七:索引的锁和闩

    索引的锁和闩(Locking & Latching) 索引的锁和闩 索引作用 一种能够加快数据检索速度的数据结构,但是会占用额外的读写维护操作和存储空间。 索引实现 B树系列、哈...

    2017-11-28 00:30
    379
  • 高级数据库八:不需要锁和闩的索引(一)

    不需要锁和闩的索引(Latch-free OLTP Indexes Part I) T-Trees T-Trees 是一种基于AVL树的数据结构,它的设计是人们针对内存数据库做的优化。 不像...

    2017-12-24 01:05
    571
  • 高级数据库九:不需要锁和闩的索引(二)

    不需要锁和闩的索引(Latch-free OLTP Indexes Part II) Bw-Tree Index 对于并发的跳表而言,我们不能在无锁的情况下有反向指针,因为CaS一次只能更新一...

    2017-12-24 09:04
    545
  • 高级数据库十:联机分析处理的索引

    OLAP Indexes 对于传统的分析数据库结构大致如下 OLTP数据库保持相互独立,然后将需要的数据传输到OLAP数据库。 OLAP Schemas 决策支持系统(DECISI...

    2017-12-26 07:31
    541
  • 高级数据库十二(2):HIVE文件存储格式

    数据库十二(2):HIVE文件存储格式 昨天在看HIVE的时候,突然发现HIVE的文件存储对数据的压缩刚好是前天看的数据库压缩的内容。所以刚好可以拿出来讲一下。 TextFile Hiv...

    2017-12-30 00:35
    237
  • 高级数据库十三:日志协议

    Logging Protocols Logging Schemes 恢复算法 日志一般与系统恢复有关,恢复算法是确保数据库一致性、原子性和持久性(尽管事务失败)的技术。 恢复算法有两个...

    2017-12-31 11:47
    251
  • 高级数据库十四:检查点协议

    Checkpoint Protocols 背景 日志允许DBMS在崩溃/重新启动后恢复数据库。 但是这个系统每次都要重做整个日志。 检查点允许系统忽略大部分日志以减少恢复时间,就像存档点一样...

    2018-01-02 10:24
    592
  • 高级数据库十五:查询优化器(一)

    Optimizer Implementation(Part I) 背景 在讲述这个优化器的时候,就必须先了解查询过程。在本系列的数据库四:浅谈数据库查询过程(Query Processing)...

    2018-01-05 10:33
    448
  • 高级数据库十六:查询优化器(二)

    Optimizer Implementation(Part II) 在这儿解释一下,逻辑查询计划或者逻辑计划指的是关系代数层面的查询语句;物理查询计划或者物理计划指的是具体查询层面的查询算法,具体到...

    2018-01-07 09:05
    608
  • 高级数据库十七:优化器估价模型

    Optimizer Cost Models 我们在上两次讲查询优化文章中,提到了基于成本的查询计划,它们为数据库的当前状态生成执行特定查询计划的查询成本估计。 查询成本与我们上一节课讨论的优化器搜...

    2018-01-08 12:55
    139
  • 高级数据库十八:查询规划与执行

    Query Execution & Scheduling 对于数据库系统,交互模式大致如上。 前端有多个用户,也就是多个应用程序来访问后端。后端则发送逻辑查询给DBMS,DBMS得到SQL语句...

    2018-01-09 22:13
    123
  • 高级数据库十九:并行JOIN算法(Hashing)

    Parallel Join Algorithms (Hashing) 背景 我们在执行Join操作的时候,肯定会使用多线程。但是这些多线程不是完全独立运行的,因为你需要在进入下一个阶段前将这一...

    2018-01-14 10:39
    264
  • 高级数据库二十:并行JOIN算法(Sorting)

    Parallel Join Algorithms (Sorting) 背景 关于Join的其他背景可以查看上一篇讲Hash Join的文章。 SINGLE INSTRUCTION, MU...

    2018-01-15 07:21
    256

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部