中小型公司数据仓库搭建——以mysql为例
为了方便公司的数据分析平台的独立运行和数据挖掘的探索,今年上半年在公司搭建了支持数据平台和数据挖掘的数据仓库;现就数据仓库的创建工作总结如下,供大家参考:
首先介绍下数据仓库搭建的缘由:
公司创建两年,用户量不多,也有几十万吧,就我来的时候,公司功能性平台基本上都有,例如:用户管理平台、订单管理平台、财务管理平台、运营管理平台、客服管理平台、系统管理平台等相关功能平台算齐全,基本能满足功能,但是数据平台还没有,老板、运营、市场,及相关人员对相关数据指标的了解还是通过看每周发上来的数据报表,这样就有很多重复性工作,效率及其低下,所以在来之后我(做数据的)就从原来的报表及各个部门的沟通,整理了常用的基本数据监控指标,做成了数据平台一期,基本满足各部门的数据需求,但是数据平台的一些基本指标就相当体检项目指标一样,只能关注到我们产品的运营基本情况,没有对数据进行深层次的挖掘,不仅对运营、市场的指导性不强,也对老板的决策没有建设性的支持,所以我提出了用户档案的建立,以便我们数据分析人员做用户画像积累静态数据,同一时间也提出来做APP的用户埋点工作,积累用户的行为数据,以便做关联分析。
数据积累1个月的时间,我们就准备着手数据分析平台的二期工作,数据平台二期工作主要是用户画像和用户行为分析(具体细节下次在整理),在这些需求下,数据平台的反应时间变慢性能也不行,也经常出问题,因为我们一直用的是线上数据库,也没有做中间表之类的,起初想做中间表进行优化,后来想想以后还要做更多的数据分析和数据挖掘方面的工作,所以综合想想,我们干脆搞个数据仓库,专门支持数据平台和数据分析、数据挖掘的工作的。
然后就是介绍下我们数据仓库的设计:
如上,公司到目前为止,没有做微服务的架构,所以线上就两个数据库,分别是线上app功能和埋点数据的相关表, 按照需求,我们会从数据源把数据抽取到数据仓库底层,对数据进行订正等处理,并形成更新的定时事务;导入数据库底层的基础表我们分为实时数据、日数据、月数据(表示更新时间间隔),通过基础表,我们会处理为中间模块表,区分功能,我们公司大体分为支持数据分析平台的中间表和数据挖掘探索应用的中间表,本来到这里就可以支持数据平台和数据挖掘工作,但是由于公司的数据量也不小,mysql计算的一些指标反应速度比较慢,也没有对sql进行优化,简单的优化肯定有,所以我们就数据平台的计算结果又做了一层结果表,这样的话开发直接写接口调用表里的数据即可,而且数据分析平台反应很快,同样,我们对数据挖掘的变量需求数据也做成相关结果表,这样也就形成了数据挖掘常用数据变量表。
中小型公司数据仓库搭建——以mysql为例的更多相关文章
- 数据库入门(以MySQL为例)
一.数据库中的概念 1.数据库是用户存放数据.访问数据.操作数据的存储仓库,用户的各种数据被有组织地存放在数据库中.可以随时被有权限的用户查询.统计.添加.删除.和修改.可以说,数据库是长期存储在计算 ...
- 数据库简述(以MySQL为例)
一.数据库中的概念 1.数据库是用户存放数据.访问数据.操作数据的存储仓库,用户的各种数据被有组织地存放在数据库中.可以随时被有权限的用户查询.统计.添加.删除和修改.可以说,数据库是长期存储在计算机 ...
- [转]Spring Cloud在国内中小型公司能用起来吗?
原文地址:http://www.cnblogs.com/ityouknow/p/7508306.html 原文地址:https://www.zhihu.com/question/61403505 今天 ...
- 将excel数据导入到mysql的方法
文本框被键盘遮挡到了,不会再获取焦点的时候被顶到键盘顶部.解决方案:设置A的Position为绝对定位absolute即可,其他几种定位方式未测试,但是不能是fixed ,正是因为这种定位方式,导致它 ...
- Linux(Centos)全自动异地备份数据(WEB+Mysql)
文章开始之前,先问下各位站长一个问题:什么东西对于站长是十分重要的?其实对于站长而言,很多东西都是很重要的.但我们现在排除外在因素,把范围缩小到网站系统本身,哪些是非常重要的呢?网站数据就是其中之一了 ...
- 数据库水平拆分和垂直拆分区别(以mysql为例)
数据库水平拆分和垂直拆分区别(以mysql为例) 数据库水平拆分和垂直拆分区别(以mysql为例) 案例: 简单购物系统暂设涉及如下表: 1.产品表(数据量10w,稳定) 2.订单表(数据 ...
- Spring Cloud在国内中小型公司能用起来吗?
今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来吗?,吸引了我的注意.仔细的看了题主的问题,发现这是一个好问题,题主经过了一番思考,并且用图形全面的将 ...
- Net Core中数据库事务隔离详解——以Dapper和Mysql为例
Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...
- 通过JDBC进行简单的增删改查(以MySQL为例) 目录
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
随机推荐
- 12157 - Tariff Plan
Ampang Communications & Mobile (ACM) provides telecom services for various types of users. Sin ...
- 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序
在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...
- 通用性安装redis和基本配置
之前聊redis的文章比较多了,但还没写一下安装和配置方面的总结. 总的来说,一般运行环境都是centos,开发环境无外乎windows,linux,mac os,我在这三个平台都安装和部署过redi ...
- Facebook开源的基于SQL的操作系统检测和监控框架:osquery
osquery简介 osquery是一款由facebook开源的,面向OSX和Linux的操作系统检测框架. osquery顾名思义,就是query os,允许通过使用SQL的方式来获取操作系统的数据 ...
- 用scikit-learn研究局部线性嵌入(LLE)
在局部线性嵌入(LLE)原理总结中,我们对流形学习中的局部线性嵌入(LLE)算法做了原理总结.这里我们就对scikit-learn中流形学习的一些算法做一个介绍,并着重对其中LLE算法的使用方法做一个 ...
- ssh爆破脚本
前些天,基友发我一个ssh爆破工具,看起来很吊的样子.然后我就无聊自己写了个py脚本的. 单线程:慢成狗----- #coding:utf-8 #author:jwong import threadi ...
- configure, make, make install都做了什么
1. 我的理解./configure: 确保接下来的make以及make install所依赖的文件没有问题make: build编译连接生成可执行程序make install: 将编译好的可执行 ...
- 64位Java开发平台的选择,如何区分JDK,Tomcat,eclipse的32位与64版本
当你想下载Linux.JDK.Tomcat.eclipse时,你是下载32位版本还是64位版本?64位版本有两种,应该选哪一个? 当你看到这些内容:x86.x64.x86-32.x86-64.ia64 ...
- linux下使用autoconf制作Makefile
第一步:常用工具安装:正所谓:"工欲善其事,必先利其器".我们常用的工具主要有GNU AutomakeGNU AutoconfGNU m4GNU Libtool1.查看自己系统中是 ...
- Lua 数据类型和 Redis 数据类型之间转换
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...