After Powersoft acquired Watcom and its famed Fortran compiler, marketing VP Tom Herring told me that the hidden jewel of the acquisition might well be a little DBMS, Watcom SQL. To put it mildly, Tom was right. Watcom SQL became SQL Anywhere; Powersoft was acquired by Sybase; Powersoft’s and Sybase’s main products both fell on hard times; Sybase built a whole mobile technology division around SQL Anywhere; and the whole thing just got sold for billions of dollars to SAP. Chris Kleisath recently briefed me on SQL Anywhere Version 12 (released to manufacturing this month), which seemed like a fine opportunity to catch up on prior developments as well.
The first two things to understand about SQL Anywhere is that there actually are three products:
- Sybase SQL Anywhere, a mid-range relational DBMS.
- Sybase UltraLite, a DBMS for mobile devices.
- Sybase MobiLink, a replication/sync tool.
and also that there are three main deployment/use cases:
- Generic desktop or server computers. This was the original market for SQL Anywhere.
- Laptop/handheld computers. This was the original growth market for SQL Anywhere. In particular, Siebel Systems’ first growth spurt was selling sales force automation software on laptop computers with SQL Anywhere underneath.
- Specialized devices. Earlier this decade, Sybase thought SQL Anywhere’s big growth market was on specialized devices. (I recall a video featuring some kind of automated pill dispensing machine for hospitals.)
Meanwhile, terminological weirdness includes:
- At various times the product Sybase SQL Anywhere has had “Server” in its name, but that seems not be part of the naming convention at the moment. Sybase folks still talk about it that way, however.
- Is SQL Anywhere a product? A group of products? A division? Again, that depends on whom and when you ask.
- When Sybase speaks of SQL Anywhere being in the “embedded” database market, it’s talking of any OEM business, not just deployment on particular kinds of devices. (IDC has long used that confusing terminology, which is a regrettably good excuse for vendors to use it as well.)
I get the impression that there are two big markets for the Sybase SQL Anywhere family:
- ~1000 OEM partners for Sybase SQL Anywhere. Notable examples include:
- Intuit (for QuickBooks)
- Symantec (for NetBackup)
- Sybase IQ, if you want to view it that way (a lot of Sybase IQ’s front-end is actually SQL Anywhere code)
- Direct enterprise customers for mobility-oriented combinations of Sybase UltraLite, Sybase SQL Anywhere, and Sybase MobiLink. Notable examples include:
- Pepsi Bottling Group (repairmen, using handheld devices)
- US 2010 Census (140,000 people address checkers – every address in the US was checked against GPS coordinates, it seems)
By way of contrast, the market for true embedded systems never took off as strongly for Sybase SQL Anywhere as it did for, say, pre-acquisition solidDB. Added together, this all seems to amount to ~ 10 million users overall, as per a slide deck Sybase graciously gave me permission to post.
Other market notes include:
- Sybase says that the main competitors for Sybase SQL Anywhere are Microsoft SQL Server, Oracle, and occasionally MySQL, with Progress coming up only rarely. I would have thought Progress OpenEdge RDBMS would be higher on the list (simple DBMS for the OEM market) – but come to think of it, it’s been quite a while since I’ve run into anybody who says they compete much with Progress OpenEdge. Perhaps Progress just isn’t selling its core product very hard these days.
- 80-90% of Sybase SQL Anywhere installations are on Windows, but the fact that SQL Anywhere also runs on Macintosh and ‘nix platforms is apparently pretty important to sales.
- The main platforms for Sybase UltraLite are Blackberry and Windows Mobile, although with iPhone support newly added in SQL Anywhere Version 12, that’s a good bet to change.
Besides the above, the key points about Sybase SQL Anywhere are:
- Sybase SQL Anywhere is designed for a no-DBA, “customers may not know there’s a DBMS” there kind of easy administration. (That’s one reason I compared it to Progress.)
- Sybase SQL Anywhere has a reasonable set of mid-range DBMS features, including:
- Stored procedures
- Referential integrity
- Geospatial datatype
- Text datatype (with a CONTAINS clause), and you can index external documents
- Multiprocessor/multicore operation
Sybase SQL Anywhere Version 12 seems to have a variety of performance improvements, of which the most interesting are:
- If you’re using an ORM (Object-Relational Mapping) layer such as Hibernate, the SQL Anywhere optimizer now works hard to rewrite some of the horrific SQL that can be generated, for example by flattening or eliminating a lot of subselects.
- There’s also a “Hibernate dialect” of SQL Anywhere – I’m not sure what that means, but it clearly indicates that SQL Anywhere wants to be Hibernate-friendly.
- When the SQL Anywhere optimizer decides the statistics are wrong, it reruns them, piggybacking on a subsequent query if it can, doing a background job if it must. Somewhat pretentiously, Sybase refers to this as “self-healing statistics”.
Many SQL Anywhere features are of course missing in Sybase UltraLite, but geospatial datatypes are present.
Finally, it’s a natural conjecture that MobiLink is related to Sybase Replication Server – but that conjecture turns out to be wrong. That said, keeping Sybase’s various replication offerings straight is tricky.