为了方便公司的数据分析平台的独立运行和数据挖掘的探索,今年上半年在公司搭建了支持数据平台和数据挖掘的数据仓库;现就数据仓库的创建工作总结如下,供大家参考:

首先介绍下数据仓库搭建的缘由:

公司创建两年,用户量不多,也有几十万吧,就我来的时候,公司功能性平台基本上都有,例如:用户管理平台、订单管理平台、财务管理平台、运营管理平台、客服管理平台、系统管理平台等相关功能平台算齐全,基本能满足功能,但是数据平台还没有,老板、运营、市场,及相关人员对相关数据指标的了解还是通过看每周发上来的数据报表,这样就有很多重复性工作,效率及其低下,所以在来之后我(做数据的)就从原来的报表及各个部门的沟通,整理了常用的基本数据监控指标,做成了数据平台一期,基本满足各部门的数据需求,但是数据平台的一些基本指标就相当体检项目指标一样,只能关注到我们产品的运营基本情况,没有对数据进行深层次的挖掘,不仅对运营、市场的指导性不强,也对老板的决策没有建设性的支持,所以我提出了用户档案的建立,以便我们数据分析人员做用户画像积累静态数据,同一时间也提出来做APP的用户埋点工作,积累用户的行为数据,以便做关联分析。

数据积累1个月的时间,我们就准备着手数据分析平台的二期工作,数据平台二期工作主要是用户画像和用户行为分析(具体细节下次在整理),在这些需求下,数据平台的反应时间变慢性能也不行,也经常出问题,因为我们一直用的是线上数据库,也没有做中间表之类的,起初想做中间表进行优化,后来想想以后还要做更多的数据分析和数据挖掘方面的工作,所以综合想想,我们干脆搞个数据仓库,专门支持数据平台和数据分析、数据挖掘的工作的。

然后就是介绍下我们数据仓库的设计:

如上,公司到目前为止,没有做微服务的架构,所以线上就两个数据库,分别是线上app功能和埋点数据的相关表, 按照需求,我们会从数据源把数据抽取到数据仓库底层,对数据进行订正等处理,并形成更新的定时事务;导入数据库底层的基础表我们分为实时数据、日数据、月数据(表示更新时间间隔),通过基础表,我们会处理为中间模块表,区分功能,我们公司大体分为支持数据分析平台的中间表和数据挖掘探索应用的中间表,本来到这里就可以支持数据平台和数据挖掘工作,但是由于公司的数据量也不小,mysql计算的一些指标反应速度比较慢,也没有对sql进行优化,简单的优化肯定有,所以我们就数据平台的计算结果又做了一层结果表,这样的话开发直接写接口调用表里的数据即可,而且数据分析平台反应很快,同样,我们对数据挖掘的变量需求数据也做成相关结果表,这样也就形成了数据挖掘常用数据变量表。

中小型公司数据仓库搭建——以mysql为例的更多相关文章

  1. 数据库入门(以MySQL为例)

    一.数据库中的概念 1.数据库是用户存放数据.访问数据.操作数据的存储仓库,用户的各种数据被有组织地存放在数据库中.可以随时被有权限的用户查询.统计.添加.删除.和修改.可以说,数据库是长期存储在计算 ...

  2. 数据库简述(以MySQL为例)

    一.数据库中的概念 1.数据库是用户存放数据.访问数据.操作数据的存储仓库,用户的各种数据被有组织地存放在数据库中.可以随时被有权限的用户查询.统计.添加.删除和修改.可以说,数据库是长期存储在计算机 ...

  3. [转]Spring Cloud在国内中小型公司能用起来吗?

    原文地址:http://www.cnblogs.com/ityouknow/p/7508306.html 原文地址:https://www.zhihu.com/question/61403505 今天 ...

  4. 将excel数据导入到mysql的方法

    文本框被键盘遮挡到了,不会再获取焦点的时候被顶到键盘顶部.解决方案:设置A的Position为绝对定位absolute即可,其他几种定位方式未测试,但是不能是fixed ,正是因为这种定位方式,导致它 ...

  5. Linux(Centos)全自动异地备份数据(WEB+Mysql)

    文章开始之前,先问下各位站长一个问题:什么东西对于站长是十分重要的?其实对于站长而言,很多东西都是很重要的.但我们现在排除外在因素,把范围缩小到网站系统本身,哪些是非常重要的呢?网站数据就是其中之一了 ...

  6. 数据库水平拆分和垂直拆分区别(以mysql为例)

    数据库水平拆分和垂直拆分区别(以mysql为例) 数据库水平拆分和垂直拆分区别(以mysql为例)   案例:     简单购物系统暂设涉及如下表: 1.产品表(数据量10w,稳定) 2.订单表(数据 ...

  7. Spring Cloud在国内中小型公司能用起来吗?

    今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来吗?,吸引了我的注意.仔细的看了题主的问题,发现这是一个好问题,题主经过了一番思考,并且用图形全面的将 ...

  8. Net Core中数据库事务隔离详解——以Dapper和Mysql为例

    Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...

  9. 通过JDBC进行简单的增删改查(以MySQL为例) 目录

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

随机推荐

  1. 从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态

    一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...

  2. Android应用--简、美音乐播放器获取专辑图片(自定义列表适配器)

    Android应用--简.美音乐播放器获取专辑图片(自定义列表适配器) 2013年7月3日简.美音乐播放器开发 第二阶段已增加功能: 1.歌词滚动显示 2.来电监听 3.音量控制 4.左右滑动切换歌词 ...

  3. CAS-ticket not recognized

    描述:项目用单点登陆后,在页面中刷新时报错,错误信息如下: Servlet.service() for servlet default threw exception: org.jasig.cas.c ...

  4. 神经机器翻译(NMT)相关资料整理

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 简介 自2013年提出了神经机器翻译系统之后,神经机器翻译系统 ...

  5. java 子类、父类中静态代码块、字段,非静态代码块、字段以及构造函数的初始化顺序和次数

    一个类中的数据初始化顺序是面试官非常喜欢出的面试题之一,本文用一个实例来介绍java中子类.父类中静态代码块.字段,非静态代码块.字段以及构造函数的执行顺序和次数. 一.包结构

  6. Js-Html 前端系列--显示有格式的文本

    var dp = $("#dp").val(); var dpXSS = filterXss(dp); document.getElementById("descript ...

  7. Linux中的info指令

    Info 是什么?info是一种文档格式,也是阅读此格式文档的阅读器:我们常用它来查看Linux命令的info文档.它以主题的形式把几个命令组织在一起,以便于我们阅读:在主题内以node(节点)的形式 ...

  8. 疑问:关于postgres的to_number()

    postgres中的to_number(text,number),即是把字符串text转为number的函数,但有时候用的时候经常碰到这样的错误:[Err] ERROR:  invalid input ...

  9. python 2.7 字符串处理

    python 2 字符串处理小结: 字符替换:new_str = old_str.replace(char_old, char_new)--可用于清除字符串中所有的空格 字符分割(正/反):str_n ...

  10. CHM木马

    一. 弹出计算器 打开EasyCHM,工具 -> 反编译指定的CHM,选择目标文件和反编译工作目录. 进入反编译的工作目录,找到并编辑主页文件,这里是index.html 在<body&g ...