sexta-feira, 14 de dezembro de 2012

Dashboards and the ideal performance

Para ler este post em português clique AQUI

Today a project colleague asked me something that I'd like to share with our friends readers of this blog:

How to evaluate if a dashboard response time is acceptable?

One of the project deliverable, a dashboard with production costs indicators for a mining company, was taking more than a minute in its first execution.

The answer sometimes seems so simple as obvious: when you access a news portal, how soon you expect to see all information on the screen? Even if the portal is the most complete one available with all news of that moment, if every time you access the information you have to wait more than a minute to see the news, you   will probably look for another portal.

It is clear that this analogy does not cover all aspects of a scenario with an enterprise dashboard because it may involve issues such as infrastructure, relevance of information on the company, volumetry, feasibility of having access by another channel and so on. That, all of us technicians, know and know very well. But not always the user, that executive which goes through 5 meetings in the same day and usually can stop only for 15 minutes to pay attention to technology, knows or agrees with this. I've seen some discussions (read "fights") between sponsors and project managers on this subject, each with its reason. The technical side shows that the information previously took two days of a team effort to be obtained and the sponsor argues that during the pre-sale, with just one click, the information was presented instantly.

In my humble opinion, a minute to get some information may be excellent, but provided it is in a report that can run in the background while the user performs its other tasks. In this case, it is common to find reports of not only a minute but hours of execution.

But when we talk about dashboards, whether accessed from a PC or via mobile, the user usually waits for the response to each click, and a minute stopped displaying the information in a meeting or just seeking business answers is often the argument necessary to disable that dashboard that took us one day to develop.

There are techniques to improve the performance of a dashboard; schedule a previous execution of the data is usually one of them, although it often limits the scope of the information provided. Develop a specific data structure for each dashboard during the ETL phase is also a common chosen option, though often frustrated by issues such as cost and governance. The application of in-memory technology is usually the best option, when it is really an option.

In summary, if we realize that the requested information to a dashboard will not meet the minimum requirements of navigability for this kind of front-end, ideally we suggest the customer a report or another front-end solution. Definitely a complete dashboard, in my opinion, is not a dashboard full of information and amazing graphics, but a dashboard that gives the answer to the user before he starts thinking about another kind of question, for example, wouldn't I find this information anywhere else?

About the example mentioned above, since it was not yet planned for this phase of the project the use of in-memory technology, we must seek other solutions. With a series of queries optimizations and better synchronization of them, we were able to reduce the dashboard execution time to around 12 seconds in his first execution and of four seconds, in average, for the response to each click during navigation. The time was considered fair by both technical and functional side, given the quality of the information provided, but it is possible that for some friends readers of the blog this still is not an optimal response time. I consider acceptable, although I believe that this is still the limit to be suggested in the most extreme cases when developing a dashboard without the use of in-memory technology.

Regards,
--------------
Igor Alexandre Jakuboski is a professional of Business Intelligence for over 7 years, having already worked on two of the leading providers of BI solutions in the market and led projects in Brazil and abroad. He currently works as Principal Solution Architect at SAP. LinkedIn profile: 

Nenhum comentário:

Postar um comentário