A Data Science Central Community
Currently I am working on number of projects for scaling and developing BI solution in Qlikview for our clients. Following are some learning that I have got:
Scaling - when it comes to Qlikview it’s the most difficult question I have been asked. Reason is that a part of answer (and dare I say most crucial one) lies with the person asking it i.e. end customer; which is the amount of data that they are expecting the system to hold. Once we have this answer and keeping in consideration QlikView is in Memory Associative tool, memory calculation has to happen. From my exploration of Qlikview Tool and research I came to know following
1) RAM should be at least 1/10 size of the data volume. Also keep in mind every user will have 10% addition for every user who run concurrently on the report. This is required for optimum usage. However if less than this is used maybe Qlikview start using Virtual memory which is an overhead and will create lag. So my advice if cost permit give your System as much RAM as possible.
2) CPU core – for me it’s more the merrier as Qlikview has linear processing so all the computation will be done in a serialized. So will be very fast if more core is there and slower in an arithmetic scale when core are less.
3) Choice of server Application – Qlik offer 4 types of server
Read all about them here
Now understand all server has cost and EE is costliest but will have almost all functionality, with multiple security architecture supported. But if you only need application publishing IAS or QES can be used so choose wisely. All server varies based on Document it can hold not the data it will allow so don’t worry about data (RAM is the Limit).
4) Publisher – if required for report publishing only, publisher is not the only option available with Qlik you can use nPrinting. Publisher has a much bigger role in Qlik Server Environment as it can use to load data, breaking down report based on different rules, among other thing. So choose publisher if needed as per requirement.
There are other tools that can help in development like Expressor an ETL tool from Qlik but I like traditional tool better.
Also my personal opinion is using a staging area rather than cube for data analytics as you can use full use of Qlikview Functionality.
Scope- now a more subjective question what is scope of data to be visualized. This depends on you and your client as we need to have in detail discussion around it. Moreover I have seen Clients Requirement increase as you make them more familiarized with Qlikview capability. So always keep in mind this while defining scope.
Finally a small point that if you are doing any analysis like regression or Predictive using Qlikview make sure you have a complete command over it or have an Analyst work with you so that results are more up to mark.
Thanks as always comments are welcome.