目录

CMU 15-445 Lecture #24: Distributed OLAP Databases


CMU 15-445 Database Systems

Lecture #24: Distributed OLAP Databases

Decision Support Systems

  • OLAP其他称呼,就是分析数据进行公司的决策分析的

  • 两种“数据”架构

    • Star Schema
    • Snowflake Schema

  • Star Schema

    • 一张核心表,通过外键连接到外面的表

    • /img/CMU 15-445 Database Systems/chapter24-1.png
      下面两个字段是核心字段,上面的用来连接其他表的
    • 一个中心,多个描述

    • 缺点:部分枚举本来可以用数字+映射表示,在这个架构里面必须写真实属性,造成了数据冗余


  • Snowflake Schema

    • 外面的一层还可以向外拓展,解决了上面数据冗余的问题

    • /img/CMU 15-445 Database Systems/chapter24-2.png

  • 对比
    • 雪花型更省空间,而且避免了规范化的问题(前面星型的枚举人们可能用不同的词汇描述,比如一个人记low,另一个记bad)
    • 雪花型的查询更复杂,跑的会更慢

Execution Models

  • PUSH QUERY TO DATA

    • /img/CMU 15-445 Database Systems/chapter24-4.png
      将查询计划分给网关节点,网关节点根据查询内容和数据分布的情况向其他节点分配查询计划,每一个节点尽力执行查询计划然后将结果返回给应用
  • PULL DATA TO QUERY

    • /img/CMU 15-445 Database Systems/chapter24-3.png
      数据不在本地,如果我需要执行查询的话必须要把数据加载到本地(放在shared disk架构里面就是把页拉到自己本地)

Query Planning

  • Physical Operators

    • 把查询计划切成一个个得小块推送到对应的数据节点上面去,常用的方案
  • SQL

    • 切的是SQL语句
    • /img/CMU 15-445 Database Systems/chapter24-5.png

Distributed Join Algorithms

  • 把可以JOIN的部分集中到一个节点JOIN

Cloud Systems

  • Newer systems are starting to blur the lines between shared-nothing and shared-disk.
    • Example: You can do simple filtering on Amazon S3 before copying data to compute nodes.

  • Managed DBMSs

    • 数据库软件还是那个软件,但实际上是虚拟机+软件(腾讯/阿里云的数据库就是这样,帮你托管数据库)
    • 便宜,易转型(从本地MySQL转到云数据库)
  • Cloud-Native DBMSs

    • 就是为了在云上运行设计的
  • /img/CMU 15-445 Database Systems/chapter24-6.png
    shared disk可以动态分配计算资源
  • 云数据库也有人希望把不同厂家的组件组装起来来一个新的,主要是希望统一文件格式,但是太难。。。