`
ldd600
  • 浏览: 101798 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
47bb354f-8b5f-3ea6-a206-c7ead38c741c
Hyperic插件开发不完...
浏览量:11078
社区版块
存档分类
最新评论

网站数据统计服务(一),架构

阅读更多

 

统计服务对业务数据进行迁移,分析。

 

外部迁移:

业务数据存储于Mysql中,Mysql存储的数据会进行垂直,水平切分,业务数据会存在于多个mysql表中,数据分散使得分析程序写起来头大。并且mysql的单表存储量有限,扩展起来也不容易,要定期做数据迁移。于是我们将mysql中的数据定时地迁移到mongoDB中,并清理mysql中的数据。

 

外部迁移的程序是通用的:全量迁移,增量迁移(insertupdate)。迁移时是并发迁移的,可以根据业务ID或者时间分片。比如一个表中主要的操作是insert,这时他时间段内(上次迁移的结束时间到这次迁移的时间)ID基本是连续增长的,所以按ID分批,而某个表中的lastModifiedTime基本是连续的,这时我们按时间分批。

 

外部迁移将Mysql多个表中的数据迁移到mongoDB的一个collection中。同时支持进行一些数据格式的转换,但基本保证数据的原样性。

 


 

 

内部迁移

内部迁移是对原始数据进行初步的整理,并临时存储到mongoDBcollection中。在统计完毕后清理临时表。

 

我们另外还开发了mongoDB查询表达式和Java DSL,查询表达式还支持用户自定义函数,内部迁移只需要做简单的配置,类似于SQL.

select max(column) as max, count(column), min(column) from collection where columnc=”” and column b=””

 

求最大值,最小值,可以用来分批并发处理。

 

select userFunction(columnd),  sum(columnc), columna from collectionA  group by columna into collectionB

columnd的数据格式化后upsertcollectionB

sum是对columnc求和

count是对columna求个数

 

内部迁移后的临时数据可以用来外部排重。比如求人数(非次数)可以group by后求count就可以了。


 

分析

分析程序我们也建议通过配置统计出来,也支持plugin的分析程序analyzer

select sum(columna), count(columnb)

查询总数和个数

 

select columnacolumnb from collectionB orderby columnc limit 30

查询值最大的30条数据

 

CMS和排行服务可以通过统计服务直接查询到感兴趣的数据。

 

 

 

  • 大小: 13.7 KB
  • 大小: 6.6 KB
分享到:
评论
2 楼 ldd600 2011-05-28  
chakey 写道
"比如一个表中主要的操作是insert,这时他时间段内(上次迁移的结束时间到这次迁移的时间)ID基本是连续增长的,所以按ID分批,而某个表中的lastModifiedTime基本是连续的,这时我们按时间分批。"
请问:如何判断“ID基本是连续增长的” 和 “lastModifiedTime基本是连续的”?


主要还是取决于当前的业务逻辑。
1.自增长的ID是连续增长的
2.这里有误,lastmodifytime不可能是连续的,应该表述成lastmodifytime是业务数据修改的时间。如果业务数据有改动需要重新爬取。


不管按哪种方式分批,都需要取出count,min,max最大值,计算分批。min,max用于确定边界,所以说需要可以不断增长的字段。sequence,time是不错的选择。
1 楼 chakey 2011-05-27  
"比如一个表中主要的操作是insert,这时他时间段内(上次迁移的结束时间到这次迁移的时间)ID基本是连续增长的,所以按ID分批,而某个表中的lastModifiedTime基本是连续的,这时我们按时间分批。"
请问:如何判断“ID基本是连续增长的” 和 “lastModifiedTime基本是连续的”?

相关推荐

    网站架构技术

    大型网站架构演化 大型网站软件系统的特点 大型网站架构演化发展历程 初始阶段 应用服务和数据服务分离 使用缓存改善网站性能 缓存类型 本地缓存 分布式缓存 缓存产品 redis 业界...

    数据统计和分析论文的matlab源代码

    本文介绍了一种由网站运营商自身进行数据统计和分析的解决方案。 由网站运营公司技术部门以网站运营日志为最初数据源,基于公司高层业务需求,将数据经过层层数据清洗、转换和抽取,建立数据仓库,基于数据仓库进行数据...

    基于Python实现的游戏网站爬虫统计系统是一款专为游戏行业设计的数据分析工具,它通过自动化爬虫技术从各大游戏网站收集数据,并对

    基于Python实现的游戏网站爬虫统计系统是一款专为游戏行业设计的数据分析工具,它通过自动化爬虫技术从各大游戏网站收集数据,并对这些数据进行统计和分析,为游戏开发者和市场分析师提供有价值的市场洞察和用户行为...

    高性能高并发服务器架构大全

     如何架构一个“Just so so”的网站? 148  最便宜的高负载网站架构 152  负载均衡技术全攻略 154  海量数据处理分析 164  一个很有意义的SQL的优化过程(一个电子化支局中的大数据量的统计SQL) 166 ...

    PHP开源网站访问统计系统源码下载.zip

    PHP开源网站访问统计系统源码下载Matomo的前身是Piwik,是一套基于 PHP5 MySQL 技术构建的开源网站访问统计系统。Matomo 可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等流量分析...

    Piwik 网站统计系统 v3.6.1.zip

    使用者独立拥有自己的统计数据,而不是寄存在服务商那里,这样就可以更灵活的使用统计数据,不用担心数据丢失问题。 Piwik 是安装在服务器端的统计工具,安装过程很简单,但是需要服务器支持 PHP5.1 和 MySQL 。...

    网站统计系统 v4.3.0,套基于PHP5+MySQL技术构建的开源网站访问统计系统

    使用者独立拥有自己的统计数据,而不是寄存在服务商那里,这样就可以更灵活的使用统计数据,不用担心数据丢失问题。 网站统计系统是安装在服务器端的统计工具,安装过程很简单,但是需要服务器支持 PHP5.1 和 MySQL ...

    基于Hadoop豆瓣电影数据分析实验报告

    注意:豆瓣网站的数据形式为文本文件(必须将导入到hive中做处理)。也可以为CSV文件,例如下图: 针对本次实验,我们需要用到Hadoop集群作为模拟大数据的分析软件,集群环境必须要包括,hdfs,hbase,hive,flume...

    商业企业营销数据挖掘及营销数据统计分析系统的有效构建.pdf

    商业企业营销数据挖掘及营销数据统计分析系统的有效构建.pdf

    成品网站源码网站源码后台

    系统后台采用ASP.NET MVC框架三层架构MODEL开发,使用到的技术点有,泛型,Razor语法,数据库增删改查,批量操作,bootstrap、Ajax、js、jquery、数据统计,加密与解密,时间控件,富文本内容编辑器。 二、菜单功能,...

    商务智能架构图表

    包括建模方法、处理大规模数据的体系架构、交互技术、放大缩小方法等。动画工程师考虑表面材质、动画渲染方法等,交互设计师也会介入进行用户交互行为模式的设计。 所以一个数据可视化作品或项目的创建,需要多领域...

    网站内容数据分析报告.pptx

    回弹率(所有页面) 这个指标目前可以通过谷歌访问者流查看或者链接点击图查看,因为流量就是从这些页面产生的,可以帮助策划对网站的导航或布局设计进行架构设计时,尤其要关注的数据。 网站内容数据分析报告全文共...

    企业数据网站源码 v2.0.rar

    程序介绍 ☆系统前台简介☆ 1.采用ASP ACCESS架构,安全稳定 2.防注入功能 3.支持无限级分类,方便自由 4.包含全站数据,拥有上千...6.数据信息管理、订单管理、报表统计、会员管理、网站版权管理等功能强大。。

    提升网站业绩,点击获取优化秘诀![Matomo源码下载]

    使用者独立拥有自己的统计数据,而不是寄存在服务商那里,这样可以更灵活地使用数据,不用担心数据丢失问题。 Matomo是一款安装在服务器端的统计工具,安装过程简单,但需要服务器支持PHP5.1和MySQL。上传Piwik到...

    网络安全架构设计和网络安全设备部署.pptx

    Technology 风险监控 事件管理 脆弱管理 性能监控 安全监控中心 态势感知 业务监控 拓扑监控 设备监控 安全审计中心 网络审计 业务审计 数据审计 采集存储 终端审计 运维审计 合规审计 统计查询 边界安全 传输安全 ...

    分布式发布订阅消息系统Kafka架构设计

    Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activitystream)和运营数据处理管道(pipeline)的基础。现在它已为多家不同类型的公司作为多种类型的数据管道(datapipeline)和消息系统使用。...

    毕业设计基于Spark的电影推荐系统源码,python爬取数据并采用Django搭建系统(源码).zip

    数据计算层是用来对数据做统计分析,和运行推荐算法的。通过对数据存储层里的基础数据和用户行为数据做计算推荐,得到的结果重新存入数据存储层中。 数据获取层用以获取本推荐系统所需要的大量基础数据,并进行数据...

    springboot汽车资讯网站.zip

    数据统计:网站后台提供了数据统计功能,可以查看网站的访问量、用户活跃度等数据,帮助运营者了解网站的运行情况,优化网站内容和结构。技术栈:前端:Vue.js、Element UI、Axios、Vuex后端:SpringBoot、MyBatis、...

    开涛高可用高并发-亿级流量核心技术

    19 应用数据静态化架构高性能单页Web应用 377 19.1 整体架构 378 19.1.1 CMS系统 379 19.1.2 前端展示系统 380 19.1.3 控制系统 380 19.2 数据和模板动态化 381 19.3 多版本机制 381 19.4 异常问题 382 20 使用...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

Global site tag (gtag.js) - Google Analytics