36.1、前文回顾
我们曾经分析过一个案例,那就是一个BI系统因为负载过高,频繁地触发了Young GC。为了帮助大家回忆,我们将这个案例的原文再次呈现出来。接下来,让我们一起回顾一下这个案例。
在回顾之后,我们将通过编写代码来模拟出这个案例的场景,并使用jstat工具来分析JVM的运行状态,让大家亲自体验一下jstat命令的使用方法。
36.2、一探究竟服务于百万商家的BI系统
首先,这是一个服务于数百万商家的商业智能(BI)系统。当一个平台拥有数十万甚至数百万的商家进行交易时,这个平台会产生大量的数据。基于这些数据,我们需要为商家提供一些数据报表,例如:每个商家每天有多少访客?有多少交易?付费转化率是多少?因此,我们就需要一套BI系统。它的核心就是收集商家日常经营的数据进行分析,然后将各种数据报表展示给商家。商业智能的核心在于通过展示数据报表,让商家能够更好地了解自身的经营状况,并帮助老板“智能”地调整经营策略,从而提升业绩。所以,这样一个BI系统的大致运行逻辑如下:
首先,从我们提供给商家日常使用的平台上,采集大量商家日常经营的数据。如下图所示。
接着就可以对这些经营数据依托各种大数据计算平台,比如Hadoop、Spark、Flink等技术进行海量数据的计算,计算出来各种各样的数据报表,如下图所示。