大数据项目之电商数仓、数据仓库概念、项目需求及架构设计

1.数据仓库概念

  数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。
数据仓库的输入数据通常包括:业务数据、用户行为数据和爬虫数据
  业务数据:就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。
  用户行为数据:用户在使用产品过程中,通过埋点收集与客户端产品交互过程中产生的数据,并发往日志服务器进行保存。比如页面浏览、点击、停留、评论、点赞、收藏等。用户行为数据通常存储在日志文件中。
  爬虫数据:通常是通过技术手段获取其他公司网站的数据。不建议去做。

在这里插入图片描述
数据仓库,并不是数据的最终目的地,而是为数据最终的目的地做好准备。这些准备包括对数据的:备份、清洗、聚合、统计等。

2. 项目需求及架构设计

2.1 项目需求分析

2.1.1 采集平台

(1)用户行为数据采集平台搭建
(2)业务数据采集平台搭建

2.1.2 离线需求

在这里插入图片描述

2.1.3 实时需求

在这里插入图片描述

2.1.4 思考题

1、项目技术如何选型?
2、框架版本如何选型(Apache、CDH、HDP)
3、服务器使用物理机还是云主机?
4、如何确认集群规模?(假设每台服务器8T硬盘)

2.2 项目框架

2.2.1 技术选型

在这里插入图片描述

2.2.2 系统数据流程设计

在这里插入图片描述

2.2.3 框架版本选型

1)如何选择Apache/CDH/HDP版本?
(1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员) (建议使用)
(2)CDH:国内使用最多的版本,但CM不开源,今年开始收费,一个节点1万美金/年。
(3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少
2)云服务选择
(1)阿里云的EMR、MaxCompute、DataWorks
(2)亚马逊云EMR
(3)腾讯云EMR
(4)华为云EMR

2.2.3.1 Apache框架版本
框架新版本
Hadoop3.1.3
Zookeeper3.5.7
MySQL5.7.16
Hive3.1.2
Flume1.9.0
Kafka3.0.0
Spark3.0.0
DataX3.0.0
Superset1.3.2
DolphinScheduler2.0.3
Maxwell1.29.2
Flink1.13.0
Redis6.0.8
Hbase2.0.5
ClickHouse20.4.5.36-2

注意事项:框架选型尽量不要选择最新的框架,选择最新框架半年前左右的稳定版。

2.2.4 服务器选型

服务器选择物理机还是云主机?

2.2.4.1 物理机:

以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,戴尔品牌单台报价4W出头。一般物理机寿命5年左右。
需要有专业的运维人员,平均一个月1万。电费也是不少的开销。

2.2.4.2 云主机:

云主机:以阿里云为例,差不多相同配置,每年5W。
很多运维工作都由阿里云完成,运维相对较轻松

2.2.4.3 企业选择

金融有钱公司和阿里没有直接冲突的公司选择阿里云
中小公司、为了融资上市,选择阿里云,拉倒融资后买物理机。
有长期打算,资金比较足,选择物理机。

2.2.5 集群规模

1)如何确认集群规模?(假设:每台服务器8T磁盘,128G内存)

(1)每天日活跃用户100万,每人一天平均100条:100万*100条=1亿条
(2)每条日志1K左右,每天1亿条:100000000 / 1024 / 1024 = 约100G
(3)半年内不扩容服务器来算:100G*180天=约18T
(4)保存3副本:18T*3=54T
(5)预留20%~30%Buf=54T/0.7=77T
(6)算到这:约8T*10台服务器

2)如果考虑数仓分层?数据采用压缩?需要重新再计算

2.2.6 集群资源规划设计

在企业中通常会搭建一套生产集群和一套测试集群。生产集群运行生产任务,测试集群用于上线前代码编写和测试。

2.2.6.1 生产集群

(1)消耗内存的分开
(2)数据传输数据比较紧密的放在一起(Kafka 、Zookeeper)
(3)客户端尽量放在一到两台服务器上,方便外部访问
(4)有依赖关系的尽量放到同一台服务器(例如:Hive和mysql)

