当前位置: 首页 > news >正文

数据仓库建设方案和经验总结

在做数据集成的过程中,往往第二步的需求就是建设数仓由于数据分散在不同的存储环境或数据库中,对于新业务需求的开发需要人工先从不同的数据库中同步、集中、合并等处理,造成资源和人力的浪费。同时,目前的系统架构,无法为未来数据驱动业务创新的理念提供友好的支撑。

数仓建设

要明确企业的实际需求,确保数仓建设符合企业战略目标和业务需求。其次,在技术路径上,要选择合适的选型产品和技术架构,确保数仓的稳定性和可扩展性。最后,在数据路径上,要注重维度模型的设计和数据处理工程的设计,确保数据的准确性和高效性。同时,BI应用路径也是数仓建设中不可忽视的一环,它关系到数据仓库建成后如何有效应用于企业的实际业务中,是衡量数仓成功落地的重要标准。
在构建数据仓库的过程中,我们首先要做的是梳理业务,明确核心业务链路与数据表,并据此划分管理主题。接着,从这些主题中识别出对应的事实表、维度表,并进行指标的梳理、收集和建模。值得一提的是,在建设数据仓库时,我们通常会采用一个分级的架构模型。尽管并非所有数据仓库都严格遵循同一分层标准,但大多数情况下,可以将其划分为ODS(Operational Data Store)层、DW(Data Warehouse)层和DM(Data Mart)层
 

企业数据仓库建模

这个是整个项目最花时间精力的一部分内容:例如表的设计以及同步策略
1、表设计
要提高数据使用效率,打破数据库之间的物理隔阂,需要先将数据汇聚到数据仓库中,数据同步分为实时和非实时,采用的技术也不同。目前先从ODS中同步到hive。数据同步策略的类型包括:全量表、增量表、新增及变化表、拉链表:

  • 全量表:存储完整的数据。
  • 增量表:存储新增加的数据。
  • 新增及变化表:存储新增加的数据和变化的数据。
  • 拉链表:对新增及变化表做定期合并。
    2、实体表同步策略
    实体表:比如用户,理财产品等,实体表数据量比较小,通常可以做每日全量,是每天存一份完整数据。即每日全量。
    (1)维度表同步策略
    维度表:比如订单状态,审批状态,产品分类,维度表数据量比较小,通常可以做每日全量,是每天存一份完整数据。即每日全量。说明:
    针对可能会有变化的状态数据可以存储每日全量。
    没变化的客观世界的维度(比如性别,地区,民族)可以只存一份固定值。
    (2)事务型事实表同步策略
    事务型事实表:比如,交易流水,操作日志,出库入库记录等。
    因为数据不会变化,而且数据量巨大,所以每天只同步新增数据即可,所以可以做成每日增量表,即每日创建一个分区存储。
    (3)周期型事实表同步策略
    周期型事实表:比如订单申请等

    项目计划

    阶段工作任务成果交付物资源准备阶段编制项目计划与工作任务拆解《项目计划表》准备数仓建设资源清单《资源清单》成立项目组,明确成员职责《项目组成员通讯录》准备项目文档集工具《文档集工具》项目启动会议购置数仓建设资源云服务器《资源清单完善》建模编码规范《数仓建模编码规范表》基础知识课件《培训课件》轻易云迁移阶段轻易云集成平台私有化部署《服务器资源清单》《部署运维记录》轻易云集成平台数据迁移《数据迁移运维记录》轻易云迁移试运行测试《上线测试报告》轻易云进阶开发培训基础培训阶段MySQL 基础知识培训《培训课件》《学习成果汇报》DDD 领域驱动设计培训《培训课件》《学习成果汇报》业务建模基础知识培训(经验分享)《培训课件》《学习成果汇报》MySQL 进阶培训(面向复杂的sql分析)《培训课件》《学习成果汇报》业务数据建模阶段主数据建模数据库模型ER关系图OMS业务建模数据库模型ER关系图WMS业务建模数据库模型ER关系图费控业务建模数据库模型ER关系图业务模型一阶段评审主数据建模完善数据库模型ER关系图OMS业务建模完善数据库模型ER关系图WMS业务建模完善数据库模型ER关系图费控业务建模完善数据库模型ER关系图业务模型二阶段评审数据库模型初始化SQL Script数仓集成阶段主数据集成方案《系统集成方案》OMS集成方案《系统集成方案》WMS集成方案《系统集成方案》费控集成方案《系统集成方案》集成方案试运行历史数据集成集成正式运行数据分析阶段OMS分析主题SQL ScriptWMS分析主题SQL Script费控分析主题SQL Script

    项目计划

    项目成果

相关文章:

数据仓库建设方案和经验总结

在做数据集成的过程中,往往第二步的需求就是建设数仓由于数据分散在不同的存储环境或数据库中,对于新业务需求的开发需要人工先从不同的数据库中同步、集中、合并等处理,造成资源和人力的浪费。同时,目前的系统架构,无…...

