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

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

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

    问题: 在使用线程池处理客户端请求时发现不能获取到客户端的ip! 原因:     由于在server_loop注循环中只把连接字sock加到queue队列中,并没有客户端IP,所以每一次queue回调 ...

  2. HttpURLConnection碰到连续302跳转的问题的原因及解决方法

    用HttpURLConnection联网的代码: HttpURLConnection conn = null;       URL url = new URL("http://10.0.0. ...

  3. Swift 3.0 字符串、数组、字典的使用

    1.字符串 string func stringTest() -> Void { // 字符串 let str1 = "yiyi" let str2 = "2222 ...

  4. Oracle多关键字查询

    因项目需要,在某查询页面的查询字段支持多关键字查询,支持空格隔开查询条件,故实现如下: 使用的原理是:ORACLE中的支持正则表达式的函数REGEXP_LIKE, '|' 指明两项之间的一个选择.例子 ...

  5. .NET基础——方法

    这一篇,我们来学习C#中的方法——函数 1.  方法的功能  方法的功能:用来复用代码的,当我们在一个程序中反复的写了同样的代码,我们就可以把需要重复写的代码定义在一个方法中,用到的时候只需要调用就可 ...

  6. 在code first结构下的生成的数据迁移文件,upadate-database失败

    程序控制台出现 already exist Table "xxx",是由于项目中的Migrations(迁移文件)与连接的mysql数据库里迁移记录表里的数量及名称不一致.

  7. [ios3-地图] 如何在iOS地图上高效的显示大量数据 [转]

    [转至:http://blog.csdn.net/pjk1129/article/details/17358337] 原文:How To Efficiently Display Large Amoun ...

  8. Eclipse/MyEclipse 安裝後應該更改的設置

    基本上都通過 Window -> Preferences 進行設置: Java 保存自動格式化: Java:Java -> Editor -> Save Actions,選中 Per ...

  9. Uva 11889 Benefit (lcm与gcd)

    题意:给你两个数,a,c,求出 lcm(a,b)==c 时的 b 的最小值 思路:我们知道一个性质 gcd(a,b)*lcm(a,b) = a*b 由此我们可以得到 b = gcd(a,b)*lcm( ...

  10. ios微信支付成功后点击左上角返回不走回调的问题

    最近做微信支付发现ios9以后出现的跳转其他app后左上角有返回xxx功能会影响微信支付回调,情况如图 返回后不走下面的方法 - (BOOL)application:(UIApplication *) ...