问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据仓库数据建模的几种思路

发布网友 发布时间:2022-04-20 02:15

我来回答

4个回答

懂视网 时间:2022-05-01 02:13

TABLE `standard_item` ( `sn` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘sn‘, `id` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘物品id‘, `name` varchar(50) NOT NULL DEFAULT ‘11‘ COMMENT ‘道具名‘, `type` tinyint(4) NOT NULL DEFAULT ‘0‘ COMMENT ‘类型‘, `sub_type` smallint(5) unsigned NOT NULL DEFAULT ‘0‘, `quality` tinyint(4) NOT NULL DEFAULT ‘0‘ COMMENT ‘品质‘, `stacked_num` smallint(6) NOT NULL DEFAULT ‘0‘ COMMENT ‘堆叠数量‘, `use_num` smallint(6) NOT NULL DEFAULT ‘0‘ COMMENT ‘使用数量‘, `is_use` tinyint(4) NOT NULL DEFAULT ‘0‘, `price` smallint(6) NOT NULL DEFAULT ‘0‘, `effect` varchar(50) DEFAULT NULL, `version` int(10) NOT NULL DEFAULT ‘0‘ COMMENT ‘球员碎片对应的版本‘, PRIMARY KEY (`sn`), KEY `IX_Type` (`type`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=2478 DEFAULT CHARSET=utf8 COMMENT=‘标准物品表‘;

这个表在redis中存储一般会是以standard_item:id为key的哈希表,但是策划如果有需求根据type和quality查询所有道具的话,我就应该在初始化的阶段将standard_item多转存出几个standard_item:type:quality为主键的set来,以启动时候预处理的时间来换取运行阶段大量查询的时间,或者避免用户查询的时候击穿redis到mysql数据库。
    启动完成以后,读运算:
    用户请求服务器===》 服务器查询redis是否有用户缓存
                                                ===》如果有返回数据并进行对应运算
                                                ===》如果没有,击穿缓存层,访问mysql数据库读取数据===》返回数据并保存至redis,标记3天后过期
    启动完成后,写运算:
    服务器有写请求===》将写请求置入写的队列,解除数据的过期时间
    写数据的线程===》如果队列中有需要写的数据,就取出一条进行mysql写操作===》写入成功,标记redis数据3天后过期
                                                                                                                            ===》写入失败,重写至次数尝试超过限定次数,写日志
                         ===》如果队列中没有需要写的数据,休眠一小会 

明天按照这个思路试着做套数据库读写机制试下。 

一个数据库读写模型的设想

标签:

热心网友 时间:2022-04-30 23:21

数据仓库数据建模的几种思路主要分为一下几种

1. 星型模式

星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:a. 维表只和事实表关联,维表之间没有关联;b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;c. 以事实表为核心,维表围绕核心呈星形分布;

2. 雪花模式

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

雪花模式

3.星座模式

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

星座模型

热心网友 时间:2022-05-01 00:39

数据仓库接典型的两种数据仓库建模的理论是维度建模和基于主题域的实体关系建模,这两种方式分别以Kimball和Immon两位大师为代表。维度建模以数据分析需求为驱动,倡导总线架构:一致的事实和一致的维度,这种数据模型易于用户理解和数据分析操作。基于主题域的实体关系建模以源系统数据为驱动,整合企业的所有数据,站在企业级的高度对数据进行抽象,整合,采用3NF的实体关系理论建模,这种数据建模方式以更为抽象的方式尝试建立一个相对稳定的数据模型,并能描述企业级的数据关系。在工业界往往把两种方式结合起来运用数据仓库的不同数据层次结构中。
我们上周主要是针对采用基于主题域的实体关系建模中数据整合的方式进行较为深入的讨论,讨论了以下三种思路:
以属性聚集的方式同一主题域中不同实体的属性。比如对于会员、公司、客户等等实体对象我们都有地址属性信息、名称标识属性信息等等,这种思路就是把属性内聚性高的字段整合在一起,并把不同的属性打上类型标识以树表的形式存放。它的优点是:第一,模型稳定性好,外围系统变化了字段,只需要添加不同的类型,不需要进行表结构的变更;第二,减少大量冗余记历史数据。它的缺点是:第一,丢失了很多实体的属性标识信息,我们从模型上将看不到一个会员究竟有哪些地址属性,只能通过查询类型代码才能获取这些信息;第二,它极度的膨胀数据表的记录数,因为它采用竖表的形式存放;第三,应用起来很难,效率是一个大问题,因为我们往往要使用一个实体的多个字段,就会有很多join操作和竖转横的操作。第四:属性聚集也是一件比较难操作的过程,应为这是一个抽象的过程,对建模人员的业务背景知识和抽象能力都提出了很高的要求;第五:虽然减少了冗余的记历史数据,但是记历史的操作也较为复杂。
采用面向对象建模的方式,抽象不同实体的共同属性,然后再一步步采用继承、组合等面向对象的思想具体化实体。他的优点是模型模型概念比较清晰,缺点也是模型相对不是很稳定,整合后的数据的后续应该也面临重新组合的问题。
贴源的建模方式:
采用基本保持源系统的方式进行建模,重点放在数据的标准化,一致化,和数据业务意义的梳理。这种做法和我们目前数据仓库的做法比较类似。它具有实施比较容易,快速实现,前台可以直接使用数据;缺点是整合度不高,模型不稳定。
模型终究是为数据分析应用服务的,具体采用什么方式建模需要根据实际业务特点和源系统的特点决定。阿里巴巴的源系统具有变化快,数据分析应该变化快的特点,响应速度也要快的特点,而且我们要求不同系统之间整合的需求并不是很大,往往深度的数据整合带来的是应用上的不方便。因此,我个人觉得采用贴源的方式是当前更优的方案。

热心网友 时间:2022-05-01 02:14

一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。先大概列一下互联网行业数据仓库、数据平台的用途:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
修复征信是不是真的? 市面上征信修复公司可靠吗? 征信修复公司是真是假,真的可以修复吗? Emulex FC HBA卡 皮肤毛囊炎怎样治 银行自动扣款什么原因 银行什么情况自动扣款 贷款自动扣款什么意思 粤省事办理准生证需要多久 粤省事办理准生证步骤 为什么于嘉说山猫队和网队的比赛,少了易建联山猫进攻都没那么流畅了... 如何做好仓库管理数据分析工作 百度手机输入法安卓版,支持蓝牙键盘吗? 安卓手机使用的是蓝牙键盘,怎么切换中英文输入状... 手机可以连接蓝牙键盘鼠标玩游戏吗? casestudi蓝牙键盘怎么跟手机安卓连接 安卓手机问什么搜索不到蓝牙键盘 安卓手机可以用otg连接蓝牙键盘吗? 平板电脑如何使用安卓系统蓝牙键盘金山打字通 手机版原神连接了蓝牙键盘,但是在操作页面就只有... 安卓手机可以用蓝牙鼠标,键盘吗 手机怎么连接蓝牙键盘? 安卓系统的手机可以用蓝牙键盘吗? 苹果蓝牙妙控键盘支持安卓手机吗? 安卓平板怎样用蓝牙键盘玩游戏,求教 安卓手机可以用蓝牙鼠标和键盘吗?可以的话怎么连接? 蓝牙键盘可以连接手机吗 安卓手机可以用蓝牙鼠标,键盘吗?如果可以,怎么... 手机怎么连接蓝牙键盘 国宇蓝牙键盘怎么连接安卓手机 个人征信网站 密码框不能输入密码 仓库应做哪些数据分析 数据运营经验:什么是数据分析,怎么做数据分 如何做库存分析报表 2017年四川省高考分数线是多少? 仓库管理信息系统中的需求分析中的数据流程图以及... 2017年四川省理科一本线估计是多少分 利用数据仓库优化数据分析该怎么做 2017年四川省高考最高分 仓库管理中如何做可视化管理 预计四川2O17年理科一本分数线 怎么做物流统计分析,例如有哪些数据,分析什么内... 2017四川理科超过一本线7O分可以读哪些学校 2017四川高考理科504的等位分多少? 如何在网上做数据收集和数据分析,并做出图文并茂... 四川理科生高一500分左右高考大概多少 仓库如何做好数据收集 为公司经营提供更好的服务 如何看待西南财经大学2017年四川理科分数线大幅度下滑 仓库年终工作总结需要分析哪些数据 四川理科一本分数线多少? 怎么做仓库规划图 ?