Re77 读论文:LoRA: Low-Rank Adaptation of Large Language Models

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:LoRA: Low-Rank Adaptation of Large Language Models ArXiv网址:https://arxiv.org/abs/2106.09685 官方GitHub网站(包含在RoBERTa、DeBERTa、GPT-2上用Lora微调…...

曲波系数 curvelet transform

Curvelet 变换后的系数涵义 曲波变换(Curvelet Transform)是一种多尺度、多方向的变换工具,能够有效地表示信号中的几何特征(如边缘、曲线等)。曲波变换后的系数具有明确的物理意义,反映了信号在不同尺度、…...

OS的随机数生成过程中的内核熵池

内核熵池(Kernel Entropy Pool)是操作系统内核中用于收集和管理熵(随机性来源)的机制 ,在操作系统的随机数生成过程中发挥关键作用。 以下从其原理、作用、工作方式方面详细介绍: 原理:熵在信…...

数据结构:双向循环链表

双向循环链表(Doubly Circular Linked List) 双向循环链表是双向链表的一种变体,其特点是链表的头节点和尾节点相连,形成一个闭环。这种结构允许在链表中进行无缝的双向遍历,并且由于循环特性,可以从任何节…...

IP网和传输网区别(以访问百度为例!)

1. IP网和传输网的关系 IP网:是基于IP协议的网络,负责数据的逻辑传输,包括数据包的路由、寻址和转发。IP网是“虚拟”的,它依赖于底层的传输网来实际传递数据。 传输网:是物理网络基础设施,负责数据的物理…...

STM32裸机开发转FreeRTOS教程

目录 1. 简介2. RTOS设置(1)分配内存(2)查看任务剩余空间(3)使用osDelay 3. 队列的使用(1)创建队列(1)直接传值和指针传值(2)发送/接收…...

FreeSWITCH dialplan/default.xml 之释疑

准备花时间好好研究下,一直都是一知半解 sip_looped_call 通俗地说,就是自己呼叫自己 查文档,是这样讲的:如果调用已通过 ACL 以外的方式进行身份验证,并且当前请求 IP/port 与配置文件 IP/port 匹配,那…...

lambda用法及其原理

目录 lambda形式lambda用法1.sort降序2.swap3.捕捉列表 习题解题 lambda形式 [capture-list](parameters)->return type{function boby}[capture-list]:[捕捉列表]用于捕捉函数外的参数,可以为空,但不能省略;(parameters) &am…...

Go Ebiten随机迷宫生成示例

引言 迷宫生成是计算机科学中一个经典的问题,常用于算法教学和游戏开发。本文将介绍如何使用 Go 语言和 Ebiten 游戏引擎实现一个基于深度优先搜索(DFS)的随机迷宫生成算法,并通过可视化的方式展示迷宫的生成过程。 技术栈 Go …...

前端学习DAY31(子元素溢出父元素)

.box1{width: 200px;height: 200px;background-color: chocolate;} 子元素是在父元素的内容区中排列的,如果子元素的大小超过了父元素,则子元素会从 父元素中溢出,使用overflow属性设置父元素如何处理溢出的子元素 可选值:visible…...

『SQLite』表的创建、修改和删除

本节摘要:主要讲述SQLite中创建、删除、修改表等操作。 创建表 CREATE TABLE 语句来创建表。 修改表 ALTER TABLE 语句来修改表名称、已有表字段,或者新增字段。 删除表 DROP TABLE 语句用来删除表. 注意: 上述内容详细讲解见文章&#…...

可持久化数据结构-线段树(主席树)

可持久化数据结构-线段树(主席树) (与可持久化字典树差不多) 概念:可持久化线段树是基本线段树的一个简单拓展, 是使用函数式编程思想的线段树; 作用: 可以存下来数据结构的所有历史版本 特点: 拓扑结构…...

如何利用PHP爬虫按关键字搜索淘宝商品

在当今的电商时代,获取淘宝商品信息对于市场研究、价格监控和竞争分析等方面具有重要意义。手动搜索和整理大量商品信息不仅耗时耗力,而且容易出错。幸运的是,PHP爬虫技术为我们提供了一种高效、自动化的方式来按关键字搜索淘宝商品。本文将详…...

GitHub - riscv-software-src/riscv-isa-sim: Spike, a RISC-V ISA Simulator

GitHub - riscv-software-src/riscv-isa-sim: Spike, a RISC-V ISA Simulator 操作手册 $ apt-get install device-tree-compiler libboost-regex-dev libboost-system-dev $ mkdir build $ cd build $ ../configure --prefix$RISCV $ make $ [sudo] make install 具体安装 …...

ubuntu开机启动服务

