架构设计—数据库的性能与建模

给我10分钟带你了解数仓分层建模与企业DW表设计 数据仓库分层建模是通过分层设计(如ODS、DWD、DWS、ADS)来组织和处理数据,从而提高数据处理效率和查询性能,而企业项目中的宽表设计与搭建实战则关注如何在数据仓库中构建高效的宽表以优化查询和数据分析。 阅读详情
         数据库的设计无非就是在数据的完整性、一致性和并发性之间玩平衡。在不同的业务场景下总是会或多或少的偏向其中两个方面。乍一看貌似这和数据库的架构设计密切相关,可是事实真是如此么?性能方面我们举一个耳熟能详的公认原则读写分离、分表分区为例来说,这些明显是由业务系统划分并主导的。只不过在具体的数据落盘上体现出来了而已,怎么能落到数据库架构上面呢?至于数据建模更是考验了一个系统的抽象组织方式,简单的说,如果完全按照数据建模的三大范式来解构一个系统的话,那么抽象组织方式必然是有缺陷的。这两个论断可能有些粗暴,但是我们不妨以一个经典的选课系统为例来看。
        在一个经典的选课系统中,明显存在的参与方有学生、教师、课程、教室等四个实体要素和不太明显的参与方选课规则、考试记录等两个抽象规则要素。这六个要素的基本属性我们都是可以明确的按照第一范式的要求确定出来,可是对第三范式的要求我们就有些力不从心了,最简单的例子就是名称这个属性,在四个实体要素中是必然会出现。单将这个字段单独抽象成一个表绝对是少之又少的(很不幸,笔者曾犯过这样的错误,参见律师管理系统)。事实上我们对于这个例子中的数据库设计大部分情况下就是按照这样的垂直映射方式进行的。有人说你这个映射也太粗糙了。至少学生和教师之间的共同点太多了,至少应该再加上一个人表。嗯,听起来挺好,看起来也挺好,至少让第三范式违反的不是那么难看。
         在传统行业中,比如学校内这么做,不是很美(毕竟多少违反了一些范式三),但也是很美了,可是如果在一个开放的环境中(比如互联网)真这么做了,考虑到数据的增长量的话,很多时候我们是哭都没有眼泪的。在传统行业中,虽然学生的增长量是远大于教师的,而且学生的增长消失规模是明显的比教师大得多。但是每年入学、毕业的学生也不过几万人了不起了,人这个表的增长规模还是可容忍的,就以每年入学、毕业10w人计算,一个二流的数据库支撑上100年也能勉强凑活,毕竟对于单表1000w数据来说,如果主键,索引设置得当的话,性能还是有所保障的。
      可是如果放在一个开放的环境中,动辄几千万甚至上亿的学生当期涌入时,人这个表的存在就要大打折扣了。因为此时,我们让位的只能是性能,因为没有一个数据库敢打包票在这种数据量下还能保持良好的并发性。转了一圈我们貌似又回到了原点,因为我们发现,这四个实体和两大规则其实没有更多的让我们去遵循数据建模的那些条条框框,因为很多时候变成我们去适应范式一都是一种奢求。比如当我们发现当我们对学生表根据某种规则分区分表后,考试表也会无可奈何的跟随着这些规则进行分区分表,更多的时候如果大家都很好学甚至过分好学,,学生表和考试表jion一把虽然耗时很大,但是得到的信息也多,我们也可以欣慰一下,可是如果大部分学生都不是那么好学的话,那我们只能表示很悲催,jion的代价太高了,高到针对某一个具体的学生,我们宁愿去牺牲范式一,也要把他的考试成绩作为学生表的一部分来处理了,权当做缓存了。在这种情况下,数据的二次建模又意义何在?
       问题是这还没完,在这种情况下,当我们想去利用(关系)数据库中最得意的集合运算、聚合运算去做一些统计分析工作时才发现悲剧仅仅是刚刚开始。于是代表主流的map reduce不可避免的需要登上舞台,map reduce看起来很是高大上其实说穿了就是归并算法的再表述。对于归并算法,大家都很熟悉,就不罗嗦了。你说到现在独立于整个业务场景的数据建模还有什么意义。
【综合实战项目 03】从零打造企业级数据仓库:OLTP到OLAP全流程实战指南 本文通过完整的企业数据仓库项目实战,深入解析从OLTP系统到OLAP分析的全流程构建过程。涵盖数据仓库架构设计、维度建模、ETL开发、性能优化等核心技术,结合真实业务场景,提供可落地的完整解决方案。帮助读者掌握现代企业数据仓库的设计理念和实现技巧。 阅读详情

相关推荐

