I sat down and talked with Håkan Wolgé, the main architect behind QlikView, while I was in Sweden a few weeks ago. I had two main questions for him about his take on QlikView and the associative experience.
Erica Driver: At QlikTech we use the word "associative" to describe one of QlikView's differentiators. What does this word mean to you?
Håkan Wolgé: QlikView is all about the user experience. Not just the user interface . . . the user experience. With QlikView, the user experience is associative. We bring all the data the user might want to analyze in an application into memory and connect it together using key fields. This allows the user to wander through the data, seeing associations and connections they wouldn't be able to get in any other way.
We keep the data in memory in relational form. With QlikView there are no pre-calculated cubes. We do create cubes on the fly based on current selections the user makes. But cubes are not exposed to the user other than through QlikView objects like charts, graphs, and list boxes. If you want to get technical, I thought analyst Curt Monash did a good job in his article "The Underlying Technology of QlikView." What it really comes down to, though, is that the way we've architected QlikView makes it simple to use, develop, and sell.
Erica Driver: Is QlikView columnar or record-based-and does it matter?
Håkan Wolgé: QlikView is somewhere in between columnar and record-based. We're neither, and we're both. Our records are indices into "symbol tables" (what many people call data dictionaries). We get high performance in part because when a user creates a chart, QlikView only has to look through the data dictionary once. Also, data in QlikView is highly compressed. We find that we generally get a 10:1 compression ratio. This means if you bring a gigabyte of data into memory, we can compress it to 100 megabytes.
Does this matter? Well, it mostly matters that the technology we use delivers a simple, high-performance user experience. By this I mean users need to be able to ask and answer business questions on their own, without help from IT. Their business analysis system must be responsive. They can't be forced to wait a half hour for a query to run-or two weeks for IT to create a new query. A simple, high-performance, associative user experience is where QlikView really shines.