Blogs

Packing a One-Two Punch

IBM Informix incorporates a MongoDB data type to help simplify unstructured and structured data integration

 

 

 
Editor’s note: This article was adapted from Art Kagel’s September 2013 blog post, “Informix 12.10.xC2 Rules – All Others Drool!” at his Informix – My View site.
 

Ever since someone realized years ago that the TimeSeries data management capabilities available in IBM® Informix® database software are all about very big data, the term big data is often referenced in discussions of Informix. However, some members of the Informix user community have pointed out that when folks talk about big data, they are usually talking about unstructured data stored in NoSQL databases such as Apache Hadoop, MongoDB, and others.

Data type integrations

Informix Database can successfully integrate unstructured and structured data together in a single database platform. Working with the developers of MongoDB, IBM has integrated the Binary JavaScript Object Notation (BSON) data type in MongoDB as a native data type in Informix Database Server and implemented the MongoDB interface protocols within Informix. As a result of these efforts, the following tasks are now possible:

  • Storing MongoDB collections in Informix as tables with BSON data types
  • Including JavaScript Object Notation (JSON) and BSON columns in any relational table
  • Querying both MongoDB collections and Informix relational tables stored in Informix from both MongoDB client applications and Informix client applications

Note that MongoDB clients can see collection-formatted key:value data from collections and from tables. Informix clients can see data rows from tables and collections, and missing collection fields are mapped to NULL values. In addition, dynamic Informix clients can determine the current schema of collection data and shard tables and collections across multiple servers.

Not only is querying the data across the shard farm possible, but the local server determines which shard the data should live on when data is inserted into sharded tables or collections based on the definition of the various shards. This determination is very similar to the horizontal partitioning provided by the legacy Informix Extended Parallel Server (XPS) engine.

All data, including MongoDB collection data, is included in Informix Atomicity, Consistency, Isolation, Durability (ACID) properties-compliant transaction handling, which helps ensure consistency in a NoSQL JSON and BSON data store. In addition, Informix compression can work with MongoDB data. Because of the redundant key names inherent in the key:value nature of collection data, compression rates can be even more impressive than for relational table data. Informix can save over 80 percent of the storage1 that would otherwise be used for unstructured data in any other MongoDB or similar NoSQL database.

A powerful combination

The benefits of integrating unstructured and structured data in a single platform can be enhanced further when combined with the following features that Informix has provided for quite some time:

  • TimeSeries data management
  • Geospatial spatial data management
  • Basic Text Search (BTS) web-like text search capability
  • Informix Warehouse Accelerator for helping improve complex query times by up to 1,400 times2
  • Active or passive hierarchical data replication secondary server
  • Multiple active or passive remote secondary replicated servers
  • Active or passive shared disk secondary servers for load balancing, application isolation, and nearly instantaneous failover
  • Transaction survival that offers failover of primary server functions to a secondary server without loss of running transactions
  • Enterprise Replication (ER) through multiple peer replicated servers on heterogeneous hardware and master-slave replication in both scatter and gather configurations—combining ER with the shard query capability maintains local data on local servers but query occurs from a central location without the storage cost of maintaining a master copy

Of course, there are many other Informix Database Server features that enhance this Informix capability for integrating unstructured and structured data into a single platform, but they are too numerous to include in this installment. Nevertheless, Informix is well positioned to offer its user base a highly optimized database for handling the exceptional demands of today’s big data applications.

1 "Informix Data Compression," IBM Software, Information Management, Informix product family website.
2 "Maximize Data Analytics Performance," Intel-sponsored white paper, IBM Data Management magazine, 2011.

[followbutton username='artkagel' count='false' lang='en' theme='light']
 
[followbutton username='IBMdatamag' count='false' lang='en' theme='light']