What’s OpenInsight?
OpenInsight is a repository-based applications development environment that enables development teams to work collaboratively to design, develop, deploy and scale high-performance business solutions on leading messaging and client/server platforms. OpenInsight is a Windows-based application development environment that can reside on either Windows or Linux servers when used in conjunction with our network product Universal Driver 4.5. Arev32, Character to OpenInsight (CTO), the U2 Connector, WebOI and the Bravo Dashboard are all included in OpenInsight 9.0 Server Edition and above. More info.
What’s Multi-Value Database?
MultiValue Databases are a type of multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system.
An efficient and flexible database technology designed to work in a virtual machine, but one that predates relational (SQL) databases. Current terminology includes multidimensional and post relational.
MultiValue databases differ from traditional relational database 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 within the category of post-relational databases, although the data model actually pre-dates the relational model. More info.
Example:
Contact hobbies
contactid | firstname | lastname | hobbies |
1639 | George | Barnes | reading |
5629 | Susan | Noble | hiking, movies |
3388 | Erwin | Star | hockey, skiing |
5772 | Alice | Buck | |
1911 | Frank | Borders | photography, travel, art |
4848 | Hanna | Diedrich | gourmet cooking |
In this case, there are many distinct values entered for it in the same column of the table. This is called a multivalued attribute.
How Is It Different from RDBMS?
Compared to relational (SQL) databases… … MultiValue (MV) has:
- For each database table (file in MV):
Each field (attribute in MV) within a record/row (item in MV) can have repeating data elements (values in MV) and each value can have multiple sub-values – for relational databases, each field is fixed to one value. - Each attribute, value and sub-value is dynamic in length – for relational databases, each field has a fixed length.
- A more “natural language like” and efficient built-in enquiry and reporting tool…
… refer to the MV Query example below for comparison with a relational database. - Inbuilt database environment features that typically mean little to no ongoing maintenance – for relational databases, they have always needed dedicated Database Administrators (DBAs). More info.
Multi-Value Database Structure
- MultiValue is a technology that understands three dimensional data directly. Most applications that use MultiValue technology understand three-dimensional data structures refer to them as Fields, Values, and Subvalues.
- A field, or column, is the same as it would be in a normalized database.
- A Value is a further breakdown of a column. For example, in a normalized database there might be columns defined for
Address1
, Address2
, Address3
. In a MultiValue database, there would be a definition for a column named Address
, and stored in that column would be either one, two, three, or more values. These different values would be delimited by a special character known as a Value Mark. - A Subvalue is a further breakdown of a value. For example, if there is a column defined for
Phone
, and there is a value called Home
, there may be two sub values for the home phone number- perhaps the main number and a home office phone number. - Another distinct advantage to the MultiValue world is that the tables are extremely flexible. Columns can usually just be added to the database definition and used immediately. There is no need to shut down the database, lock out the users, add the column, and rebuild the database. A new column is simply added to a dictionary and that column is then immediately available.
- MultiValue databases also have calculated columns. These columns, which actually contain small programs that are run when the fields contents are needed, allow real-time calculation of values. For example, in a MultiValue database, a person’s age wouldn’t be stored, the person’s birth date would be stored. There would be a column named
AGE
, but it would be a calculated column. The calculation in the column would take the current date, subtract from it the person’s date of birth, and then display the age. More info.
References
Disclaimer
All data and information provided on this page is for informational purposes only. The writings belong to their corresponding authors as mentioned in links and references. The information in this weblog is provided “AS IS” and confers no rights.
The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.
CodeProject
No related posts.