IBM Informix is an enterprise database management system known for combining classic relational and object-relational capabilities with unusually low administrative overhead. It is widely used for OLTP workloads, embedded systems, and IoT/edge deployments.

What Is IBM Informix?

Informix is a relational database management system (RDBMS) built on rows and tables, extended with object-relational features, user-definable types, and a small footprint suited to embedded use. Its name traces back to the idea of "information on UNIX," and the system has long run on Linux, several UNIX variants, and Windows.

What sets Informix apart is its self-managing design. Because it tends to run steadily without frequent tuning, it appeals to teams that lack a dedicated full-time DBA and to applications that ship the database embedded on the same machine. The server manages most of its memory, disk, and thread resources automatically, which lowers operational burden. For where it fits among engines, see our database types guide.

Informix follows ACID principles for transactional integrity, safely handling concurrent access through locking, isolation levels, and logging. In this respect it meets the expectations of classic row-based databases, while distinguishing itself by also hosting document and time-series data in the same engine.

A Short History: From Informix to IBM and HCL

Informix was developed in the 1980s by Informix Software, founded by Roger Sippl, and gained a strong position during the rise of UNIX servers. In 2001, IBM acquired the Informix database business and folded the product into its enterprise data portfolio.

In 2017, under a partnership between IBM and HCL Technologies, much of Informix's development and support moved to HCL, while the product continued to be marketed under the IBM brand. For the same vendor's flagship engine, our what is IBM Db2 article is a useful point of comparison.

Architecture: Storage and Memory Layout

Informix uses a layered storage model that abstracts data away from raw operating-system files. Physical disk space is divided into chunks, logical space into dbspaces, and tables and indexes are placed inside dbspaces. The server process manages memory through shared-memory segments.

TermDescription
Instance (server)A single Informix database server process, started with oninit
dbspaceA logical storage unit made of one or more chunks
chunkPhysical space allocated on disk (a file or raw device)
pageThe basic I/O unit; disk reads and writes happen in pages
logical logA logical journal holding transaction records
physical logA physical journal holding before-images of pages for recovery

Data Model: Relational and Object-Relational

Informix supports standard SQL and, beyond that, offers an extensible object-relational engine with user-defined types, row types, collection types, and DataBlade modules. DataBlades are add-ons that introduce new data types and type-specific functions into the database.

  • Relational core: tables, indexes, constraints, transactions, and ANSI SQL
  • Extensibility: custom types such as spatial, time series, and full text via DataBlades
  • Stored procedures: Informix's own SPL (Stored Procedure Language), plus external languages
  • Triggers and UDRs: business logic kept on the server with triggers and user-defined routines

NoSQL and JSON Support

Alongside its relational structure, Informix can store JSON and BSON document collections. A wire listener component lets MongoDB- and REST-compatible clients connect to Informix as if it were a document database. This "hybrid" approach makes it possible to hold both tabular and document data in one engine and query them together.

Time Series and Spatial Data

Informix stands out for a time series (TimeSeries) capability designed to store heavily time-stamped data efficiently. Continuously arriving records such as sensor readings, meter values, and financial ticks can be stored to take less space and be queried faster than a plain row-and-table approach. A spatial DataBlade, in turn, enables storing and querying geographic data.

Combined with its small footprint, these features make Informix a practical option for IoT gateways and edge devices: data can be collected on the device and replicated back to a central site. Being able to query time-series data alongside relational tables makes it easier to produce reports that correlate raw measurements with business data in a single SQL layer.

High Availability and Replication

Informix offers a mature high-availability set. Several secondary server types can work with a single primary to provide fault tolerance and read scaling.

ComponentRole
HDR (High-availability Data Replication)A hot standby running synchronously/asynchronously with the primary
RSS (Remote Standalone Secondary)An additional standby kept at a remote location
SDS (Shared Disk Secondary)A secondary that shares the same disk as the primary
ER (Enterprise Replication)Flexible, multi-directional replication at table/row granularity

Deployed together, these components form a multi-node cluster that delivers both high availability and geographic distribution. For related HA concepts, the ideas in our Oracle Database article may also help.

