首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时分析数据

实时分析数据
EN

Stack Overflow用户
提问于 2012-07-09 13:29:40
回答 2查看 555关注 0票数 2

我正计划为我的网站创建一个实时分析页面--有点像Google,但会有真实的实时数据,这将随着新用户在我的网站上加载页面等而发生变化。

主站点是/将使用Asp.Net/C#作为带有MS数据库的后端编写的,前端将支持JavaScript (JQuery)、CSS3HTML5 (如果需要的话)。

我想知道我可以使用哪些方法来进行实时分析;如何将数据放到分析的页面上,我可以使用什么高效地绘制,并使用快速输入/输出存储数据。

我想到的第一件事就是使用Node.js --我能用它来实现一个实时分析页面吗?是个好主意吗?还有更好的选择吗?这个有什么缺点吗?

我是否需要运行在服务器上的C#应用程序来使用Node.js向网站发送/接收所有数据?

使用MS 数据库是否足够快?我是否需要实时存储所有数据,或者是否可以在每x秒/分钟的时间内将其分块存储?(哪个更有效?)

这说明了我对这件事的最初想法-

编辑:

我将在多个站点上使用这个系统,我一次可以获得10次点击量,达到100万次(极不可能,但仍有可能)。我想要能够扩大这个系统,并使它适应它所处的环境。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-09 13:55:34

这真的取决于实时数据需要如何“实时”。例如,我最近做了这个:

http://www.reed.co.uk/labs/realtime/

这显示了工作申请进入系统。显然,繁忙期间发生的事情太多了,无法实时查询主数据库--因此,我们所做的是查询一个滑动的“窗口”并将其缓存在服务器上--这是最后5分钟事件中的一部分。

然后,我们向用户回放,因为它正在发生“现在”。作为SLA (用户并不真正关心的)的一部分,有一点延迟可以使整个系统的可伸缩性大大提高。

编辑-进一步解释

数据只是从一个基本的存储过程调用中检索出来的--很自然,像reed这样的大系统有数百个事务/秒,所以我们不能继续访问主集群,对每个用户都是如此。

我们所做的就是确保我们有一个当前窗口,在本例中是缓存在服务器上的最后5分钟的数据。当一个客户端来到这个站点时,我们会得到最后5分钟的数据,然后就像现在正在发生的那样回放它--最终用户并不明智--但它意味着所有客户端都在读取缓存。一旦缓存使用了5分钟,我们就会使它失效,然后重新启动。这意味着每隔5分钟就有1DB命中,从而大大提高了系统的可伸缩性(并不是说它真的需要--因为它只是为了好玩,真的)

票数 4
EN

Stack Overflow用户

发布于 2012-07-09 13:55:03

所以你要知道,谷歌分析公司已经提供了实时用户跟踪服务。当在Google分析网站的仪表板内时,单击顶部栏上的主页按钮,然后单击左边栏上的实时按钮。考虑到该服务的设计工作和质量,这似乎是一个更好的选择,然后尝试重新创建它的服务。如果您确实选择继续创建自己的功能,那么至少可以使用它们的服务作为所需功能的基准。

使用API,就像googles图表API一样,https://developers.google.com/chart/将是显示存储数据输出的好方法,减少了开发时间。如果你提供更多的信息,你的热情,以及服务器的规模,这个软件将托管,那么它将更容易给你的速度问题的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11396036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档