暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数仓建模:没有统一行业标准对比时应如何构建?

会飞的一十六 2024-10-08
75

 

阿里巴巴大数据之路那本书上,全是举的电商的例子,如果不是电商怎么做,有点靠个人理解。


任何脑力工作除了技术的部门,也有艺术的部分。在大数据开发的世界里,数据仓库设计是一门艺术,而这门艺术分为两种流派:统一行业标准和非统一行业标准。


今天,我们通过对比这两种标准的特点,来探索它们的差异,并通过一个生动的例子让大家更好地理解。






01



统一行业标准



统一行业标准的特点在于规范和一致性。无论是数据模型还是表结构,整个行业基本上是相似的。这样的设计带来了许多好处:


  • 易于理解和维护:由于行业内的数据结构相似,不同公司的数据仓库在设计和维护上都比较简单。

  • 数据交换和整合方便:统一的数据标准使得不同系统之间的数据交换变得容易。

  • 成熟的最佳实践:由于使用统一标准,行业内积累了大量的最佳实践,可以直接应用。


示例:电子商务行业


在电子商务行业,数据结构相对统一,典型的表结构包括用户表、订单表和商品表。


    -- 用户表


    CREATE TABLE users (


    user_id INT PRIMARY KEY,


    user_name VARCHAR(50),


    register_date DATE,


    last_login DATE
    );


    -- 订单表


    CREATE TABLE orders (


    order_id INT PRIMARY KEY,


    user_id INT,


    order_date DATE,


    total_amount DECIMAL(10, 2),


    FOREIGN KEY (user_id) REFERENCES users(user_id)
    );


    -- 商品表


    CREATE TABLE products (


    product_id INT PRIMARY KEY,


    product_name VARCHAR(100),


    category VARCHAR(50),


    price DECIMAL(10, 2)
    );





    02


    非统一行业标准


    非统一行业标准则更加灵活和多样化。不同公司的业务需求和数据结构可能差别很大,这种设计也有其独特的优势:

    1. 灵活性高:能够根据具体业务需求进行定制,满足特定需求。

    2. 适应性强:对于快速变化的业务环境,能够快速调整和扩展数据结构。

    3. 创新空间大:没有统一标准的约束,可以根据业务需求进行创新。

    示例:共享单车行业

    共享单车行业的业务需求复杂多变,表结构也随之灵活多样。这里只是举一个例子,但相比电商行业,该行业相关资料很少。


      -- 用户表
      CREATE TABLE users (
      user_id INT PRIMARY KEY,
      user_name VARCHAR(50),
      register_date DATE,
      last_login DATE
      );


      -- 单车表
      CREATE TABLE bikes (
      bike_id INT PRIMARY KEY,
      bike_type VARCHAR(20),
      status VARCHAR(10),
      last_maintenance DATE
      );


      -- 骑行记录表
      CREATE TABLE rides (
      ride_id INT PRIMARY KEY,
      user_id INT,
      bike_id INT,
      start_time TIMESTAMP,
      end_time TIMESTAMP,
      start_location VARCHAR(100),
      end_location VARCHAR(100),
      FOREIGN KEY (user_id) REFERENCES users(user_id),
      FOREIGN KEY (bike_id) REFERENCES bikes(bike_id)
      );


      需求保留期限

      在数据保留期限方面,两种行业标准也有不同的考虑。在统一行业标准中,由于数据需求较为固定,保留期限通常较长。而在非统一行业标准中,由于业务变化快,保留期限通常较短。例如,共享单车行业的数据需求不需要看太久,30天的数据通常已经足够。

        -- 定期清理超过30天的骑行记录
        DELETE FROM rides WHERE end_time < NOW() - INTERVAL '30 days';



        03


        小结


        通过对比统一行业标准和非统一行业标准,我们可以发现每种设计都有其独特的优势和适用场景。


        电子商务行业由于其业务稳定性和标准化,更适合统一行业标准的设计。而共享单车行业则由于其业务的多变性和灵活性,更适合非统一行业标准的设计。


        无论是哪种设计,关键是要根据具体业务需求进行合理的选择和调整。


        希望这篇文章能让你对数据仓库设计有一个更清晰的认识,同时在实际工作中应对各种挑战时游刃有余。记住,数据仓库设计不仅是一门技术,更是一门艺术!如果觉得本篇文章对你有用,不妨也可以关注一下我的专栏,专栏具体地址如下图所示,里面文章更精彩



        往期精彩


        数仓建模:增量更新还是全量更新,该如何选择?

        数仓建模:如何有效的构建DIM层?

        数仓建模:如何进行物理模型设计?

        数仓建模:如何进行维度建模?

        数仓建模:如何处理维度表中的变化类型?

        数仓建模:如何有效构建DWB/DWM层? | 基于案例实战分析

        文章转载自会飞的一十六,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论