Kognitio has managed to create an affordable cloud-based analytical platform that customers can deploy within a preconfigured Amazon Elastic Compute Cloud (EC2) image that contains everything they need to get started without having to run post-installation shell scripts.
Kognitio Cloud is a specially built version of the Kognitio Analytical Platform that runs as a node within Amazon EC2 and is capable of handling the massive servers available in that environment. It is built from the ground up—to scale both vertically on a single server with increases in RAM as well as horizontally across multiple server instances in a cloud.
In the next few years, we're going to see a change in the way businesses do their online data processing. So-called business intelligence, and in particular the online analytical processing (OLAP), are moving to cloud technology to take advantage of the scalability offered by such cloud vendors as Amazon Web Services.
But in order to handle true scalability, software must be designed to support growth. While existing software can sometimes be re-engineered to scale in a system such as Amazon EC2, the results are likely to be clunky and require significant work on behalf of the IT team trying to implement the solution.
I know because I tried to get a SAP installation up and running on a cloud server and it was a disaster. So you can imagine my delight when I installed Kognitio on an Amazon EC2 server and it just worked. I didn't have to do anything. And better, it worked perfectly in conjunction with the Amazon EC2 environment.
Here's why it worked so well: For starters, unlike traditional OLAP tools, Kognitio operates in-memory. In the past, this would have been a ridiculous idea when servers were limited to maybe a gigabyte or two of RAM. But today, computers with 8GB of RAM are commonplace. (The notebook on which I'm typing this review has 8GB of RAM.)
But with cloud vendors where you can allocate your servers on the fly, you can build even bigger servers. Even 16GB of RAM isn’t a problem.
Amazon lets you go as high as 68GB. (I'm not sure why 68, as opposed to the 2-power-friendly 64GB.) So now, suddenly, in-memory OLAP is a reality when there's more than enough memory to handle most data situations as well as the processing of the data.
Further, Kognitio is written mostly in C, with some parts even in assembler. It makes use of advanced x86 CPU features such as vectorization and parallelization. In one sense, coding it in C and assembler might seem like a step backward, as today we have some cool, powerful languages.
But the fact is the cool, powerful languages don't offer nearly the vectorized performance and parallelization across cores you can get out of C and assembler using the native Intel instructions. (However, that is changing. High-level languages are starting to implement multi-core parallel processing and vectorization.) Finally, Kognitio has native support for Amazon EC2's scaling.
Now we’ve reached the part that makes me the happiest: They're directly supporting the modern, scalable approach to writing software. In addition to supporting a large server vertically by increasing the amount of RAM, Kognitio supports distributing multiple nodes of Kognitio horizontally across multiple instances on Amazon EC2. And for the final package, the developers at Kognitio went through great lengths to build an Amazon EC2 image that contains everything you need, already configured for you. No post-installation shell scripts to run. It's already there.
If you're not familiar with Amazon EC2 images, here's a quick summary. An image is essentially a snapshot of a running operating system and hard drive. Once you have the image, you can use it to create additional servers identical to the first one. Software that was already installed will then be available on the new servers, automatically.