Administration Tools and SQL

Informix is administered through a set of command-line utilities. dbaccess runs interactive SQL, onstat monitors the server's live state, onmode changes configuration, oncheck performs consistency checks, and onbar and ontape handle backups.

sql
-- A simple table and index
CREATE TABLE customer (
    id          SERIAL PRIMARY KEY,
    full_name   VARCHAR(120) NOT NULL,
    email       VARCHAR(160) UNIQUE,
    created_at  DATETIME YEAR TO SECOND DEFAULT CURRENT YEAR TO SECOND
);

CREATE INDEX ix_customer_email ON customer (email);

-- A simple stored procedure in SPL
CREATE PROCEDURE count_customers() RETURNING INT;
    DEFINE total INT;
    SELECT COUNT(*) INTO total FROM customer;
    RETURN total;
END PROCEDURE;

Performance, Fragmentation, and Parallelism

Informix scales both storage and query processing through fragmentation, which spreads large tables across multiple dbspaces. A table can be fragmented by expression, round-robin, list, or interval strategies. As a result, queries scan only the relevant fragments (fragment elimination), performing less I/O, and a growing dataset is balanced evenly across disks.

Parallel Database Query (PDQ) splits operations such as scanning, joining, sorting, and aggregation across multiple threads, shortening total time on multi-core servers. PDQ's aggressiveness is tunable; on heavy mixed workloads, choosing a balanced level matters in order to protect OLTP response times.

  • Fragment elimination: a query touches only matching fragments
  • Round-robin / expression / interval: different distribution strategies
  • PDQ: parallel execution of heavy queries
  • Memory pools: tunable buffers and caches in shared memory

Backup and Recovery

Informix provides two core tools for consistent backups and point-in-time recovery. ontape takes backups directly in simple, single-machine scenarios; onbar integrates with a storage manager to target larger, automated environments. Continuously captured logical log backups make it possible to roll the database forward to a specific moment after a failure.

Client Interfaces and Connectivity

Applications connect to Informix through several interfaces: JDBC and ODBC drivers, a .NET provider, embedded SQL for C (ESQL/C), and the Informix Client SDK are among the primary ones. This breadth lets existing application stacks integrate with Informix relatively easily.

  • JDBC / ODBC: standard drivers for Java and general applications
  • ESQL/C: SQL embedded in C source code
  • .NET provider: for Windows/.NET applications
  • Wire listener: document access for MongoDB and REST clients

Editions and Licensing

Informix is offered in several editions for different needs. A free developer edition for building and learning, an entry edition that uses limited resources for small deployments, and advanced enterprise editions for production scale are typically part of this family. Managed options in the cloud may also be available.

Edition typeTypical use
Developer / free editionLearning, prototyping, development environments
Entry / community editionSmall deployments (limited cores/memory)
Enterprise / advanced editionProduction, HA clusters, large workloads
Cloud / managedScenarios where operations are handed to a provider

Where Is Informix Used?

Informix is particularly strong where many small and mid-sized deployments must be managed at once. It has long-running installations in sectors such as retail point-of-sale (POS), telecom, manufacturing, and finance.

  • Multi-branch or multi-store deployments with limited administrative staff
  • Embedded and edge applications; IoT data collection
  • Time-series-heavy workloads (sensor, meter, tick data)
  • Teams that want relational and document data in a single engine

Strengths and Things to Watch

As with any system, Informix shines in certain scenarios while ecosystem size can be limiting in others. Base your decision on your workload.

  • Plus: low administrative cost and a tendency to self-manage
  • Plus: small footprint, well suited to embedded and edge deployments
  • Plus: mature HA/replication and time-series capabilities
  • Watch: the community and third-party tooling ecosystem can be narrower than some rivals
  • Watch: Informix-specific types and syntax can affect portability

A Brief Comparison With Other Databases

When evaluating Informix, it helps to place it beside open-source and other enterprise options. If you need complex analytics and a broad extension ecosystem, PostgreSQL is a natural comparison; if you plan to stay within the full IBM enterprise stack, IBM Db2 is another. For embedded, low-maintenance, and time-series needs, Informix can come out ahead.