在理想的世界中,我希望能立即获得大量数据,而不需要花时间去请求和接收这些数据。但在现实应用中,比如谷歌或脸书,你需要从数据库中查询大量数据,这需要时间,然后你试图处理这些数据以得出有意义的结论或关系。
在使用SQL处理和排序大量数据的场景中,你会将数据存储在汇总表中以避免处理……然后使用cron定期更新这些表。但统计分析和NLP似乎有所不同。
问题是,数据在其生命周期的哪个阶段应该进行实际的统计/NLP等分析?
回答:
通常的做法是收集数据,将其存储在某种数据库中(SQL或NoSQL),然后如果数据量巨大,就将其导入到Hadoop集群中进行处理;否则就按照你通常的做法进行处理。然后,你有任务在分析这些数据,并将结果反馈给你。
获取数据 -> 存储数据 -> 导出数据 -> 分析数据 -> 使用离线分析的结果
在实际的数据库上进行数据处理效果并不好。