需求背景: 需要监控日志,每次都是手动启动 nohup ./prometheus >/dev/null & nohub ./node_exporter >/dev/null & 需求目标: 重启后系统自动启动服务...

电子电气架构 --- 设计车载充电机的关键考虑因素

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...

2025_0105_生活记录

3号去内蒙看了流星雨。还记得上次看流星的时间是2018年,也是冬天,大家在雁栖湖校区的操场上仰望星空。那个时候幸运的看到了一颗流星,便迅速地在心里许愿。这次看到了三颗流星,我也许了愿,希望实现。 24年走过了十多个…...

电池管理系统(BMS)架构详细解析:原理与器件选型指南

BMS(电池管理系统)架构详细讲解 从你提供的BMS(Battery Management System)架构图来看,主要涉及到电池监控模块、通信模块、功率控制模块等部分。下面我将详细讲解该架构的各个功能模块及其工作原理。 1. 电池管理核…...

用JAVA编写一个简单的小游戏

用Java语言编写一个简单的小游戏。这里是一个非常基础的猜数字小游戏的代码示例。在这个游戏中,程序会随机选择一个1到100之间的整数,玩家需要猜测这个数字是什么。每次猜测后,程序会告诉玩家他们猜的数字是太高了、太低了还是正确。 impor…...

Python+VLC打造跨平台视频播放器:从基础播放到高级控制

1. 为什么选择PythonVLC打造视频播放器 第一次用OpenCV处理视频时我就踩了个坑——明明画面流畅播放,音响却安静得像没开机。这才发现OpenCV压根不支持音频解码!如果你也需要同时处理音视频,VLC才是真正的全能选手。这个开源播放器内核支持几…...

SMUDebugTool:解锁AMD Ryzen处理器潜力的专业调试工具

SMUDebugTool:解锁AMD Ryzen处理器潜力的专业调试工具 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

如何在Windows上免费创建10个虚拟显示器:终极解决方案指南

如何在Windows上免费创建10个虚拟显示器:终极解决方案指南 【免费下载链接】virtual-display-rs A Windows virtual display driver to add multiple virtual monitors to your PC! For Win10. Works with VR, obs, streaming software, etc 项目地址: https://gi…...

解决Mac多设备滚动冲突:Scroll Reverser让触控板与鼠标和谐共存

解决Mac多设备滚动冲突:Scroll Reverser让触控板与鼠标和谐共存 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否在MacBook上使用触控板时习惯"自然滚动&q…...

AIAgent感知模块如何实现毫秒级环境响应:3层异构感知融合架构实战拆解

第一章:AIAgent感知模块设计概览 2026奇点智能技术大会(https://ml-summit.org) AI Agent的感知模块是其与物理世界或数字环境建立认知联结的第一道接口,承担着多源异构信号采集、语义对齐、实时上下文建模与可信度评估等核心职责。该模块并非传统意义上…...

精简GVCP与GVSP:FPGA实现GigE Vision相机高效采集的工程实践

1. 为什么需要精简GigE Vision协议? 第一次接触GigE Vision相机时,我被它复杂的协议栈吓了一跳。完整的GigE Vision协议包含几十种功能模块,光是协议文档就有上千页。但在实际工业视觉项目中,我们往往只需要最基础的三个功能&…...

别再只跑demo了!用Python实战CWRU轴承数据集,从数据清洗到模型部署的完整避坑指南

从数据到部署:Python实战CWRU轴承故障诊断全流程指南 如果你已经跑过几个轴承故障诊断的demo,却对如何将CWRU数据集真正应用到自己的项目中感到迷茫,这篇文章正是为你准备的。我们将从原始数据解压开始,一步步构建一个健壮的数据处…...

硅谷新宠Hermes Agent,能否逆袭OpenClaw?

硅谷新宠Hermes Agent一夜爆火,GitHub揽6.6万星,原生接入微信引开发者关注。它在OpenRouter表现出色,还发布首篇“顶会级”论文,提出新推理方法。 爆火的Hermes Agent Hermes Agent历经9个月打磨,在GitHub狂揽66k星、F…...

别再死记硬背ESP32 BLE API了!用这个“事件驱动”思维导图,5分钟理清GAP/GATT回调逻辑

用事件驱动思维重构ESP32 BLE开发:从API记忆到逻辑推演的艺术 在物联网设备开发中,BLE(低功耗蓝牙)技术因其低功耗特性成为连接智能设备的首选方案。ESP32作为集成BLE功能的明星芯片,其开发门槛却让不少工程师望而生畏…...

告别枯燥文本!用像素语言·维度裂变器一键生成10种创意文案

告别枯燥文本!用像素语言维度裂变器一键生成10种创意文案 1. 创意文案生成新体验 在内容创作领域,我们常常面临创意枯竭的困境。传统AI文本生成工具虽然能提供基础内容,但往往缺乏创意和个性,生成的文本千篇一律。像素语言维度裂…...