MultiValue
Encyclopedia
MultiValue is a type of multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system
Pick operating system
The Pick operating system is a demand-paged, multiuser, virtual memory, time-sharing operating system based around a unique "multivalued" database. Pick is used primarily for business data processing...

.

MultiValue databases include commercial products from Rocket Software, Raining Data, jBASE
JBASE
jBASE is a multivalue database system.-Description:Copied from Pick operating system.jBASE was released in 1991 by a small company in the UK, then named James Anthony Consultants, , later to become jBASE Software Limited. Formed March 6, 1989 by Martin James Idle and Clive Anthony Ketteridge, the...

, Revelation, Ladybridge, InterSystems
InterSystems
InterSystems Corporation is a privately held vendor of software for high-performance database management, rapid application development, integration, and healthcare information systems...

, Northgate Information Solutions
Northgate Information Solutions
-Early years:The company was founded as CMC, or Computer Machinery Company, in 1969. They were originally distributors and subsequently manufacturers of Key to Disk computer systems made by the US-based Computer Machinery Corporation. The CMC Key to Disk systems were used by major companies and...

 and other companies. These databases differ from a relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

 in that they have features that support and encourage the use of attributes having a list of values, rather than all attributes having a single value. They are often categorized with MUMPS
MUMPS
MUMPS , or alternatively M, is a programming language created in the late 1960s, originally for use in the healthcare industry. It was designed for the production of multi-user database-driven applications...

 within the category of post-relational databases, although the data model actually pre-dates the relational model
Relational model
The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by Edgar F...

.

History

Don Nelson designed the MultiValue data model in the early to mid 1960s. Dick Pick, a developer at TRW
TRW
TRW Inc. was an American corporation involved in a variety of businesses, mainly aerospace, automotive, and credit reporting. It was a pioneer in multiple fields including electronic components, integrated circuits, computers, software and systems engineering. TRW built many spacecraft,...

, worked on the first implementation of this model for the US Army in 1965. Pick considered the software to be in the public domain because it was written for the military. This was but the first dispute regarding MultiValue databases that was addressed by the courts.

Ken Simms wrote DataBASIC, sometimes known as S-BASIC, in the mid-70's. It was based on Dartmouth BASIC
Dartmouth BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It is so named because it was designed and implemented at Dartmouth College...

, but had enhanced features for data management. Simms played a lot of Star Trek
Star Trek (text game)
Star Trek is a text-based computer game that puts the player in command of the USS Enterprise on a mission to hunt down and destroy an invading fleet of Klingon warships...

 while developing the language, in order to have the language function to his satisfaction.

Three of the implementations of MultiValue: PICK version R77, Microdata Reality 3.x, and Prime Information 1.0, were very similar. In spite of attempts to standardize, particularly by International Spectrum and the Spectrum Manufacturers Association, who designed a logo for all to use , there are no standards across MultiValue implementations. Subsequently, these flavors diverged, although with some cross-over. These streams of MultiValue database development could be classified as one stemming from PICK
Pick operating system
The Pick operating system is a demand-paged, multiuser, virtual memory, time-sharing operating system based around a unique "multivalued" database. Pick is used primarily for business data processing...

 R83, one from Microdata Reality, and one from Prime
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. The alternative spellings "PR1ME" and "PR1ME Computer" were used as brand names or logos by the company.-Founders:...

 Information.. Because of the differences, some implementations have provisions for supporting several flavors of the languages. An attempt to document the similarities and differences can be found at the PRDB

Marketing groups and others in the industry over the years have classified MultiValue databases as pre-relational, post-relational, relational, and embedded, with detractors classifying it as legacy. It could now be classified as NoSQL. With a data model that aligns well with XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 and that permits access with or without the use of SQL, MultiValue is still not hip and has not been hip for many decades. Many of the applications employing MultiValue and even many of the developers working with MultiValue are hip, of course, but the databases are workhorses, tools for getting the job done.

One reasonable hypothesis for this data model lasting more than 40 years, with new database implementations of the model even in the 21st century is that it provides database solutions in a big bang for the buck fashion. Historically, with industry benchmarks tied to SQL transactions, this has been a difficult hypothesis to test, although there are considerable anecdotes of failed attempts to get the functionality of a MultiValue application into a relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

 framework.

