Informix 11.7 Flexible Grid Provides a Different Way of Looking at Database Servers

IBM announced the latest release of the Informix database server, version 11.7, in October 2010, thus marking the fourth major release since Informix joined the company.  One of the most exciting features in Informix 11.7 is the "Flexible Grid."

Flexibility to Work With Multiple Servers as Easily as One

The Flexible Grid is a different way of looking at database servers.  Today's businesses create and operate on more and more information.  Businesses also grow into new geographies and markets and acquire or consolidate faster than ever.  IT departments are required to do more with the same, if not fewer, resources.  Personnel find they're required to manage more database servers of ever growing size. 

Wouldn't you like to administer multiple servers as easily as a single server?  Wouldn't you like to mix different hardware, operating systems, and versions of software?  The Informix Flexible Grid provides this capability.  The first step is for you to choose the servers you'd like to group together - we call this group of servers a grid.  You can dynamically add or remove servers from this grid.  You can administer the grid from any one of its servers with simple SQL statements.  Administration commands run against the grid will execute in parallel on all nodes in the grid giving you the best possible performance and least load on the network.  This means you no longer need to create complicated scripts to attach to each node and execute the same set of administration tasks.  Examples of the kind of administration functions you can do on the grid are things like defining or changing a schema, modifying a configuration parameter, compressing a table, executing a procedure, provisioning more disk space, and so on.  All this is accomplished with simple SQL statements. 

In addition to administration commands, you can also keep data synchronized between servers.  Synchronize just the schema or the schema and data.  Synchronize all the tables or just some of the tables.  That is the flexibility you get with the Informix Flexible Grid.

The Flexible Grid also makes it easy and fast to create a new Informix server by using the new Informix cloning utility to make a copy of a running instance of Informix onto another machine.  This cloned server can be a standalone server, in a cluster with the original, or a new node in the grid, depending on your choice.

Flexibility to Be Different

Since its foundation, Informix has supported a wide variety of operating systems and processor architectures.  Informix runs on Windows, Linux, Mac OS X, AIX, Solaris, and others.  Servers on all these platforms can work together in the same Flexible Grid.  This means if you're investing in a new hardware type, for example AIX on POWER7, you can still continue to get value out of your older hardware.  Windows, Linux, UNIX - add them all to the Informix Flexible Grid.

Another example of flexibility is that you can use multiple versions of Informix together.  While the Flexible Grid features exist in the 11.7 release, through Enterprise Replication technology a version 11.1 Informix server can replicate transactions to and from a version 11.5 server, as well as a version 11.7 server.  As new versions of Informix are released they will be supported too.

Flexibility to Direct Clients

While "location, location, location" is the most important consideration in real estate, data "availability, availability, availability" may be the most important for a database.  How much planning and effort goes into making sure the right things continue to run smoothly when there is a planned outage?  For instance, you want to keep the data available to clients in the event of planned maintenance.  This is another part of what the Flexible Grid can do for you.    Want to do an upgrade?  Need to do hardware or operating system maintenance?  Welcome to the world where the database is always accessible.

If data is being synchronized across servers in the Flexible Grid there can be multiple servers a client could run against.  The Informix Connection Manager utility gives you the power to manage which servers a client application should connect to.  Just set up a list of rules and let the Configuration Manager decide which server is the best match for the client to connect to.  The Connection Manager rules can also be used to direct clients off a particular server when service needs to be performed.  The data remains available on the other servers while the node is serviced.  In fact, a client will not even be aware a particular server is offline.  When the service is complete, just update the Connection Manager rules to start using the server again.

This flexibility to direct clients can be used in other ways, as well.  By monitoring the load on each server, the Connection Manager can direct a client to connect to a particular server to balance the database workload.  This workload balancing is a key component of why Informix is able to scale-out so well.   In addition to looking at the workload on each system, the Connection Manager can also use proximity to determine the best server for a client to connect to.  When there is a long distance between a client and a server there can be delays in communication.  The Connection Manager solves this problem by allowing you to define a rule that takes this delay into account and ensures that clients are connected to servers near them.

Applying the Flexible Grid: Informix in Your Private Cloud

Businesses are embracing the virtualization and automation of cloud computing to decrease costs and increase the deliverables of their IT departments.  The time-tested characteristics of Informix - stability, low cost of administration, and performance - combined with recent features make it an excellent fit for a cloud.  Let's explore how a business implementing a private cloud can benefit from just the Flexible Grid features.

In this example, a business has taken the initial steps into cloud computing - their virtualized environment is set up, and there are a handful of applications running in the cloud.  At first the performance demanded by these applications is well met by a handful of Informix services.

As the business grows, the decision is made to decrease the risk of outage by adding a secondary server to each for high availability.  A secondary server also allows the business to spread their work from the primary to the secondary server, for example to run reports.  A new virtual machine is provisioned, Informix is installed, and a copy of a running server is cloned onto the new secondary server.  The new server synchronizes with the original primary and when complete it is ready to handle the same commands as the primary.

With the secondaries added to the private cloud, the focus now turns to increasing application scalability.  Our business decides that they'll achieve this by bringing additional Informix servers online and linking them into the Flexible Grid.  Perhaps they will repurpose hardware from a previous project for this new business.  When the hardware is ready, they use the Informix cloning utility to make clones of a running server and then add the new servers to the Flexible Grid.

One way they might set up their Flexible Grid is to define a grid for each set of Informix servers that power the same application and another Flexible Grid for all Informix servers.  These Flexible Grids allow a DBA to administer just the Informix servers that support a particular application or all Informix servers.  When the grids have been defined, they can start one or more Connection Managers to route client connections to servers within a Flexible Grid.  Monitoring the grid is easily accomplished with the IBM OpenAdmin Tool for Informix (OAT), a free web-based management tool that allows you to monitor and administer Informix servers through a web browser. 

In summary, Informix 11.7, the Connection Manager, and the OpenAdmin Tool provide the building blocks you need to easily create or expand Informix in your private cloud.