OpenQM™, more commonly abbreviated to QM, is a combined development
and runtime environment that allows construction of application software in a
fraction of the time taken with some other widely used but significantly more
expensive development toolsets.
QM has a managed application environment in which user programs run,
resulting in high reliability and ease of maintenance. Compiled applications
are portable across all platforms (Windows, Linux, AIX, etc) unless
operating system specific features are incorporated into the application by the
The environment is built around an integrated database package that uses
the power and simplicity of the multivalue data model but can also
support fully normalised relational data structures. The Virtual File System
can be used to provide access to data in other data stores.
Proponents of the well known (and often expensive) relational database products
sometimes dismiss multivalue databases as being an insignificant or antiquated
technology that has no relevance in today's business world. This is simply not
true. Many of the world's largest and most successful companies use multivalue
The relational and multivalue data models were created at about the same time.
There is a growing recognition that the relational model has significant flaws
and this has given rise to the No SQL movement and a range of
alternative new database technologies striving to capture users for whom the
modern world of big data cannot be implemented effectively in the
Multivalue is well established as a proven technology that can handle big data
and the complexity of today's applications.
Perhaps one of the reasons why multivalue is not more widely known
is that it does not make the news headlines with massive overspends, project
failures and similar disasters. Multivalue applications are usually simpler,
faster and significantly lower cost than their relational equivalents. They
also have much longer lives, developing in step with business changes rather
than needing to be rewritten every few years. The financial savings over whole
project lifetimes can be massive. Alongside this, businesses are able to react
to new requirements much more quickly than with alternative technologies.
Managed Application Environment
QM applications are developed using a modern derivative of the Basic
programming language, QMBasic, which is easy to learn and provides powerful
data manipulation operations that can significantly increase developer
productivity. Combined with the advantages offered by the multivalue data
model, development times as low as one tenth of those for other methodologies
have been reported.
QMBasic is a managed environment in which tasks such as memory management,
low level file handling, etc are handled by QM, simplifying development and
reducing errors. Although it is a derivative of the original Basic language
(much like Visual Basic and others), QMBasic includes fully integrated
object oriented programming capabilities, powerful string manipulation
functions and many other advanced features.
The application environment has a very small resource footprint and is highly
scalable for systems with large user populations.
Although historically multivalue database environments have used character
mode ("green screen") interfaces, QM allows rapid development of graphical
user interfaces for web browsers and other GUI technology such as Visual Basic.
The QMClient API allows connection from a wide variety of other programming
languages such as C, PHP, Java, ASP, etc. The AccuTerm terminal emulator
bundled with every QM licence provides support for both character mode and
advanced GUI applications and there are advanced tools to make development even
The QM environment needs little or no routine maintenance. Many QM sites have
no System Administrator. Just about the only administrative task that needs to
be performed is regular backup of data to protect from disk drive failures and
The Multivalue Data Model
There are many database products available. Most of these follow the
relational database model formalised into a set of rules (the Laws of
Normalisation) over forty years ago. Although these rules have stood the test
of time and are still widely used, they impose some severe limitations on how
data is represented and often do not reflect the real world that the data is
trying to model.
QM uses the
multivalue or post-relational
model in which the First Law of Normalisation
is discarded, allowing multiple values such as a list of products in an order
to be stored together. The result is a data model that is more closely related
to the real world and has the opportunity of giving significant performance
improvements by keeping associated data together rather than being forced to
separate it in order to comply with an apparently arbitrary rule. Whereas a
fully normalised set of data can be represented in a post-relational database
such as QM with no modification, the converse is not true.
Combine the power of multivalued data with a natural language query processor
for report generation and the QMBasic programming language for
application development and you have OpenQM. A wide range of tools for use in
both development and live environments further enhance the capabilities of
Multivalue database technology has been around for about as long as the fully
normalised relational model but has not received the recognition that it
deserves due to low levels of advertising, lack of use within educational
environments and, perhaps most importantly of all, high prices charged by some
vendors. OpenQM aims to bring multivalue database technology into far wider use
by providing a powerful multivalue product and associated support services at
a sensible price.
The History of OpenQM
QM started life in 1993 as an embedded database in applications from
Ladybridge Systems where the end user did not need to know about the
underlying data storage technology. It was released in its own right in
mid-2001 on Windows systems and extended to Linux in 2003 and FreeBSD in 2004.
The users of this product can be found worldwide and span a wide range of
Although QM is highly compatible with other multivalue environments it is a
totally independent product. Where functions are widely supported across
multivalue products, QM usually supports them too. Features that are unique
to a specific multivalue product are usually implemented in a different way in
QM. The internal code is 100% proprietary with the exception of a few public
domain items such as the data encryption algorithms.
The Commercial Product
The commercial version is aimed at users who want a low cost, reliable, fully
supported environment in which to run their multivalue application. It is
ideal for business use and has been adopted by developers of applications
ranging from small sales processing systems to critical medical care
software where reliability is essential.
The commercial version of OpenQM can be purchased from