基于Oracle数据库的数据分析平台搭建

本文旨在为技术人员提供基于Oracle数据库构建数据分析平台的全面指导。内容涵盖从基础设施准备到高级分析功能实现的完整生命周期,特别关注Oracle特有的技术实现和优化技巧。文章首先介绍基础概念,然后深入技术实现细节,最后讨论实际应用和优化策略。每个部分都配有具体示例和最佳实践建议。ETL:抽取(Extract)、转换(Transform)、加载(Load)的缩写,指数据从源系统到目标系统的处理流程OLAP:联机分析处理,支持复杂分析操作的数据处理技术:星型模式,数据仓库中常用的维度建模方法。

2502_91592937的博客 1010

系统分析与设计:架构建模 - 云时代的架构实践

1、描述软件架构与框架之间的区别与联系 软件架构:指软件体系结构,它一般包括三个部分:构件,用于描述计算;连接器,用于描述构件的连接部分;配置,将构件和连接器组成一个有机整体。 软件框架:是面向某领域(包括业务领域、计算领域)的可复用的“半成品”,它实现了该领域的共性部分,并提供了一系列良好的可变点以保证灵活性和可扩展性。可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。 ...

Stella_Chan的博客 749

Hive与ArangoDB集成:多模型大数据方案

在大数据时代,企业面临着处理多样化数据模型的挑战。传统的关系型数据库和单一模型的数据存储方案已无法满足现代应用的需求。本文旨在探索如何将Hive(作为大数据仓库)与ArangoDB(作为多模型数据库)进行有效集成,构建一个能够同时处理结构化、半结构化和图数据的统一解决方案。本文将从基础概念开始,逐步深入到技术实现细节,最后探讨实际应用和优化策略。介绍Hive和ArangoDB的核心特性分析集成架构和设计模式详细实现步骤和代码示例性能优化和最佳实践实际应用案例分析Hive。

架构师的AI之路,分享AI应用开发架构的学习与实践。 147

数据库性能需求分析及评估模型

数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估模型。一、数据库性能需求制定1、需求信息收集-任务/交易分布(1)收集有哪些主要交易任务(与业务系统需求一致)(2)在一天的某些特定时刻系统都有哪些主要操作,以及操作量2、需求信息收集-...

smooth的博客 3万+

【游戏开发】初识寻路&navmesh,探索RecastDemo

在手游时代,尤其对于大世界游戏而言,寻路的实现基本在专门的寻路服务器上进行。在众多寻路的解决方案中,recastnavigation是最为经典实用的一个,很多游戏甚至游戏引擎都采用类似的实现。recastnavigation项目自带了RecastDemo,用图形化的界面帮助用户认识寻路网格(navmesh)的生成以及寻路的过程。因此,作为初学者的笔者,也决定通过RecastDemo去初步认识寻路的机理奥秘。 构建RecastDemo 首先克隆recastnavigation项目,从文档中可以看到Recast

HiKariのTechLab 3055

Agent 长期记忆三代演进:从 RAG 到 Memory Graph,mem0 / Zep / LangMem / Letta 深度横评

文章摘要 2026年,Agent长期记忆技术迎来关键突破,OpenAI、Anthropic等厂商通过扩大上下文窗口和推出记忆工具,推动长期记忆从工程补丁发展为独立技术层。本文通过分析三代记忆架构演进(RAG→结构化Fact→MemoryGraph)和四大方案(mem0/Zep/LangMem/Letta)的8维度横评,揭示以下核心观点: 长上下文≠长期记忆:128K上下文如同RAM,仍需硬盘式记忆层筛选和结构化存储,避免“Context Rot”导致的准确率下降。 三代架构演进: Gen1(RAG):向量检

LDZKKJ的博客 1433

MySQL的数据模型

MySQL的数据类型主要分为三大类: 数值型(Numeric Type) 日期与时间型(Date and Time Type) 字符串类型(String Type) 1. 数值 MySQL的数值类型按照精确程度,大致可以分为两类: 精确数值(Exact Value),包括INTEGER、DECIMAL、NUMERIC等; 近似数值(Approximate Value),包括FLOAT、REA...

weixin_33966095的博客 512

自动驾驶传感器选型实战:摄像头、激光雷达与毫米波雷达融合策略