MasterMastercorecorecorecommoncommoncommon
nnnndndndnJournalNodeJournalNodeJournalNode
rmrmnmnmnm
zkzkzk
hivehivehivehivehive
kafkakafkakafka
sparksparksparksparkspark
dataxdataxdataxdataxdatax
Ds-masterDs-masterDs-workerDs-workerDs-worker
maxwell
supset
mysql
flumeflume
flinkflink
clickhouse
redis
hbase
2.2.6.2 测试集群服务器规划
服务名称子服务服务器hadoop102服务器hadoop103服务器hadoop104
HDFSNameNode
HDFSDataNode
HDFSSecondaryNameNode
YarnNodeManager
YarnResourcemanager
ZookeeperZookeeper Server
Flume(采集日志)Flume
KafkaKafka
Flume(消费Kafka日志)Flume
Flume(消费Kafka业务)Flume
Hive
MySQLMySQL
DataX
Spark
DolphinSchedulerApiApplicationServer
DolphinSchedulerAlertServer
DolphinSchedulerMasterServer
DolphinSchedulerWorkerServer
DolphinSchedulerLoggerServer
SupersetSuperset
Flink
ClickHouse
Redis
Hbase
服务数总计201112
  • 59
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 86
    评论
商 品 交 易 管 理 系 统 【摘要】本文简要介绍了本商品管理系统的开发情况,基本设计思想、系统开发环境及目前的应用情况。 关键词 订单 代理商 销售查询 备份 目 录: 第一章 引言 第二章 数据库应用系统开发简介 2.1 数据库 2.2 数据库管理系统 2.3 创建数据库 第三章 应用系统开发工具 3.1 DELPHI简介 3.2 DELPHI数据库访问方法与数据库组件介绍 第四章 商品销售管理系统目标分析 4.1 任务分析 4.2 系统目标 第五章 商品销售管理系统的数据库设计 5.1 常见应用程序数据表 5.2 DELPHI中的数据文件路径管理 第六章 试题库系统应用程序界面设计 6.1 用户登录窗体 6.2 主窗体 6.3 系统设置窗体 6.4 权限管理窗体 6.5 操作员信息设置窗体 6.6 代理商进/退货录入窗口 6.7 订单进货数据录入窗口 6.8 代理商销售数据查询窗口 6.9 商品分布查询窗口 第七章 结束语 致谢 主要参考文献 附录程序清单及注释 一 引 言 随着大学教学改革进一步的深入和大学本科课程建设的逐步完善,对学生掌握每一课程内容程度的考试必须规范化,系统化,科学化,现代化;教学管理必须现代化、规范化。我们知道,传统的出试卷方法是由教师个人组卷,这样往往造成试题难度和知识覆盖面难以把握,不能达到对学生的科学而又全面的考核。针对这一情况,我们研制了计算机类学科试题库与自动组卷系统。一方面,自动组卷系统避免了手工出试卷造成的试卷不规范,不易集中管理;另一方面,避免教师每次考试时手工组卷及平时为学生组织练习时的重复劳动,将教师从简单、重复的环节中解脱出来,以更多的精力投入到教学与科研中去。 高校教务管理工作中一项非常重要的工作就是考试管理工作,每学期各专业考试,从组织出卷到试卷的印制及试卷的管理等工作非常繁琐且工作量很大,这种组织管理方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量大小等各方面难以控制,难以形成有效的试题库,不利于充分发挥历年来的优秀试题及试卷的作用,给试题和试卷的管理带来很多问题和困难。鉴于这种情况,利用计算机进行试卷的自动生成并逐步积累形成有效的试题库,对试题和试卷的管理将变的高效而便捷,对提高工作效率,使试卷管理逐步走向正规化自动化将起到十分重要的作用。 在试题库的制作方面,通过自动组卷系统对每次考试的实现,可以不断地对试题库的内容进行完善。在每一次组卷时,可以进一步对每题的内容进行分析,发现细微的问题,对试题库的内容作进一步地修改。这样避免了传统出试卷时,考试一次结束一次的缺点。由于试题库的建设具有继承性,规范性,可以不断积累考试经验,丰富试题库的内容。 二 数据库应用系统开发简介 在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。 数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。 数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。 §2.1 数据库 数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。 用户数据: 目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。 元数据: 数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文介绍的SQL语言可以同时用于元数据和用户数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 86
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Redamancy_06

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值