What is a MultiValue database?
If you are an experienced database professional, you will be familiar with the relational database model. This model is widely taught in academic institutions, often with an implication that it is the only valid way in which a database can be constructed. The MultiValue database model successfully challenges this viewpoint and has significant advantages. With the growing NoSQL movement encouraging a move away from the relational database model, MultiValue is the obvious and well proven alternative.
The MultiValue model was created at about the same time as the relational model but has not received the recognition that it deserves, however, it is widely used in systems ranging from simple single user applications to the massive databases employed by some of the world’s largest corporations. Perhaps one reason why it is not more widely known is that it rarely makes the news because MultiValue database projects tend be delivered on time and within budget. Developers who work with this model are usually so enthusiastic about it that it is surprising that it has remained unheard of by many database professionals.
One of the key features of the MultiValue model is that it enables information to be stored in the database in a form that more closely relates to the real world entities that the data represents than is possible in a relational database. It achieves this by relaxing one of the rules imposed by the relational model that otherwise complicates database design, increases application complexity, and hence raises development costs.
Before exploring the MultiValue data model, it is worth observing that this is a superset of the relational model. Everything that can be done in a relational database can be done in MultiValue but it is the ability to store multi-dimensional data that makes this model so powerful.