问题导读:
1、数据仓库的架构是什么样的?
2、如何进行技术选型?
3、系统数据流程如何设计?
4、如何进行服务器选型?

一、数据仓库

数据仓库(Data Warehouse),是为企业所有决策制定过程,提供所有系统数据支持的战略集合
通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等
数据仓库,并不是数据的最终目 的地,而是为数据最终的目的地做好准备。这些准备包括对数据的:清洗,转义,分类,重组,合并,拆分,统计等等

二、项目需求
1、用户行为数据采集平台搭建
2、业务数据采集平台搭建
3、数据仓库维度建模
4、分析,用户、流量、会员、商品、销售、地区、活动等电商核心主题,统计的报表指标
5、采用即席查询工具,随时进行指标分析
6、对集群性能进行监控,发生异常需要报警
7、元数据管理
8、质量监控


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

  • 数据量大小
  • 业务需求
  • 行业内经验
  • 技术成熟度
  • 开发维护成本
  • 总成本预算

【3】使用的技术
1、数据采集传输:Flume,Kafka,Sqoop,Logstash,DataX
2、数据存储:MySql,HDFS,HBase,Redis,MongoDB
3、数据计算:Hive,Tez,Spark,Flink,Storm
4、数据查询:Presto,Druid,Impala,Kylin
5、数据可视化:Echarts、Superset、QuickBI、DataV
6、任务调度:Azkaban、Oozie
7、集群监控:Zabbix
8、元数据管理:Atlas
9、数据质量监控:Griffin


四、系统数据流程设计
数据来源:

  • 埋点用户行为数据
    用户在使用产品过程中,与客户端产品交互过程中产生的数据,比如页面浏览、点击、停留、评论、点赞、收藏等
  • 业务交互数据
    业务流程中产生的登录、订单、用户、商品、支付等相关的数据,通常存储在DB中,包括Mysql、Oracle等

架构图:

五、框架版本选型
1)如何选择Apache/CDH/HDP版本?

  • (1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员)(建议使用)
  • (2)CDH:国内使用最多的版本,但CM不开源,今年开始要收费,一个节点1万美金
  • (3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少

2)Apache框架版本

3)CDH框架版本:5.12.1

六、服务器选型
1)物理机
以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,戴尔品牌单台报价4W出头。一般物理机寿命5年左右
需要有专业的运维人员,平均一个月1万,电费也是不少的开销
2)云主机
以阿里云为例,差不多相同配置,每年5W
很多运维工作都由阿里云完成,运维相对较轻松
3)企业选择
1、金融有钱公司和阿里没有直接冲突的公司选择阿里云
2、中小公司、为了融资上市,选择阿里云,拉倒融资后买物理机
3、有长期打算,资金比较足,选择物理机

七、集群规模
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)如果考虑数仓分层?数据采用压缩?需要重新再计算
3)测试服务器规划

实战-数据仓库构建(一)相关推荐

  1. 实战-数据仓库构建(二)

    问题导读: 1.如何进行埋点数据处理? 2.事件日志数据如何设计表? 3.如何使用数据生成脚本? 4.如何配置日志打印Logback? 一.数据生成模块 1)埋点数据基本格式 公共字段:基本所有安卓手 ...

  2. pandas使用resample进行不同粒度下的时间特征重构实战:构建时间维度统计特征

    pandas使用resample进行不同粒度下的时间特征重构实战:构建时间维度统计特征 Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率 ...

  3. 数据库与MPP数仓(十四):招标采购系统的数据仓库构建

    前两篇讲了数据仓库的价值和构建思路,这里根据实际的业务系统数据实现一个数据仓库模型,最近项目是招投标系统的数据仓库建设,涉及的业务逻辑较复杂,参与方较多,但数据量不大,数据仓库构建后主要是支撑招标采购 ...

  4. 大数据培训 | 数据仓库构建方法论和实践

    数据仓库的价值 构思一个主题讨论数据仓库的构建方法论,包括数据仓库的价值.选型.构建思路,随着数据规模膨胀和业务复杂度的提升,大型企业需要构建企业级的数据仓库(数据湖)来快速支撑业务的数据化需求,与传 ...

  5. 商城模块java_Java商城秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  6. 线下课程推荐 | 知识图谱理论与实战:构建行业知识图谱 (第四期)

    知识,是智能的前提. 2012年,Google推出"Google Knowledge Graph",并利用其在搜索引擎中增强搜索结果,这便是"知识图谱"名称的由 ...

  7. java 模块 分工_Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  8. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  9. 【机器学习实战】构建/绘制决策树(ID3/C4.5)

    近来想要整理一下机器学习实验的代码,将一些基本算法的过程重新整理实现,并完善注释. 一.构建决策树 1.计算信息熵calculate_entropy(dataset) 2.按某一特征划分数据集spli ...

最新文章

  1. 修改IDEA运行jsp文件的时候浏览器地址栏的虚拟访问路径网址
  2. pandas将列表list插入到dataframe的单元格中、pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes)
  3. 文件服务器错误用友,用友U8.60用友服务器登陆不了,提示文件错误
  4. adding oracle jvm 慢,java – 什么JVM优化导致这些性能结果?
  5. Oracle分页排序数据混乱原因及解决
  6. 【Linux】一步一步学Linux——su命令(103)
  7. WiFi 热点共享设置
  8. java mongo api_MONGODB的javaAPI简单应用
  9. 照顾好自己才能照顾好别人_您必须照顾的5个基本数据
  10. yii schema.mysql.sql_YII学习,初体验 ,对YII的一些理解.
  11. 写python笔记本推荐_写个python程序帮你清理垃圾
  12. ubuntu Django项目后台不挂断运行之screen命令
  13. tomcat使用遇到的问题汇总
  14. [C++] C++ Primer 笔记
  15. 占据语音入口?苹果或将在2020年WWDC上推出SiriOS
  16. 北京涛思数据获得 Pre A 轮融资,专注时序空间大数据领域
  17. WinCE5.0中文模拟器SDK(VS2005)的配置
  18. 韦东山嵌入式学习心得
  19. zuc算法代码详解_zuc算法的实现
  20. 魔方:公式记忆(三字诀)

热门文章

  1. MySQL数据库锁介绍
  2. Unity之数据持久化——Json
  3. C语言初阶-C语言中static的用法
  4. Ubuntu 根目录结构
  5. 拼多多“百亿农研”开辟发展新路径
  6. 网络工程师面试题(面试必看)(3)
  7. 证券考试和基金考试有什么区别?
  8. 叠氮功能化硫铟铜量子点CuInS Qds-N3|炔基修饰碲化镉/硫化硒量子点 CdTe/CdSe Qds-Alkyne科研试剂
  9. LWIP协议与TCP/IP
  10. 【实战】python以及opencv实现信用卡的数字识别