In spite of a history of more than 40 years of implementations, starting with TRW
TRW
TRW Inc. was an American corporation involved in a variety of businesses, mainly aerospace, automotive, and credit reporting. It was a pioneer in multiple fields including electronic components, integrated circuits, computers, software and systems engineering. TRW built many spacecraft,...

, many in the MultiValue industry have remained current so that various MultiValue implementations now employ object-oriented versions of Data BASIC, support AJAX
Ajax
- Mythology :* Ajax , son of Telamon, ruler of Salamis and a hero in the Trojan War, also known as "Ajax the Great"* Ajax the Lesser, son of Oileus, ruler of Locris and the leader of the Locrian contingent during the Trojan War.- People :...

 frameworks, and because no one needs to use SQL (but some sure can) they fit under the NoSQL umbrella. In fact, MultiValue developers were the first to acquire nosql domain names, likely prior to other database products classifying their offerings as NoSQL as well. MultiValue is a seasoned data model, but with so many vendors competing in this space, it has been constantly enhanced over the years.

Data model example

In a MultiValue database system:
  • a Database is called an "Account"
  • a Table is called a "file"
  • a Column is an "Attribute" or "Dictionary": attributes generally point at raw data, while dictionaries apply some transformation to the raw data


For example, assume there's a file (table) called "PERSON". And in this file there is a Dictionary (column) called "eMailAddress". The eMailAddress field can store a variable number of email address values in the single record.

So the list [joe@abc132.info, jdb@gbmail.net, joe_bacde@thisorthat.edu] can be stored and accessed via a single query / disk read when accessing the associated record.

To achieve the same (1-to-many) relationship within a Relational Database system one would be required to create an additional table to store the variable number of email Addresses associated to a single "PERSON" record.

MultiValue DataBASIC

Like the Java
Java
Java is an island of Indonesia. With a population of 135 million , it is the world's most populous island, and one of the most densely populated regions in the world. It is home to 60% of Indonesia's population. The Indonesian capital city, Jakarta, is in west Java...

 programming language, the typical DataBASIC compiler compiles to P-code
P-code
P-code can refer to:* Precompiled code, for example Java Byte code, MATLAB .p-files, etc.* p-code machine * Code used in the UCSD p-System...

 and runs in a P-machine. It has as many different implementations (compilers) as there are MultiValue databases.
Like PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 programming language, the DataBASIC language does all the typecasting for the programmer.

MultiValue Query Language

Known as ENGLISH, ACCESS, AQL, UniQuery, Retrieve, CMQL, and by many other names over the years, corresponding to the different MultiValue implementations, the MultiValue query language differs from SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 in several respects. Each query is issued against a single dictionary within the schema, which could be understood as a virtual file or a portal to the database through which to view the data.
LIST PEOPLE LAST_NAME FIRST_NAME EMAIL_ADDRESSES WITH LAST_NAME LIKE "Van..."


The above statement would list all e-mail addresses for each person whose last name starts with "Van". A single entry would be output for each person, with multiple lines showing the multiple e-mail addresses (without repeating other data about the person).

See also

  • jBASE
    JBASE
    jBASE is a multivalue database system.-Description:Copied from Pick operating system.jBASE was released in 1991 by a small company in the UK, then named James Anthony Consultants, , later to become jBASE Software Limited. Formed March 6, 1989 by Martin James Idle and Clive Anthony Ketteridge, the...

     by jBASE International
  • Rocket U2 (UniVerse and UniData)
  • OpenInsight
    OpenInsight
    OpenInsight is a database application development tool from Revelation Software. It was first released in 1992; version 9.2 was released in 2010....

     by Revelation
  • OpenQM
    OpenQM
    OpenQM is a Multi-Value database run-time developed by Ladybridge Systems in the United Kingdom. The product architect is Martin Phillips.-OpenQM history:...

     by Ladybridge Systems
  • Reality
    Northgate Information Solutions
    -Early years:The company was founded as CMC, or Computer Machinery Company, in 1969. They were originally distributors and subsequently manufacturers of Key to Disk computer systems made by the US-based Computer Machinery Corporation. The CMC Key to Disk systems were used by major companies and...

     by Northgate-IS
  • Caché by InterSystems
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK