Product Review
Informix on Linux: First Impressions
- Manufacturer: Informix
- URL: http://www.informix.com/
- Price: Free
- Reviewer: Fred Butzen
On Thursday, July 23, 1998, Linux took a stride closer to the business
mainstream. Informix, in response to a groundswell of demand among its
users, released its port of Informix to Linux.
For me personally, this was an important development. I have worked with
Informix for over 15 years, and first used it on an Altos 586 under Xenix.
I like the product, and seeing it available for free on my favorite operating
system was like having Christmas in July.
What follows are my first impressions of Informix on Linux.
Informix Release Under Linux
The Informix release consists of the following:
- The Informix Standard Engine is Informix's older
technology, which uses the file system to manage data. The Standard Engine
is adequate for development work and for managing small- to mid-sized
databases. It does not require the resources or management that Informix
Online does, but it is not robust enough for enterprise-level work.
- Informix Connect is a set of libraries which manage connections
to the database over a network.
- Informix ESQL/C is a kit of libraries, header files, and
utilities that let you write C programs that interact with the Informix
engine.
To download the package, you must register with Informix first. Informix then
e-mails you a serial number and key required for installing the
package. The package is free; however, you must still pay for technical support
and for runtime licenses to run the bits you develop on customers'
machines.
Most significantly, the package does not include ODBC or JDBC drivers.
However, Informix CLI includes a Visigenic ODBC driver as part of its
development kit. To register to download this development kit, check out
http://www.intraware.com/shop/product.html?PLNK=000111.
No Linux version is available yet, but kits are now available for Win95,
NT and various other flavors of UNIX.
First Impressions
Installation and configuration was straightforward, since I'm familiar
with Informix. (See the sidebar ``Informix Installation and
Configuration'' for details.)
Informix offers an SQL engine that is fully compliant with SQL-2 standards.
It also offers a stored-procedure language (a rather poor one, in my
opinion) and triggers.
Test Environment
I tested Informix on Red Hat 5.0, using the 2.0.29 kernel on a
home-brew machine, running a 100 MHz 486 with a 2GB SCSI disk and
32MB of RAM.
A reliable source has tested Informix with Debian 2.0 and its libc5
development package, and reports that Informix works fine on the simple tests
to which he subjected it.
Testing
To test Informix, I ran the programs with my baseball database that
I prepared for the book The Linux Database. This set exercises
common features of SQL, both in interpreted SQL and in SQL/C.
I found that Informix performs as one expects a major commercial package to
perform--without error. I could not get it to crash, return erroneous
data or otherwise mess up. On these fairly limited exercises, I found its
speed to be more than acceptable.
One problem, however, is that as I exercised Informix, I found that the
SQL daemon sqlexecd spawned dozens of zombie processes. Clearly,
work remains to be done.
Pluses and Minuses
Informix on Linux offers a number of pluses to anyone who develops
database applications under Linux:
- The main plus, of course, is name recognition: It is
well-known and has credibility among potential customers that other
packages, such as Yard or mysql, do not. This may not be fair, but
it is nonetheless true.
- Informix is a full, robust implementation
of SQL-2. Even the best freeware packages have limitations in their
implementation of SQL that require workarounds.
However, Informix has some serious drawbacks as well:
- The package offered is Informix's trailing-edge
technology. It does not offer the Online engine, data blades or Informix's
other enterprise-scale tools. Informix's standard-engine product is a good,
solid package, but it is not where the action is.
- The only interface language offered so far is C. If you wish
to build web interfaces with Perl, this package will not help you (although
there may be a third-party package available that includes a Perl interface
to Informix).
- Documentation is particularly helpful in getting Informix up
and running. However, it is hard to come by--you must either purchase
documentation, which is expensive, or download and print it, which is also expensive.
- Your customers still have to purchase a runtime license for
Informix, which can be quite expensive. When you add in the cost of connectivity
tools (ODBC, et al.), a customer can easily spend thousands of dollars per
installation.
In conclusion, my first impression is that Informix on Linux is a solid,
useful package. It is not clear just how many opportunities it will open
up for Linux database developers. However, Informix's port to
Linux raises Linux's reputation among people who have power--always
a reason to celebrate.
Acknowledgment
I wish to thank Jeff Noxon, who shared his impressions of the Informix
release with me and who pointed out the URL at which the Informix CLI
kit is available.
Installation and Configuration
Fred Butzen is a technical writer and programmer who lives in Chicago.
He is the principal author of the manual for the Coherent operating system, and
is co-author of The Linux Database (MIS:Press, 1997) and The
Linux Network (MIS:Press, 1998). He can be contacted at
fred@lepanto.com.