Will Informix survive?
Posted in 1993
Topics: Performance & Tuning, Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Logging & Checkpoints
Occasionally I like to post complaints to the net about the reliability problems I have with Informix products. This is not out of spite. I happen to like several of the Informix products I have. I like ISQL and SE and ESQL/C. I happen to dislike C4GL and ONLINE. The difference boils down to one thing: Does it work as advertised and if not, how much trouble does that cause me. ISQL has a problem with its perform screens. If I put a field at a certain place on the screen, it doesn't appear right. I can live with that- I don't put things there. It's been there for 3 years and I haven't called in the bug yet. It doesn't bother me enough to camp out on the phone line and then have to spend hours and hours explaining the bug to technical support. In short, the pain to report the bug is greater than the pain of the bug itself. These are the kinds of bugs I find in ISQL. In 3 years I've never found a bug in SE. I have had trouble with 4GL since day one. To this day I have some of the same problems I had initially. Are these feature requests? No, they are bugs. Take the delete key for example. In 4gl my users cannot break a query because the delete key is not being processed correctly. But this got fixed in 4.1 I hear you saying. Yes, and after waiting 1.5 years for 4.1 to get released on the 3B2's, I bought a machine that 4.1 was ported to, a Starserver E. The problem is, 1.5 years later, they still don't have a working copy of 4.1 for the Starserver E. About every 3 months I ask for the latest copy and spend about 2 weeks on the horn to tech support reporting bugs and trying to adjust to the changes that were made until finally I find a bug that is so big and so ugly that I cannot work around it. 6 times I've done this. Three years ago we bought OnLine. We waited until three months ago to actually try using it. I was skeptical whether we were the target audience. I bought time by showing that the DB Engine was not the bottleneck, the memory was, the CPU was, etc. Three months ago we needed to take the step to client/server computing by 7/1. We either had to purchase I-Net or start using OnLine and I-Star. At this point I had run out of excuses so we began the conversion. I was still reluctant to take the plunge. I still didn't believe that we were the target audience. Here's why: Informix billed the product as being targetted for OLTP systems. We only have 4 users out of 50 that are what I would call OLTP type users. The performance boost comes from not using the UNIX file system. The UNIX file system overhead is the 20 in the old 80/20 formula. No matter how fast your disks are, the UNIX file system is going to be faster, so speeding up UNIX won't give you as much as much as speeding up the disks or adding more cache. OnLine gets an additional performance kick through the use of a "shared buffer pool" which reduces disk activity by allowing users to share already queried data. This is a disk cache, just like the one used by the UNIX file system. Informix points out that this cache is not cluttered up with non-database stuff. This is only a gain if there is a substantial amount of other non-database activity going on and even then, more disk cache will compensate for it. Online gives you greater data integrity through mirroring. The UNIX file system offers mirroring too. Standard Engine never gave us a lick of trouble, why should I change from a known good product to an unknown. Given Informix's track record on C4GL, and the hell of trying to get tech support, I was, and am, hesitant to deepen my investment in the company. Now that I've taken the plunge and am using OnLine, allow me to elaborate on some of the other niceties of the system. After a crash, OnLine recovers to the point of the last committed transaction fast. SE does this same thing, but it is not fast and it is not automatic. What is not mentioned is that if you do not use transactions, the database recovers only to the last checkpoint, losing you data that SE would have kept. This can be partially counteracted by checkpointing more frequently, which slows the system down. You do not have to take the database offline to do database backups & Online has incremental backups. Unfortunately, the backups have to be done interactively. More importantly, if you write a program wrong and corrupt a ton of data, it is gone. You cannot go back and recover selective data. In SE you can do backups using UNIX tools and then use those tools in conjunction with Informix to get back selected rows or columns of data. With the Informix tools it is all or nothing, the entire database, or nothing at all. My reliability concerns were well founded. Views don't work right. You can't alter two tables at once. Programs with large selects randomly die. We've been unable to move our logical logs. Temp tables are a mess. We got an upgrade to solve the least of our problems and it killed us. We were down for 3 hours while waiting for Informix to call us back. In the end, we solved it ourselves. We went back to the previous version. I still like Informix. I just think they've got major reliability problems. I'm concerned for them in the long haul. I think if they cannot solve their quality problems, their market share will start eroding. This will start with the people that use them now not choosing them in the future. It will continue with people who use them now turning to other vendors. And while this is going on, their profits will keep falling because they have to hire a huge support staff to keep up with the bugs. Does any of this make sense? - John White MIS Manager Electrical South Inc. (john%elsouth@concert.net)