欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请教下百度统计一类分析服务的数据库设计

程序员文章站 2024-02-02 13:28:58
...
最近启动了一个新项目,类似于百度统计、友盟一类的数据分析产品。

产品中大量使用count,groupby一类的聚合查询(按日期组织PV,UV,销售额一类的),现在page_visit表数据量过百万后服务器已经稍显吃力,搭档的建议是增加缓存表,就是每天把用户的数据都算一遍,用户查询时直接从缓存表中取数据。但是缓存表带来的额外工作量会比较大,维护成本也高。

所以想请教下百度统计、友盟一类的数据库是如何设计的?

部分表结构 page_visit表: id,storeID,productID,title,ip,country,city,url,referUrl,browser,createTime,os... 每一次访问都会插入一条新的记录。

store表: id,userID,name,email...

product表: id,storeID,title,price,size,color...

回复内容:

最近启动了一个新项目,类似于百度统计、友盟一类的数据分析产品。

产品中大量使用count,groupby一类的聚合查询(按日期组织PV,UV,销售额一类的),现在page_visit表数据量过百万后服务器已经稍显吃力,搭档的建议是增加缓存表,就是每天把用户的数据都算一遍,用户查询时直接从缓存表中取数据。但是缓存表带来的额外工作量会比较大,维护成本也高。

所以想请教下百度统计、友盟一类的数据库是如何设计的?

部分表结构 page_visit表: id,storeID,productID,title,ip,country,city,url,referUrl,browser,createTime,os... 每一次访问都会插入一条新的记录。

store表: id,userID,name,email...

product表: id,storeID,title,price,size,color...

缓存表,读和写在不同的表上。转存的脚本不难写应该~