Slicing and dicing 3 millions of rows in a web browser...

...well not precisely a web browser. The video below uses the desktop version of Bime, it is an Air Application and it runs the exact same code as the web version. So all you see in this video is possible in the browser. We only used the desktop version to be able to connect directly to the relational database. With "déjà vu", our distributed cache, deployed in the coming weeks, we'll be able to do the exact same test within a true web browser environment. The test was done on the following configuration:

  • standard mac book pro 2Gb of Rams.
  • Database is Sql Server 2005 that runs in a virtual machine on the same machine.
  • 3,5 millions of rows. The dataset has dimensions with a pretty low cardinality.
  • We skipped data retrieve time. We use standard JDBC here. However, we have a small performance impact above JDBC as we need to marshal data between Flex and Java.

For Flex developers interested in what's happening under the wood, we used heavily vectors to build the OLAP engine. It would be impossible to achieve this level of performance with standard Array. We used green thread to optimize the rendering. Merapi is used for the bridge between Java and Air...