Re: Questions about Informix Functionality
Posted in 1995
Topics: Stored Procedures & SPL, Connectivity: ESQL/C, 4GL & Embedded SQL, Server Administration, Triggers, Constraints & Referential Integrity, Transactions, Locking & Isolation, Logging & Checkpoints, Clustering, Grid & MACH11
> Oracle DBA dagmara@delphi.com writes: > I have been tasked to evaluate a product > that uses an Informix RDBMS Must be about my turn to post something... Make sure you understand the difference between Informix's lower cost SE engine, based on ISAM over Unix files, and the OnLine engine, which manages all its own resources properly and is the proper comparison to Oracle 7 and the right choice for large and/or high transaction databases. > 1. Can Informix support distributed processing, if so, what version? > What distributed processing means to me: I have two Informix RDBMSs on > two servers; a single transaction can update both RDBMSs. Yes, since 5.0 and maybe earlier. I stand to be corrected, but it seems to me that Informix does all the right server-side two-phase commit that Oracle 7 does, but without all the marketing hoopla (which is a bad move for Informix). > 2. Can Informix support mirroring, snapshots, or replicated servers? Better mirroring than Oracle because you can mirror everything. Oracle has come from environments where the OS/hardware can do it for you. No standard snapshot capability. They now have some kind of backup server replication, but I have not looked into it (and it may cover snapshots). Ask them. > 3. Can I write / store database triggers to perform referential or data > integrity? Stored procedures since 5.0, triggers since 5.01. I like them, and the way they easily return multiple rows is much better than Oracle. The only caveat I have found is the limited set of expression functions (on strings, datetimes, whatever). This may be better in the latest 7.X, I am programming to the 5.X level. Informix, comes from a Unix focus where perhaps all that kind of stuff was expected to be done in C (or 4GL). > 4. Any "gotchas" with the product; e.g., yes the function will work, but > only if you stand on head and hold your breath (you know, like ORACLE). Like all of the RDBMS, Informix has it's own style you have to learn, and like all of them, locks and transaction logs ("logical logs" in Informix) will blow you up in various ways. Generally, though, Informix is much easier to manage and understand compared with Oracle (imho). My major gotcha, relative to Oracle, is that Informix does not have the Oracle "writers do not block readers" implementation and so the application management of locks and use of isolation levels becomes much more important/traumatic. Informix does have row level locking, unlike some. > This RDBMS will probably be several gigabytes; any experiences with this > amount of data would be helpful also. Informix is well capable of multi-gigabyte databases, and has customers with tens of gigabytes and growing. I don't see an issue here between Informix and Oracle. > 5. Does Informix permit you to stripe tables? In 7.1 (now out on a platform near you) there is a lot of good stuff for partitioning tables across spaces/drives. The whole parallel architecture of 6.X and 7.X will also impress you when compared against Oracle (assuming you have managed to understand what Oracle calls a parallel architecture :-). Current Informix (6.X, 7.X) provides much more benefit from a SMP machine than Oracle. On the other hand, Informix does not yet have Oracle 7's Parallel Server support for clusters of machines, which is just what you want in certain applications/situations. > 6. Can you use raw partitions on UNIX? Absolutely. In my opinion this is the only way to run an OnLine database. It's much easier to set up than with Oracle. -- --------------------------------------------------------------------------- Lawrence Byrd Internet: lawrence@quintus.com Quintus Corporation Phone: USA 415 254 2805 301 East Evelyn Avenue, Mountain View, California 94041 ---------------------------------------------------------------------------