数据隔离与数仓分层
一、数据隔离
数据隔离可以包含物理隔离与数据隔离2种,其中有多租户隔离、数据源隔离、共享数据表隔离、分片隔离等待。
二、数据隔离方法
隔离方式 | 成本 | 支持数量 | 优点 | 缺点 | 实现方式 |
---|---|---|---|---|---|
多租户隔离 | 低 | 非常多 | 维护与成本低、数据库能够支持租户的数量最多、数据 能支持多少表,就能支持多少租户 | 数据恢复麻烦 | 创建表添加租户ID、同时拦截器进行租户ID判断 |
共享数据表隔离 | 中 | 多 | 使用业务上的逻辑隔离、数据库支持多个租户 | 数据恢复麻烦 | |
数据源隔离 | 高 | 少 | 隔离很高、安全性好、可以进行数据恢复 | 成本高 | JPA、druid、seata、注解 |
分片隔离 | 高 | 少 | 数据库进行分割或者对表进行分割(水平、垂直)、读写分离、性能高 | 操作麻烦 | Shards |
三、数仓分层
数仓分层通过数据分层管控数据质量,需要对数据清洗等操作,不必改一次业务就需要重新接入数据,每一层数据都是单独的作用,同时规范数据分层,减少业务开发、直接抽取数据。
DM | 数据集市层 | 用于BI、多维分析、标签、数据挖掘、可视化、报表等、按需存储、 dm_主题_表内容_分表规则 |
---|---|---|
DIM | 公共维度层 | 存储公共的信息数据、用于DWD、DWS数据关联、按需存储 dim_维度描述 |
DWS | 原始汇总层 | 汇总数据,解决数据汇总计算和数据完整度问题,保留全部数据 dws_业务描述_时间粒度_sum |
DWD | 数据明细层 | 数据处理后的宽表,目标为了满足80%业务需要 保留全部数据 dwd_业务描述_时间粒度 |
ODS | 数据操作层 | 对STG层数据进行初步处理、去除脏数据、清洗数据、补充或者去除空数据 、默认保存30天、ods_主题_表内容_分表规则 |
STG | 原始数据层 | 存储原始数据、保存全部数据 、stg_主题_表内容_分表规则 |
四、数仓分层优缺点
优点:不必改一次业务就需要重新接入数据,每一层数据都是单独的作用,同时规范数据分层,减少业务开发、直接抽取数据。
缺点:操作麻烦、耗时。
参考:阿里云