Coral8 versus StreamBase
Besides talking about what Coral8 and StreamBase (and other CEP vendors) have in common, Mark Tsimelzon and I talked quite a bit about what he sees as some of the important differences. There were a lot, of course, but three in particular stood out.
1. Mark believes Coral8 has significantly lower latency than StreamBase. E.g., the Wombat/Coral8 combo achieves sub-millisecond latency, with Coral8 itself consuming less than a tenth of that. The best comparable figures from StreamBase that I currently know of are almost an order of magnitude slower.
Top-end speed aside, Mark believes that Coral8 is fundamentally better suited for complex queries and pattern recognition, while StreamBase works well with simpler queries. For example, his other performance claims notwithstanding, he concedes that StreamBase is at least comparable to Coral8 in its throughput for huge numbers of simple queries. (The number he mentioned was ½ million queries/second.) Indeed, while we barely talked about customer/marketing issues, Mark asserts that the companies’ respective customer bases reflect this complex/simple distinction.*
*I don’t think I can judge that claim overall yet. However, it seems consistent with one particular data point. The intelligence market – which StreamBase seems to dominate – probably does feature very high volumes of relatively simple filters.
2. Mark thinks Coral8 has a much richer set of language primitives than StreamBase. In particular, he calls attention to Coral8’s primitives for synchronizing multiple data streams. That particular example seems to be core of his claim that StreamBase was subject to risks of nondeterminism. However, he did seem to concede StreamBase might be just as deterministic as Coral8 with sufficiently careful coding.* In another example, Mark thinks subqueries are important, whereas Mike Stonebraker told me a while ago he doesn’t think they arise much in real life CEP.
*To a first approximation, I continue to doubt that determinism is more than a theoretical/edge-case issue. I don’t think many indeterminate, untestable programs are actually being written using any of these engines. On the other hand, it may be the case that programming effort to assure determinism varies significantly between different systems. For a rough analogy here, think of referential integrity. Few database application systems truly suffer from lack of integrity (but feel free to insert the MySQL snark of your choice). Even so, the effort needed to assure integrity can vary widely among different DBMS.
3. Mark positions StreamBase as having been developed with a limited-power query-specification GUI, with the SQL-based language coming only after the fact. By way of contrast, Coral8 was SQL-based all along. He attributes this to the different university research projects they are respectively based on, and asserts that most StreamBase customers he knows of still use the GUI rather than the language. This is central to his argument that StreamBase may be fine for simple queries, but has trouble with more complex ones.
Other highlights included:
- Coral8 is written in C++, while most of the competition uses Java. Mark hypothesizes that this may provide a performance advantage.
- Coral8 automatically handles locks, while in StreamBase you (sometimes?) need to code them specifically.
- The same goes for asynchronous persistence (used for high availability/failover). Coral8 boasts a flexible, no-programming-required configurable clustering capability.
- As part of the “we handle more complex stuff” theme, he thinks Coral8’s optimization is more intricate than StreamBase’s.
- Mark thinks Coral8’s homegrown portal is more flexible, with more user control, than competitors’ licensed tools.
Comments
5 Responses to “Coral8 versus StreamBase”
Leave a Reply
Point three is an interesting assumption – that GUIs implicitly restrict rather than enable complex queries. If I recall correctly, some of the most complex applications running infrastructure of the largest companies is built on top of Ab Initio, which at it’s core uses a GUI design tool for very powerful data flow manipulation.
Omar,
It all depends on what the GUI can or can’t easily do. Coral8’s claims certainly include both that a language is better than a GUI (in the case of query specification) and that a GUI is better than a language (in the case of setting up clustering).
The devil is in the details.
Best,
CAM
Once again, we appreciate our competitors mentioning StreamBase and giving us the opportunity to correct some misunderstandings and highlight our advantages over some of these less mature products.
Readers should first note that the competitor makes a number of claims which are not actually supported by facts or independent published references. For example:
“Mark believes Coral8 has significantly lower…”
“Mark believes the Coral8 is fundamentally better suited for…”
“Mark thinks Coral8 has a much richer set of…”
The facts are very different. Due to time constraints, just a few are highlighted below:
Latency and Performance: StreamBase, like a number of other CEP products, achieves sub-millisecond latency. No independent tests have been run comparing the latency of current versions of StreamBase Enterprise Edition vs Coral8; therefore, it is unclear what, if any, data Coral8 thinks is out there in the public domain to substantiate their claims. Coral8 is, however, correct in conceding that “StreamBase is at least comparable to Coral8 in its throughput.” A benchmark run by a third-party consultant last year showed StreamBase running at more than 500,000 messages/second on a 2.5 Ghz AMD Opteron™ CPU for a market data monitoring application. No comparable test results have been published by Coral8 or other competitors to date.
Complex Queries, Pattern Recognition, and Simple Queries: StreamBase has been handling some of the most complex queries and applications across financial services, government intelligence, Web/Internet businesses, and the telecomm/networking sectors since well before Coral8 was publicly launched as a company. StreamBase’s track record is proven over a customer base that spans a far broader range of industries and complex mission-critical applications than that of Coral8 and virtually all other competitors as well. The claims that StreamBase can only handle simple queries are simply unsubstantiated.
Graphical User Interface vs Text Language: StreamBase today offers customers a choice of two development paradigms–programming StreamSQL applications using our workflow GUI or using the text version of the language—and developers can also build an app with the workflow GUI and convert it to text for subsequent enhancement or editing. Coral8 offers only one paradigm. This criticism is reinforced by a recent Infoworld review of Coral8 which said, “On the downside, Coral8 offers none of the graphical development features found in competitors such as StreamBase. For an application that is otherwise extremely usable, this is a conspicuous oversight.”
http://www.infoworld/article/07/04/02/14TCcoral_1.html
Moreover, the post (above) about Ab Initio is correct. As anyone familiar with the ETL tools space can attest, these tools offer a very powerful workflow GUI that handles a high degree of complexity, but also allow developers to bring in custom code or drop into a scripting language if necessary to do something the GUI might not allow readily. Customers mostly use the StreamBase GUI because they can build VERY POWERFUL, COMPLEX applications with it that run blindly fast. They can drop into the text editor if they wish, they can create custom Java or C++ operators/functions, and StreamBase Studio includes a number of other tools that make it easy to back-test applications on stored data, debug applications, optimize performance, and interface with input and output feeds. Anyone who wishes to check out the fantastic StreamBase development environment can do so by downloading the Developer Edition of StreamBase at: http://www.streambase.com/developers.
In summary, we appreciate the chance to clarify any misunderstandings on the part of competitors who may be unfamiliar with StreamBase, and to also discuss why StreamBase is the leading software for high performance Complex Event Processing.
[…] http://www.dbms2.com/2007/08/10/coral8-versus-streambase/ • • • […]
[…] how to implement that. You start with a complex event/stream processing engine like StreamBase or Coral8, both of which can handle a large multiple of that volume without working up a sweat. And you […]