The Postgres Plus database peddled by upstart EnterpriseDB was revved this week with the fifth tweak of its Oracle compatibility layer, bringing enhanced compatibility of key features in generations of Oracle databases and enabling the Postgres Plus Advanced Server database to mimic Oracle databases, particularly when coping with errors.
Hopefully EnterpriseDB won't take Oracle compatibility too far and develop a sudden urge to take over the world or buy a big yacht.
EnterpriseDB sells two versions of its database, which is created from the open source PostgreSQL database. Standard Server is a hardened version of the open source code, which is open source like PostgreSQL itself, while Advanced Server is the one with the Oracle compatibility layer, which is not an open source program.
Ed Boyajian, chief executive officer at EnterpriseDB, makes no bones about this so-called "open core" approach to selling open source software. "This is not a religion for us, this is just practical," Boyajian says.
Before taking the helm at EnterpriseDB a year ago, Boyajian was vice president and general manager of North American operations at commercial Linux distributor Red Hat, which has yet to distribute the code for its Red Hat Network support system - and probably will not, considering that is how the company makes its money.
Keeping that Oracle compatibility layer closed source is the main reason why EnterpriseDB has been able to shake some dough out of IBM, which licensed the code from EnterpriseDB back in April so it could weave Oracle compatibility features into its DB2 family of databases. IBM also took a $10m equity stake in EnterpriseDB as part of the deal, and the two may or may not have exchanged other database technologies - they're mum on that subject.
According to Jim Mlodgenski, the chief architect at EnterpriseDB, the company has not created compatibility with a specific release of Oracle databases, but rather has created a set of features that clone Oracle functions atop PostgreSQL, such as the way stored procedures are written and handled or SQL calls are made.
With Postgres Plus Advanced Server 8.3 R2, the Oracle compatibility is not just about features, but about the way the database behaves - the explicit transaction control of Oracle databases is mimicked, as are error conditions. So not only will programmers not know the difference, database administrators will not know the difference.
Of course, all Oracle functions are not emulated, but Mlodgenski says the compatibility spans from Oracle 7.3, which dates from 1996, all the way to the current 11g, which is nearly two years old. He also claims it hits all of the key functions that customers have asked for. Many Java applications and report-writing programs have no idea that the database switches after Advanced Server is slipped in, Mlodgenski says.
The updated Advanced Server also includes a new feature called infinite cache, which is a variant of the open source memcached caching server that a number of different vendors have tweaked to sell as a means of speeding up database performance on reads for Web 2.0-style workloads. The caching software is spread across multiple server nodes and requires no changes to programs for it to speed up database reads. Some performance data for the infinite cache feature can be found here.
The update also includes a new feature called DynaTune, which performs automatic tuning for over 50 parameters of the PostgreSQL database management system based on the use case and hardware setup.
EnterpriseDB won't talk about how many customers it has except to say "hundreds," according to Boyajian - but the privately held firm has said that more than 300 beta customers have put Advanced Server 8.3 R2 through its paces before it was launched.
Boyajian said that approximately 80 per cent of EnterpriseDB's customers have bought the Advanced Server edition of the revved-up database, with the remaining 20 per cent using Postgres Plus Standard Server or the open source PostgreSQL.
A support contract for Postgres Plus Standard Server or PostgreSQL costs $995 per socket per year on uniprocessor or two-socket boxes, while Advanced Server costs $1,995 per socket per year on these machines - essentially, Oracle compatibility costs $1,000 per socket.
On four-socket or larger machines, Postgres Plus Standard Server or PostgreSQL support costs $2,995 per socket, and Advanced Server costs $4,495 per socket. Oracle's 11g database costs anywhere from $5,800 to $47,500 per processor, with adjustments based on cores per processor, and support contract prices are set at 22 per cent of the license fees.
Oracle obviously discounts like crazy, but clearly there is lots of room for competition from the likes of EnterpriseDB. ®