自动驾驶感知系统的核心在于多传感器协同,而非单一技术优劣。摄像头擅长语义识别但受光照和天气制约;激光雷达提供高精度测距却面临成本、温漂与多径干扰等物理瓶颈;毫米波雷达则以全天候鲁棒性与精准测速成为安全底线的守门人。三者融合不是简单叠加,而是基于场景约束(如暴雨、强光、高速跟车)、成本边界(BOM控制)与时间窗口(量产节奏)的工程权衡。真实量产方案中,‘纯视觉’实为视觉主责+毫米波兜底,‘激光雷达上车’本质是用硬件真值加速算法迭代,而传统车企更倾向以毫米波为仲裁者协调冲突。理解这些底层原理,才能在传感器选型、

weixin_32495691的博客 276

架构进阶篇之解决方案架构设计实践的方法、模型与思维

本文旨在探讨解决方案架构设计过程的方法,原则与逻辑思想以及根据经验提炼出的一套解决方案架构的方法。 这是我前一段时间帮公司面试解决方案架构师时的感慨。跟几位 10+ 年经验的技术软件架构师面试下来,感觉技术能力都很过关, 尤其是对新技术,能从架构师的角度思考问题,对架构设计有成体系的理解与输出。 但是,当我在围绕着一些比较宏观灵活的解决方案架构方法与思维上的问题时,比如: 跨领域发展的解决方案架构设计方法与模型 从模糊的商业问题或抽象的业务愿景落到解决方案的方式 如...

ailiandeziwei的专栏 5617

基于FPGA的车道线检测系统设计

本文设计了一种基于FPGA的车道线检测系统,采用Altera Cyclone IV EP4CE10F17C8作为主控芯片,结合OV7725摄像头和LCD显示屏实现实时车道线检测。系统通过硬件流水线处理架构,依次完成图像采集、灰度转换、中值滤波、Sobel边缘检测和Hough变换直线识别等功能模块。所有模块均采用Verilog HDL实现,充分利用FPGA的并行处理能力,显著提升了系统响应速度。测试结果表明,该系统能够有效检测道路车道线,满足实时性要求,为ADAS系统提供了一种高效的硬件解决方案。

huanghm88的专栏 121

学Simulink--基于多物理场耦合与系统集成的储能系统场景实例:压缩空气储能(CAES)系统的热力学建模与效率分析

本文提供了一个基于Simulink的压缩空气储能(CAES)系统热力学建模教程。通过多物理场耦合方法,详细演示了从系统架构设计到仿真测试的全过程,包括多级压缩机/膨胀机系统搭建、显热蓄热系统设计以及效率分析。文章重点强调了热管理对提升CAES效率的关键作用,并给出了68%电-电效率的优化案例。最后提出了变工况建模、不同蓄热介质对比等高级优化方向,为开发零碳大容量储能系统提供了实用工具和方法。

amy_mhd的博客 131

企业级数据仓库架构设计与实施:从需求分析到性能优化的实战经验

数据仓库架构设计与实施是一个复杂且系统的工程,涵盖从需求分析、架构选型、数据建模、ETL 流程构建到性能优化等多个关键环节。每个环节相互关联、相互影响,任何一个环节出现问题都可能导致整个数据仓库项目的失败。在实际项目中,企业需要根据自身的业务特点、数据规模、技术实力和成本预算等因素,精心设计和实施每个环节。同时,随着大数据技术、人工智能技术的不断发展,数据仓库也在不断演进。未来,数据仓库将更加智能化,能够自动进行数据管理、性能优化和数据分析。

数字魔方操控师的博客 726

讲透 ABAP CDS 注解名称:简单名、结构化名、@ 与 @<、作用域与分组

本文从开发者角度梳理ABAP CDS注解的命名规则与实战写法,重点解析: 语法规则:@与@<的使用场景、结构化命名规范、作用域唯一性要求 评估机制:ABAP运行时与组件框架的注解处理差异 分组技巧:花括号分组简化重复前缀的书写 实战示例:包含完整CDS View Entity(演示注解分组与@<用法)和ABAP报表(读取打印注解) 常见问题:命名错误导致激活失败、框架忽略等注意事项 最后通过航空预订统计案例,展示如何结合多种注解类型实现业务需求。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 262

cv_resnet50_face-reconstruction与数据库课程设计:人脸数据管理系统开发

本文介绍了如何在星图GPU平台上自动化部署cv_resnet50_face-reconstruction镜像,实现高精度3D人脸重建功能。通过该镜像可批量生成人脸网格、纹理贴图与关键点坐标,典型应用于高校数据库课程设计中的人脸数据管理系统开发,支撑结构化存储、多维查询与特征分析。

weixin_42443533的博客 44

【入门AUTOSAR网络管理测试】RSS-PBM状态转换

