OK, I'm a tech weinie. A nerd. A geek. But it wasn't always so. I grew up working with my family in retail hobbies and sporting goods and I started my undergraduate career as a Mathematics major. After a break of a couple of years - caused by a night of never-to-be repeated seizures and a month of heavy duty downers before I could get an appointment with a Neurologist who could tell me I didn't need to take them - I finished up with a degree in Management and Marketing. I also spent a couple of years in sales following that before deciding that my first love was Programming which I first learned in High School.
Why do I mention this? As background to today's post. I want to promote my own view of how IBM SHOULD be presenting their database portfolio to the world. The personal history is here to indicate that I'm not JUST a tech weinie. When it comes to sales and marketing I probably have as much training and experience as more than a few IBM sales and marketing weinies. I have been promoting this idea to several members of the Informix user community and to any IBMer who will give me 5 minutes to badger them - and that includes Rob, Arvind, Jerry, Gary P., Cindy F., and others. I prepared a Powerpoint slide for Rob Thomas outlining my ideas when he met with the IIUG BOD this winter (and BTW, one reason that I am, as IB I said in my first post, cautiously optimistic about IBM's new attitude is the effort that Rob made to drive all the way up directly from the airport in Philadephia in the aftermath of a snow storm after flying many hours back from South America and before even going home to his family). I also displayed it on the big screens at the Conference for two hours or so on Wednesday. I'll try to attach it as a JPEG here.
What the presentation above shows is that IBM should not be trying to position Informix Dynamic Server and DB2 at all. IBM has a thing to be envied throughout the database software community - a database server product line. No one else has or can possibly dream of having such a complete package to present to customers. Trying to say to a customer that one of these products (and I'm not excluding DB2 here) is the one database server that the customer should purchase is the wrong approach. Trying to develop a strategy under which salespeople are scripted to present one server to customers using or considering Oracle and another to customers using or considering MS SQL Server is simply misguided thinking. I like to explain this with an analogy taken from one of the bastions of Informix Dynamic Server use - The Home Depot.
If you go into THD's Tool Hut looking for a hammer, do you expect to find a sales associate standing there who will look you over, evaluate your needs at a glance, and recommend the perfect hammer for your needs. Will you have the sales associate running through a script in his or her head that says "If the customer is a woman recommend the light weight, inexpensive, wooden hammer with the smallish head. If the customer is wearing overalls and a tank top recommend the kevlar and graphite fiber handled hammer with the titanium composite head." etc? No!
You will find a wall rack displaying THD's hammer product line. Many hammers. Wooden, metal, fiberglass, and graphite handles. Small heads and medium heads and massive heads. Claw hammers and ball peen hammers. Hammers from a local forge and hammers from national brands. When you look at that impressive and possibly confusing display, one of two things will happen. Either you will look upon that vast collection and evaluate size, construction materials, weight, and price and pick one that you think meets your needs on your own, or, having stared starry eyed for several minutes, you will be approached by a sales associate who will say something on the order of "Hi. You look lost. Looking for a hammer?" "Yes", you will respond, "but there are so many to choose from...". The associate will cheerily reply "No problem. Somewhere up there is the perfect hammer for any particular job. Tell me what you need it for and together we'll find the one best hammer or perhaps two hammers for you and the jobs you have." Being retail hardware geeks and not sophisticated software salespeople, they won't be quite that eloquent, but you get the idea.
IBM is trying to be that nonexistent hammer pusher. Instead they need to be that THD sales associate. If they do that, no other RDBMS vendor can compete. Oracle might be able to come in and offer MySQL Enterprise, Oracle Database 11g, and Oracle with TimesTen. Sybase can offer embedded ISAM database and Sybase Adaptive Server Enterprise. Microsoft can offer only Access and SQL Server. There are HUGE gaps in those product lines.
Only IBM can offer Informix Standard Engine, Informix Online 5.20, Informix Dynamic Server Workgroup Edition, Informix Dynamic Server, IBM DB2, and Informix Dynamic Server or IBM DB2 with the SolidDB Cache. Unlike Oracle's "Editions" the five distinct products IBM has in its tool corral represent four distinct database engines with different characteristics and capabilities. Standard Engine is the database that created Informix. It started out as the embedded database engine delivered with the 4GL development language. It was so good for real business database applications that it had to become a separate product. It is still a great database engine for smallish OLTP databases and while it does not scale to massive amounts of data (though it can certainly handle that physically) it does scale to large numbers of users and it is FAST for the simple queries these users require. Great engine for students, startups and small businesses. Great intro engine for VARs and ISVs.
OnLine was the first RDBMS to permit taking an archive while the engine was actively being accessed and updated, hence Online. This is still an ideal database engine for medium sized OLTP databases and still the same fast engine that put Informix on the map as a competitor to Oracle. It scales to many users and to fairly large databases being able to handle up to about 200TB of data total and single tables up to 32GB.
That brings us to the Informix Dynamic Server "Editions". Workgroup Edition and Enterprise Edition are the same codebase but WE has throttles to limit the amount of resources you can access and some features are reserved for licensees of EE. None of the competing databases (DB2 is NOT competition, it's part of the strategy - but the following holds for DB2 as well) can handle more data, process data faster, is more flexible, uses a little resources to get the job done, or requires as little maintenance and monitoring (as much as the latter is one of my own focuses) as Informix Dynamic Server. For the medium sized business, for data marts, and for small data warehouses Informix Dynamic Server Workgroup Edition is ideal. For massive OLTP databases and even medium sized data warehouses Informix Dynamic Server Enterprise Edition is unparalleled. If you want to embed business logic into the engine itself there really is only one choice because only Informix Dynamic Server, of all of the players, can make that work efficiently and seamlessly.
All of the Informix branded database servers are embeddable to an extent that others are not. Sybase had to go back to the drawing board to develop that capability which has been purpose built into every Informix brand database server from the beginning.
During the Q&A on Wednesday morning, Inhi Cho dismissed MySQL because "No business is putting MySQL into real production service." or something very close to that (I wasn't recording). Those of us out in the field know that this is just not true, even for big business, as Gumby points out, MySQL is a real part of their data infrastructure strategy. But for startups and small businesses it is becoming a strategic database server. Now, I do agree with her other comment that "MySQL cannot scale to handle a business as it grows" from a startup to a serious enterprise. However, neither Informix Dynamic Server nor IBM DB2 can fill that need in the critical years when a business is too small to pay for an Enterprise Class database server. But IBM has products that can. Also, let me state this emphatically and with no fear of being contradicted, any application written for Informix Standard Engine will run unmodified on OnLine or Dynamic Server and if it was compiled with a recent enough SDK without even recompiling! (OK, one exception is if the app embedded an SE style database name/path - and that should be fixed in future releases of SE in my opinion.) Absolutely every application written to run on Informix OnLine will run unmodified against Dynamic Server without exception. If it was compiled with an SDK released after 1994 it will even run without recompilation/relinking. Forward compatibility has always been built into Informix branded database servers and their SDKs. How's that for an upgrade path!
The chart above shows that for any market segment, there is an IBM RDBMS that fills the need. The Orange represents database access types or patterns. OLTP versus Decision Support versus Data Mart versus Data Warehouse. The Pink represents organization size or type. Student developers versus business startups versus established small businesses versus medium sized business versus large business versus ISVs and VARs. The Green represents the data store type Relational versus Object Relational.
Opposite this all is the Blue section at the top showing the Informix portion of the IBM DBMS product line and my suggestions for price-point positioning. I do believe that DB2 LUW and SolidDB Cache (as well as the SolidDB embedded database) are part of this same single product line strategy, I only did not include them because I produced this to answer Rob's notion of an "Informix Product Strategy" so I concentrated on that.
That's it. Comments from the field or from IBM are welcome. Let's start a discussion around this.