IBM Informix C-ISAM

Last updated

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. [1]

Contents

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.

See also

Related Research Articles

<span class="mw-page-title-main">Database</span> Organized collection of data in computing

In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and analyze the data. The DBMS additionally encompasses the core facilities provided to administer the database. The sum total of the database, the DBMS and the associated applications can be referred to as a database system. Often the term "database" is also used loosely to refer to any of the DBMS, the database system or an application associated with the database.

A fourth-generation programming language (4GL) is a high-level computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Some researchers state that 4GLs are a subset of domain-specific languages.

<span class="mw-page-title-main">MVS</span> Operating system for IBM mainframes

Multiple Virtual Storage, more commonly called MVS, is the most commonly used operating system on the System/370, System/390 and IBM Z IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated to IBM's other mainframe operating system lines, e.g., VSE, VM, TPF.

<span class="mw-page-title-main">Informix</span> Database management software product family

Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) and Multi-model database offerings. The Informix products were originally developed by Informix Corporation, whose Informix Software subsidiary was acquired by IBM in 2001.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.

ISAM, an acronym for indexed sequential access method, is a method for creating, maintaining, and manipulating computer files of data so that records can be retrieved sequentially or randomly by one or more keys. Indexes of key fields are maintained to achieve fast retrieval of required file records in indexed files. IBM originally developed ISAM for mainframe computers, but implementations are available for most computer systems.

Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s. At the time of its initial release in 1986, supported platforms included Microsoft Xenix, DEC Ultrix, Altos 2086, AT&T 3B2, AT&T 3B5, AT&T 3B20 and AT&T Unix PC.

A stored procedure is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dictionary.

<span class="mw-page-title-main">OpenEdge Advanced Business Language</span> Business application development language

OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programming language, uses an English-like syntax to simplify software development. The language was called PROGRESS or Progress 4GL up until version 9, but in 2006 PSC changed the name to OpenEdge Advanced Business Language in order to overcome a presumed industry perception that 4GLs were less capable than other languages. A subset of the language, called SpeedScript, is used in the development of web applications.

<span class="mw-page-title-main">Microsoft Data Access Components</span> Framework

Microsoft Data Access Components is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. Its components include: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). There have been several deprecated components as well, such as the Jet Database Engine, MSDASQL, and Remote Data Services (RDS). Some components have also become obsolete, such as the former Data Access Objects API and Remote Data Objects.

Apache Derby is a relational database management system (RDBMS) developed by the Apache Software Foundation that can be embedded in Java programs and used for online transaction processing. It has a 3.5 MB disk-space footprint.

NOMAD is a relational database and fourth-generation language (4GL), originally developed in the 1970s by time-sharing vendor National CSS. While it is still in use today, its widest use was in the 1970s and 1980s. NOMAD supports both the relational and hierarchical database models.

Embedded SQL is a method of combining the computing power of a programming language and the database manipulation capabilities of SQL. Embedded SQL statements are SQL statements written inline with the program source code, of the host language. The embedded SQL statements are parsed by an embedded SQL preprocessor and replaced by host-language calls to a code library. The output from the preprocessor is then compiled by the host compiler. This allows programmers to embed SQL statements in programs written in any number of languages such as C/C++, COBOL and Fortran. This differs from SQL-derived programming languages that don't go through discrete preprocessors, such as PL/SQL and T-SQL.

SAP SQL Anywhere is a proprietary relational database management system (RDBMS) product from SAP. SQL Anywhere was known as Sybase SQL Anywhere prior to the acquisition of Sybase by SAP.

The Unisys Data Management System II (DMSII) is a database system originally created by the Burroughs Corporation in 1972. It was available on the Burroughs (later Unisys) Small (B1000), Medium (4000, V Series) and Large System (5000, 6000, 7000) product lines. The later, A Series, Clearpath, Libra product lines support it and in recent releases of Unisys Clearpath software it has been renamed as the Enterprise Database Server for ClearPath MCP. The original DMS II used a network model.

An embedded database system is a database management system (DBMS) which is deeply integrated with an application software; it is built into the software or an application. It is a broad term which includes:

An indexed file is a computer file with an index that allows easy random access to any record given its file key.

Informix Corporation was a software company located in Menlo Park, California. It was a developer of relational database software for computers using the Unix, Microsoft Windows, and Apple Macintosh operating systems.

The following outline is provided as an overview of and topical guide to MySQL:

References

  1. "C-ISAM Programmers Manual" (PDF).