IBM Informix C-ISAM

IBM Informix C-ISAM (also C-ISAM or cisam) is an X/Open standards-compliant Application programming interface (API) to an Indexed Sequential Access Method or ISAM.

Description
C-ISAM is an API (Application Programming Interface) of C Programming Language functions for managing data files organised with a B+ tree index scheme. C-ISAM provides the underlying file storage mechanism of the Informix Standard Engine Relational Database Management System (RDBMS).

History
C-ISAM was first created by Informix Corporation in the 1980s. It provided the underlying file storage mechanism for the popular first generation Informix Relational Database Management System (RDBMS), which allows data manipulation by way of the Structured Query Language (SQL) protocol. This version later became known as the Standard Engine (SE), to distinguish it from Informix's later database engine which used Random Sequential Access Method (RSAM). Informix initially called this the "Turbo" engine, but that name was later abandoned in favour of the name "OnLine".

Many computer systems were written using C-ISAM, which was fast and efficient and flexible, while providing effective mechanisms for maintaining data integrity. C-ISAM was also licensed by other software suppliers, for example as the indexed file handler in early versions of Micro Focus COBOL.

C-ISAM was primarily used for business applications, which were at the time often written in the C language. For business purposes, development in a low level 3GL such as C could be too slow and error prone, requiring very high skill levels. Another significant limitation was in networked applications, since the use of C-ISAM on a client to access a remote file system resulted in heavy network traffic.

Both problems could be resolved by use of the SE to provide an SQL interface to C-ISAM, using Informix's embedded SQL (ESQL/C and ESQL/COBOL) or 4GL products for client development. The SE could be used on a server to support networked use without the performance penalty.

This allowed programmers to focus on business logic, while the compiler and RDBMS took care of error checking and data-type conversion and most importantly, memory management. Thus, the direct use of C-ISAM declined, while 4GL with embedded SQL, became the new darling of business programmers. Unfortunately, Informix made some strategic errors by not adapting to the next generation of "Visual" or "GUI based" programming tools. Competitors like Microsoft and Oracle supplanted these products by vertically integrating theirs, while Informix focused mainly on developing their RDBMS. New use of these products went into decline with the company. As of 2006, they were still in wide use around the world and are also available and supported.

Informix was acquired by IBM in April 2001. IBM still recommends the use of the Informix Standard Engine for embedded applications.