要分析大量网站或财务数据并提取参数数据,最佳策略是什么?
我将以下策略分类为“即时”或“延迟”。哪个最好?
1号是最简单的,特别是如果你只有一台服务器。单个服务器的#2或#3能否更高效,或者您只看到多台服务器的电源?
是否有任何python项目已经针对这种分析?
编辑:最好的,我的意思是最快的执行,以防止用户轻松编程作为次要
答案 0 :(得分:2)
我会在单个或多台计算机上使用celery,并采用“即时”策略。您可以拥有一个聚合任务,用于获取数据,以及一个进程任务,用于分析它们并将它们存储在数据库中。这是一种高度可扩展的方法,您可以根据计算能力进行调整。
在一次通过中处理数据的意义上,“即时”策略更有效。另外两个涉及额外的步骤,从您保存它们的地方重新检索数据并在此之后处理它们。
当然,一切都取决于数据的性质和处理方式。如果流程阶段比聚合慢,则“即时”策略将挂起并等待处理完成。但同样,您可以将celery配置为异步,并在有数据尚未处理的情况下继续聚合。
答案 1 :(得分:2)
首先:“阻止用户等待的最快执行”意味着某种延迟处理。一旦您决定推迟处理 - 因此用户没有看到它 - 平面文件和数据库之间的选择与最终用户等待时间基本无关。
第二:数据库很慢。平面文件很快。但是,由于您将使用celery并避免最终用户等待时间,因此平面文件和数据库之间的区别变得无关紧要。
将所有源数据以ASCII格式存储到文件系统中,稍后发布,或使用processing-data-daemon
这是最快的。芹菜加载平面文件。