ホームページ >バックエンド開発 >PHPチュートリアル >请教下百度统计一类分析服务的数据库设计

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

WBOY
WBOYオリジナル
2016-06-06 20:49:441128ブラウズ

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

产品中大量使用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...

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。