首页 > 其他分享 >CMU 15-445 Lecture #05: Storage Models & Compression笔记总结(上)

CMU 15-445 Lecture #05: Storage Models & Compression笔记总结(上)

时间:2024-05-24 23:29:00浏览次数:36  
标签:15 Compression 05 Storage storage single 内存 queries data

这是cmu 15-445第五节课程Storage Models & Compression的上半部分,主要包括Storage Models的内容,压缩部分下次再整理,学完这部分可以去做hw2的第一部分

课程主页:CMU 15-445/645 :: Intro to Database Systems (Fall 2023)

(有几张图片目前没上传,过两天补一下)

Database Workloads

Untitled

  • OLTP(On-line Transaction Processing)→处理

    Simple queries that read/update a small amount of data that is related to a single entity in the database

    An OLTP workload is characterized by fast, short running operations, repetitive operations and simple queries that operate on single entity at a time.

    • 特点:操作次数较多,但操作相对较简单,更多的与read有关。
  • OLAP(On-line Analytical Processing)→分析

    Complex queries that read large portions of the database spanning multiple entities.

    An OLAP workload is characterized by long runningcomplex queries and reads on large portions of the database.

    • 特点: 操作会较为复杂,可能为一个属性涉及多个实体。

Storage Model

  • NSM(N-ary storage model)
    • The DBMS stores (almost) all attributes for a single tuple contiguously in a single page.

    • row storage(行存储):将一行数据的所有列值存储在一起

    • 适合OLTP系统→当需要插入一个新纪录,或某个记录的多个列,只需访问相应的行数据

      Untitled

    • 优点:

      • Fast inserts, updates, and deletes.
      • Good for queries that need the entire tuple (OLTP).
      • Can use index-oriented physical storage for clustering.
        • 可以高效的支持聚簇索引→可以使用索引导向物理存储。
    • 缺点:

      • Not good for scanning large portions of the table and/or a subset of the attributes.
      • Terrible memory locality in access patterns.
        • memory locality(内存局部性):在访问内存时,数据在内存中的位置是否靠近。如果访问的数据在内存中相邻,那么内存局部性好,性能高;反之,则内存局部性差,性能低。
        • 在访问特定列数据时会出现这个问题导致频繁的内存页面切换和缓存未命中,降低访问效率。
      • Not ideal for compression because of multiple value domains within a single page.
        • 压缩通常以来数据的相似性。
  • DECOMPOSITION STORAGE MODEL (DSM)
    • The DBMS stores a single attribute for all tuples contiguously in a block of data.

    • Column Storage(列存储):不是按实体,而是按属性放一起

    • 适合OLAP系统→可以在一个表内就查到很多实体的某个属性

      Untitled

    • 元组识别(重新组合为完整的行)

      1. Fixed-length Offsets
        • 若对一个属性,每个值长度都一样,可以按照偏移量确定同一行
      2. Embedded Tuple Ids
        • 为每个值添加一个饿对应的tuple id

      Untitled

    • 优势:

      • Reduces the amount wasted I/O per query because the DBMS only reads the data that it needs.
        • 查某个实体的某个属性时就不会查该实体的别的属性
      • Faster query processing because of increased locality and cached data reuse.
      • Better data compression
        • 更好压缩(下文
    • 缺点:

      • Slow for point queries, inserts, updates, and deletes because of tuple splitting/stitching/reorganization.
  • PAX(Partition Attributes Across)混合储存模型
    • Partition Attributes Across (PAX) is a hybrid storage model that vertically partitions attributes within a database page.

    • The goal is to get the benefit of faster processing on columnar storage while retaining the spatial locality benefits of row storage.

    • 将数据按照行分区(页级别),在每个数据页内按照列存储,

      Untitled

标签:15,Compression,05,Storage,storage,single,内存,queries,data
From: https://blog.csdn.net/m0_73701481/article/details/139186526

相关文章

  • CMU15-445 23fall P1,给小白的buffer pool教程
    项目链接:Project#1-BufferPool|CMU15-445/645::IntrotoDatabaseSystems(Fall2023)23fall版本源码:ReleaseFall2023-UpdatedRelease·cmu-db/bustub·GitHub前言写文章的目的其实是自己当初写的时候也基本上是照着别人代码写,现在要开始写P2了,总觉得不......
  • 日常总结(10):2024年05月24日
    日常总结几天没总结了,最近考了几次试。05.0960ptsrk505.1145ptsrk5T1没开longlong同时100pts05.14200ptsrk3最后一题暴力写挂少20pts痛失rk105.1672ptsrk6这一场非常的拉,前两题思路都挂掉05.18220ptsrk3第一题没转double失40pts痛失rk105.21300ptsr......
  • 东方博宜1597 - 买文具
    问题描述花花去文具店买了1支笔和1块橡皮,已知笔x元/支,橡皮y元/块,花花付给了老板n元,请问老板应该找给花花多少钱?输入三个整数x、y、n,分别代表了笔的单价、橡皮的单价和花花付给老板的钱(已知花花付给老板的钱n≥x+y)。输出一个整数,代表老板应该找给花花的钱......
  • 4小时学完!15年技术大牛用247个实战案例剖析的Python教程
    今天给小伙伴们分享一份15年技术大牛用247个实战案例剖析的Python教程,这份教程全程彩图讲解,告别枯燥!60秒学会⼀个⼩例⼦,带你系统学习Python,从⼊门到⼤师。涵盖了Python基础、Python字符串和正则、Python⽂件和⽇期、Python三⼤利器、Python绘图、Python之坑、Python第三⽅包、......
  • 全国产化服务器设计原理图:905-多路PCIe的阵列计算全国产化服务器
    多路PCIe的阵列计算全国产化服务器      多路PCIe的阵列计算全国产化服务器以国产化处理器(海光、飞腾ARM、算能RSICV)为主板,扩展6-8路PCIe3.0X4计算卡;计算卡为全国产化的AI处理卡(瑞星微ARM,算能AI,灵犀类脑计算),低功耗FPGAPCIe计算卡;同时扩展万兆以太......
  • 深度学习吴恩达学习记录 141-150
    人脸验证问题:对于进行人脸验证我们在数据库中可能只有每位员工的一张照片而已,然而要通过这一张照片验证出是否是库中的员工,同时如果在库中增加成员是否能验证出来,这种数据集实在太小,可以使用learningasimilarityfunction这个函数进行计算验证,其作用就是设置一个阈值,如果说对人......
  • Leetcode-152 乘积最大子数组
    Leetcode-152乘积最大子数组题目描述示例1:示例2:解题思路一种错误的解题思路正确的思路(一)C++代码正确的思路(二)C++代码题目描述给你一个整数数组nums,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例1:输入:......
  • KubeSphere 社区双周报|2024.05.09-05.23
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2024.05.09-05.23。贡献者名单新晋KubeSpherecontribu......
  • 005、送杨少府之任思州
    005、送杨少府之任思州好友到黎平任职,有感作诗一首赠之。送杨少府之任思州千龙香炉山下春耕忙,清水江头望思州。沧海横流显本色,黎平会议定方针。侗族大歌好时代,桥头堡上排头兵。此去知己海内存,一展抱负为人民。 修改1:送杨少府之任思州千龙香炉山下饯君行,清水江头望古......
  • SCAU 18705 01背包问题
    18705 01背包问题时间限制:1000MS 代码长度限制:10KB题型:编程题   语言:不限定Description有一个容积为M的背包和N件物品。第i件物品的体积W[i],价值是C[i]。求解将哪些物品装入背包可使价值总和最大。每种物品只有一件,可以选择放或者不放入背包。输入格式第一......