I’ve made a few references to Pervasive DataRush in the past — like this one — but I’ve never gotten around to seriously writing it up. I’ll now try to make partial amends. The key points about Pervasive Datarush are:
- DataRush grew out of Pervasive Software’s ETL business, as the underpinnings for a new data transformation tool they were building.
- DataRush is a Java framework for doing parallel programming automagically.
- Unlike most modern parallelization technologies, DataRush is focused on single SMP (Symmetric MultiProcessing) boxes rather than loosely-coupled grids.
- DataRush is based on dataflow programming.
- Pervasive says that DataRush is really fast.
More details may be found at the rather rich Pervasive DataRush website, or in the following excerpt from an email by Pervasive’s Steve Hochschild:
… we do believe that we were among the first in the commercial tools market to understand that a new approach was required if our customers were going to be successful in moving to multicore. We did recognize that dataflow was a well proven architecture, having implemented it in our own products, and we made the decision to offer up that infrastructure so that our thousands of existing VAR, OEM, and ISV customers could do the same, move their applications to multicore platforms.
The specific insight we claim is not only that we recognized that dataflow is The Right Way To Go, but that we painstakingly engineered it’s implementation in Java. Our developers have implemented deadlock detection, threading, and resource management within our library such that any commercial Java developer can become parallel-productive far more quickly than with any other approach. In particular, we know it is easier and faster to code more quickly and more successfully using DataRush than using the concurrency primitives in Java, than learning a new language, or than moving to an alternative architecture such as a data warehouse.
So the important success factors we believe we have are:
- we started before anyone else, (other than PeakStream, R.I.P.),
- we have experts in concurrency who have implemented parallel functionality in Java
- we created it as a Java library that works as a Java developer expects with regard to their IDE, JVM, etc., and
- we have decades of experience in data management tools targeted to developers.
We further are committed to riding the commodity price declines of SMB servers and storage systems, as we are totally certain that SMB prices will fall further and more quickly than blades and clusters.