Ingres -- Are you on the "bleeding" edge?
Written: Aug 14 '00 (Updated Mar 16 '01)
|
Product Rating:
|
|
| Management Ease: |
 |
|
| Technical Support: |
 |
|
| Reliability: |
 |
|
| Scalability: |
 |
|
| Availability of Third Party Software: |
 |
|
|
Pros: excellent query optimizer
Cons: unpopular; marginal support for complex situations
The Bottom Line: Although the query optimizer is arguably the best in the industry, the lack of 3rd party software may persuade you to look elsewhere.
|
|
|
| johnwc937's Full Review: Ingres II |
I have used the Ingres relational database management system ("RDBMS") since 1987. I built multiple reporting and full blown transaction processing systems with the product. Here are my thoughts on the product:
The Evolution
Several years ago, selecting an RDBMS was fairly simple. Only a handful of large-scale competitors existed and their performance benchmarks were leapfrogging each other every two or three months. My company narrowed its selection to three vendors: Ingres, Oracle, and Sybase. We selected Ingres over Oracle and Sybase at the time because Sybase was just an infant (although they had an impressive portfolio of top RDBMS experts on their team) and Oracle seemed more enthralled with marketing their product instead of improving it. By comparison, Ingres was focused on engineering the best RDBMS possible.
Over time, Ingres' lack of marketing hurt all of its users as research and development costs continued an upward spiral but sales did not follow suit. Oracle and Sybase grew and excelled because their companies had deeper pockets for the continued enhancement of the database products. Concerned over the long-term viability of the company and its desire to control the direction of the product, ASK Corporation bought out Ingres to assure its own base product (ASK / Manman) would be supported. Several year later, Computer Associates bought Ingres from ASK. And so it remains today.
My company uses Ingres, Sybase, and Oracle for various applications today.
The Database Differentiators
On the surface, there was not a lot of differentiation among database systems for Unix server configurations. Most, if not all, RDBMS vendor offers support for SQL, database replication, connectivity to non-relational data types, etc. So, how do you differentiate the products? I look at three key areas: the database engine, support, and third party software.
The Database Engine
The Ingres database engine is arguably the best in the industry. Ingres led the industry with its use of a query optimizer. Their optimizer could not only find multiple paths to take to extract data from its database, it would use statistics regarding the distribution of the data to improve the likelihood the path selected was indeed optimal. So confident was Ingres in its optimizer, they developed tools to allow DBAs and programmers to view the query paths for detailed investigation.
To take full advantage of this optimizer's power, additional effort is required by the DBA. Statistics must be captured and maintained by the DBA so the optimizer "knows" the distribution of the data. A set of programs must be run on a routine basis to collect fresh statistics on any data fields that are susceptible to change.
As an example, suppose a data element exists named "Gender" with available responses of "Male" and "Female". Without any knowledge of the data distribution, a standard RDBMS would assume any query requesting all "Male" data would return a very small percentage of the data. Why? Because the database engine doesn't "know" that only two available responses exist. With the Ingres statistic collection, its optimizer would be able to tell that only two responses exist and it would know the actual distribution of data -- in other words, it would know that 43% of the responses were "Male" and 57% of the responses were "Female".
Having a "smart" optimizer may not seem like much, but it makes a world of difference when running complex queries against very large data sets.
The database architecture is also highly configurable. The DBA can select the number of servers and threads to maximize performance. From experience, this configuration can be a very complex process if you're dealing with large numbers of users, multiple databases, multiple servers, etc. Significant expertise is required.
Support
Support is probably one of the most overlooked decision criteria for database systems. Novice users may assume that you can install the RDBMS and walk away. It's not that easy! Live telephone and on-site support services should be offered.
Ingres has both levels of support services covered. However, having the service offered is a bit different than actually providing the service. We, as a company, have had good success with basic telephone support for Ingres. Basic issues, problems, and questions have been handled, for the most part, promptly and accurately. However, complex support is a different issue entirely.
We have been on the "bleeding" edge regarding Ingres' database replication product. Prior to that, we were on the "bleeding" edge regarding database thread configuration. We have found support significantly lacking whenever we stretch the limits of the RDBMS. Support services are lacking when you reach this point. On more than one occasion, we were forced to abort / delay projects because Computer Associates could not provide the level of Ingres support we required.
Third Party Software
This topic may be putting the cart before the horse, but here goes...
Many companies select their RDBMS based upon the recommendations of their third party software vendor. For instance, if you're purchasing an Enterprise Resource Planning system ("ERP"), you're typically going to evaluate the software functionality first. Then you'll look at the RDBMSs the software will work with and make a selection. However, if your company wants to get the most mileage from an RDBMS, you'll want to evaluate the long-term viability of using the same RDBMS for other applications. This practice can save a company literally hundreds of thousands of dollars per year on database administration, programming, and support costs because of the economies of scale.
Ingres is not as widely accepted by third party software vendors as its major competitors. Nearly all major software vendors will support Oracle and Sybase. A much smaller number will support Ingres. Does this make a difference? Sure it does. Companies seeking software will frequently want their chosen RDBMS to be a primary or secondary development platform for the third party vendor. Software vendors are going to stick with the most popular RDBMSs. If Ingres is already less popular, it is likely the situation will become worse. Why would a software vendor choose to invest heavily to support a less popular RDBMS? They wouldn't -- and that's the point.
Recommendation
Ingres has been a good, albeit occasionally shaky, RDBMS platform for our company. Many of our mainstream systems still use Ingres even though its popularity faded years ago. The product and its architecture are fundamentally sound.
However, if I were to select an RDBMS today, I would not select Ingres. Highly paid database administrators will demand a premium because the supply of expertise is limited. And Computer Associates does not place the same level of emphasis on enhancing this product as used to occur when Ingres was a self-sustaining company. The product is good, but the support and long-term viability are not at levels that I would consider safe. Oracle, Sybase, and Informix may be better choices to evaluate.
Recommended:
No
|
|
|
|
Epinions.com ID: johnwc937
|
|
Member: John
Location: Dayton, Ohio
Reviews written: 36
Trusted by: 20 members
About Me: Highly educated manager with scores of hobbies and travel experiences.
|
|
|