数据建模用的哪些模型?

南墨2年前技术文章688

星型模型

星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。

星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:

a. 维表只和事实表关联,维表之间没有关联;

b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;

c. 以事实表为核心,维表围绕核心呈星形分布;

雪花模型

雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。

星座模型

星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。


相关文章

Elasticsearch如何使用内存

ES作为一个JAVA程序,其对内存的使用和管理依赖底层JVM。因而设置内存时需要遵从JAVA的普适原则,如-xmx和-xms设置为相同值等。在JVM的基础上,ES对内存的使用可按功能分为以下几大部分:...

MySQL性能优化(八)exists子查询优化一例

MySQL性能优化(八)exists子查询优化一例

一个例子SELECT u.id userId,       u.mobile,  &nbs...

Nginx-Ingress和traefik区别

Nginx-Ingress和traefik区别

Nginx-Ingress和traefik区别1. Ingress Controllerk8s 是通过一个又一个的 controller 来负责监控、维护集群状态。Ingress Controller...

Hive调优

1.Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM students;在这种情况下,Hive可以简单地读取studen...

借助cwRsync工具迁移

借助cwRsync工具迁移

服务端安装服务端软件如下,会自动在系统内创建一个系统用户,用户名为:xxx  ,密码为:xxx查看系统用户,会发现自动创建了如下用户:修改配置文件:rsyncd.confuse chroot = fa...

DBeaver连接Trino

DBeaver连接Trino

1、背景trino 开启https,需要通过dbeaver进行连接DBeaver版本:21.2.02、解决办法下载安装dbeaver打开选择选择trino填写主机如果trino开启https,则可以使...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。