November 22, 2014

Quick review of InfiniDB 4

I’ve mentioned InfiniDB before in a previous post titled, “Star Schema Bechmark: InfoBright, InfiniDB and LucidDB,” but it’s been 4 years since that was published. Recently I evaluated column-storage solutions for Percona Cloud Tools and took another look at InfiniDB 4. There was the release of version 4, which I think is worth attention.

What is interesting in InfiniDB 4:

  • Fully OpenSource, GPLv2. There is no reserved features for Enterprise version
  • Multiple CPUs are used even for single query execution
  • WINDOW functions in SQL queries

What is WINDOW functions? In short, in regular SQL for a given row you can’t access to previous and next rows (at least not without complex SELF JOINS) and WINDOW function allows that.

As a basic example:

So for given row (start_ts) we access not only current query_time, but also a previous query_time: LAG(query_time). So the result looks like:

It gives a lot of interesting possibilities, like calculation of a growth or decline for time periods.

I still continue to evaluate different solutions but I decided to share this about InfiniDB, as it looks quite interesting now.

About Vadim Tkachenko

Vadim leads Percona's development group, which produces Percona Clould Tools, the Percona Server, Percona XraDB Cluster and Percona XtraBackup. He is an expert in solid-state storage, and has helped many hardware and software providers succeed in the MySQL market.


  1. ben says:

    how do these compare in performance to a self join (on auto_increment_key = auto_increment_key – 1 for example?)

    would love to see a refreshed version of “Star Schema Bechmark: InfoBright, InfiniDB and LucidDB”! They have also progressed a little

  2. Hi Vadim,

    Thanks for the nice write-up, the windowing functions are very powerful. There is a scheduled talk on “Windowing functions in MySQL with InfiniDB” at Percona Live on April 2nd.

    Jim T

  3. Nice to see InfiniDB going completely open source for the core engine. I think this could be game changer for adoption of analytic storage engines for MySQL!

  4. Vincent Janelle says:

    Ben your example, what if the key isn’t sequential?

  5. When I catch some time to breather I’ll publish some of my experiments and benchmarks comparing InfiniDB and Infobright, including some of what I think are show stoppers. Probably after Percona Live though :(

  6. Ali Alwash says:

    Hi Vadim,

    This really looks interesting, can be usefull in some cases :)
    Thanks for sharing your information.


    Ali Alwash

  7. Baruch Lvovsky says:

    Indeed,it is interesting,for InfiniDB, but existing some years.See Oracle Analytic Functions.

Speak Your Mind