Infobright called a couple weeks ago to discuss, among other subjects, its subsequently-released Infobright Release 3.4. I made no effort to distinguish between community/open source and professional/chargeable editions, but leaving that aside, it seems fair to characterize Infobright 3.4 as having two overlapping primary themes:
- Performance and bottleneck cleanup.
- “Omigod, you mean you didn’t have that feature before?” cleanup.
That said, the traditional release for cleaning up the last huge gaps in an analytic DBMS product seems have become 4.0; recent examples include Aster Data, Vertica and Greenplum. Infobright seems on track to be another example of that rule.
Ack. Now that I’ve said that, other vendors are going to be tempted to accelerate their numbering so as to reach the 4.0 mark sooner …
A lot of Infobright performance enhancements are in the vein “We used to rely on generic MySQL for that, but now we do it ourselves, and it works a lot better.” Examples include:
- Infobright now does DELETEs all at once, vs. the previous row-by-row way. This makes DELETE performance similar to SELECT performance, when previously there was a big difference.
- Ditto, if I understood correctly, INSERTs and UPDATEs.
- Each release, Infobright covers more SQL functionality itself and passes less through to the generic MySQL engine.
- UTF-8 Unicode data can now be loaded via Infobright’s parallel loader. Previously, you had to use MySQL’s load.
Infobright has also added workload management in 3.4, and this is intertwined with multicore parallelization, apparently because the workload manager decides when a query should use multiple cores to execute. Infobright further says that multi-user INSERT performance has increased a lot more than single-user, but I have forgotten why that is.
Infobright now streams data back to the client faster. E.g., unless there’s some good reason not to, partial query results are pipelined back as they become available.* Finally, loading data no longer locks tables from being read (in my notes I wasn’t sure whether that was a current or future feature, but Infobright’s marketing seems to indicate it’s current). For some reason, Infobright is positioning this as a major, innovative feature.
*A good reason not to do this would be an aggregate that requires full materialization of the table before Infobright can carry it out.