随着智能电动汽车行业的快速发展,目前AUTOSAR网络管理也得到了广泛应用,AUTOSAR网络管理测试也是汽车网络测试中非常重要的环节,NM问题导致的汽车ECU不能唤醒、电瓶亏电等问题,对于新入门AUTOSAR网络管理测试的同学不清楚如何开展测试,那么本章节就主要给大家介绍网络管理中RSS-PBM状态转换如何测试。【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读。

测试领域技术分享 872

【YOLOv12[基础]】热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 | GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等

热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等

静谧、淡雅 895

数据仓库专题(4)-分布式数据仓库事实表设计思考---讨论精华

一、前言   陆续有各位兄弟参加大讨论,提出了各种问题,关于分布式环境下,维表和事实表设计,进行了比较深入的探讨,在此汇集整理,分享给大家。希望能有更多人参与尽力啊,共同探索分布式数据仓库数据模型的设计。 二、纪要 【活跃】北京-RTB-胖哥(1106110976)10:21:36 分布式模式下事实表设计思考: 做大做强事实表,做小做弱维表; 【冒泡...

weixin_33893473的博客 95

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

oracle 数据仓库

一.Data warehouse和OLTP系统的对比和OLTP系统不同,数据仓库的主要目的是集中统一的存放业务的历史数据,以便用于查询和分析。数据仓库理论的鼻祖William Inmon给数据仓库的特性归纳为一下四点:面向主题(Subject Oriented) 集成(Inegrated) 不可修改(Nonvolatile) 时间相关(Time Variant)

thinker28754的专栏 8052

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数据仓库设计的一点总结

不论使用什么方法建设数据仓库,最终的目标都是统一的------为战略层面的决策提供数据支撑。关键原则还是聚焦业务需求,展现维度结构数据,过程可控可管理,并使用迭代方式开发数据仓库项目。 数据仓库建设过程其实并不复杂,总的来说可以总结为以下几点: 1、业务发展衍生出数据分析需求 2、基于业务需求进行的需求分析 3、根据分析结果进行的维度建模与技术方案的选型 4、ETL设计与开发 5、数据仓库的部署 ...

初心江湖路的博客 440

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大数据领域数据工程的数据仓库建设要点

随着企业数字化转型的深入,数据量呈指数级增长,传统数据管理方式难以应对多源异构数据的整合、分析与价值挖掘需求。数据仓库作为支撑企业级数据分析的核心平台,需要解决数据孤岛、质量管控、性能瓶颈等关键问题。本文聚焦大数据环境下数据仓库建设的核心技术要点,涵盖架构设计、数据集成、建模方法、治理体系、性能优化等核心领域,结合主流技术栈与工程实践,提供可落地的建设指南。

AI 原生应用开发的博客 1178

【Python数据仓库设计核心指南】:掌握高效架构设计的5大关键原则

掌握高效Python数据仓库设计方案,解决数据集成与分析性能难题。涵盖ETL流程优化、模块化架构设计、自动化调度等五大核心原则,适用于企业级数据中台建设。提升数据处理效率与系统可维护性,值得收藏。

Algorhythm的博客 269

针对数据仓库方向的大数据算法工程师面试经验总结

针对数据仓库方向的大数据算法工程师面试经验总结,结合高频考点、技术深度及实战建议,帮助候选人系统准备

weixin_43343486的博客 1422

AWS CLI 实战:使用 create-stage 为 API Gateway 创建 API 阶段(Stage)完整指南

本文围绕 AWS CLI 中 `apigateway create-stage` 命令展开,深入讲解如何在 Amazon API Gateway 中为一个已发布(部署)的 REST API 创建阶段(Stage),并详细说明自定义阶段变量(Stage Variables)的用法、命令参数模型、底层 REST API 调用细节及常见注意事项。读完本文,你将掌握通过命令行完成「部署 + 建阶段 + 配

gitblog_00594的博客 1040

浅谈数仓模型(维度建模)

点击上方 "大数据肌肉猿"关注,星标一起成长后台回复【加群】,进入高质量学习交流群2021年大数据肌肉猿公众号奖励制度背景数据仓库的核心是展现层和提供优质的服务。ETL ...

a934079371的博客 498

Hive电商数据仓库实战:从ETL到可视化分析全流程

本文详细解析了Hive电商数据仓库的实战应用,从基础架构设计到ETL管道搭建,再到可视化分析全流程。通过分层设计(ODS、DWD、ADS层)和高效ETL策略,帮助电商平台优化数据处理性能,提升数据分析效率。文章特别强调了数据清洗和增量抽取的重要性,并提供了实用的SQL和Python代码示例。

weixin_29029995的博客 290
上一篇: 数据库的偏见—总论
下一篇: 架构设计—神一般存在的中间件
FlyAnyWhere
博客等级 码龄24年 5粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值