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

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

阅读更多

 

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

 

外部迁移:

业务数据存储于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基本是连续的”?

相关推荐

    网站流量统计 3C架构哦 `

    3C架构,即Collect、Compute、Consume,是一种针对大规模数据处理和分析的设计理念,尤其适用于网站流量统计这类大数据场景。 1. Collect(收集):这一阶段主要是数据的采集。在网站流量统计中,我们需要通过各种...

    统计分析软件系统架构设计.pdf

    统计分析软件系统架构设计是构建高效、稳定且安全的数据处理平台的关键步骤。在这个领域,我们需要关注以下几个核心知识点: 1. **功能视图**: - **网站流量及访问用户基础数据分析**:这部分涉及到收集和处理...

    数据统计后台网站模板

    数据统计后台网站模板是专为数据管理和分析设计的一款HTML5模板,它提供了丰富的界面元素和交互功能,使得用户能够高效地处理和展示各种统计数据。在网页设计领域,这样的模板是开发人员快速构建统计分析类后台的...

    各类大型网站架构图

    在IT行业中,网站架构设计是构建高效、稳定且可扩展的在线服务平台的关键步骤。本话题主要探讨了四个关键的架构模型:企业架构图、电子商务平台架构图、百度的架构以及淘宝量子统计的简单版架构。这四个模型代表了...

    网站架构技术

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

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

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

    C#.NET网站访问统计系统(全源码)

    C#.NET网站访问统计系统是一种基于.NET框架的企业级应用,它集成了C#编程语言和SQL数据库,旨在为各类网站提供详尽的访问数据统计和分析。该系统采用标准的三层架构设计,包括表示层、业务逻辑层和数据访问层,保证...

    商业网站流量统计分析系统

    【商业网站流量统计分析系统】是一个综合性的项目,旨在为商业网站提供详细的访问量和用户行为数据,以帮助管理者了解网站的运营状况并作出优化决策。这个系统包含了多个关键组成部分,如前端展示、后端处理、数据库...

    C#+MSSQL 音乐中国多用户统计网站流量统计系统 v3.0

    总结来说,"C#+MSSQL音乐中国多用户统计网站流量统计系统 v3.0"结合了C#的高效编程和MSSQL的强大数据管理能力,为音乐类网站提供了全面、精确的流量统计服务,是音乐网站运营的重要辅助工具。通过深入理解并运用这些...

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

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

    流量统计,商品统计,cnzz统计,wpsshop电商系统,竞价系统,mvc架构

    在IT行业中,流量统计、商品统计、CNZZ统计、WPSShop电商系统、竞价系统以及MVC架构都是关键概念,它们分别涉及网站运营、数据分析、电子商务解决方案和软件开发模式。 首先,流量统计是衡量网站访问量的重要指标,...

    C#站内数据统计代码

    在IT行业中,数据统计是至关重要的,特别是在网站运营和数据分析领域。C#作为一种强大的编程语言,常被用于构建高效的数据处理系统。本篇文章将详细探讨如何利用C#编写站内数据统计代码,实现对站内各种数据流量、...

    网站流量统计 ASP.NET+C#

    在IT行业中,网站流量统计是一项至关重要的任务,它可以帮助网站管理员了解用户行为、评估营销策略效果以及优化网站性能。ASP.NET+C#是微软提供的一种强大的Web应用程序开发框架,结合C#编程语言,可以构建高效、...

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

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

    JSP网站流量统计系统

    在【描述】中,"JSP网站流量统计系统"的提及表明这是一个用于收集和分析网站流量数据的平台,它可能包括对页面浏览次数、独立访客、停留时间、热门页面等关键指标的追踪。然而,由于描述内容较简短,没有提供具体...

    基于java三层架构的电子商务网站

    Java三层架构是软件开发中常用的一种设计模式,尤其在电子商务网站的开发中,它能有效分离业务逻辑、数据访问和用户界面,提高代码的可维护性和可扩展性。SSH(Struts2、Spring、Hibernate)是Java Web开发的三大...

    高并发高流量网站架构

    这种转变不仅改变了互联网的性质,使其成为一个提供各种交互式服务的平台,同时也对网站的设计和技术提出了更高的要求。 #### 2. 镜像网站技术 镜像网站技术是一种通过在网络的不同地理位置部署相同的网站内容,...

    基于PHP的matomo(Piwik)开源网站流量统计系统源码.zip

    2. **数据库结构**:Matomo需要一个数据库来存储网站统计数据,压缩包可能包含SQL文件,用于创建必要的数据库表和初始数据。 3. **配置文件**:如`config/config.ini.php`,用于设置Matomo的基本配置,包括数据库...

Global site tag (gtag.js) - Google Analytics