Previous topic  Top  Next topic  Print this Topic
 

Storage Systems

 

A storage system is the data structure where the facts and rules of an ontology are stored. OntoBroker has three different storage systems:

RAM.AVL.Packed
H2
RAM.TS

The storage parameter can also be set to the value RAM.choose. In this case the OntoBroker selects the best RAM datamodel itself. Each system has its own strengths and unique features. The following section gives a short overview of these storage systems.

RAM.AVL.Packed

This is the new standard RAM datamodel which is tightly packed in order to reduce the memory. It uses hash indices for primary indices, tries for secondary indices and packed AVL trees for secondary sorted indices. This storage system is especially optimized for the evaluation methods BottomUp2 and DynamicFiltering2.

NOTE: This is the fastest and most memory-efficient data model for the inference server.

In order to start OntoBroker with this storage system set

Storage=RAM.AVL.Packed

in OntoConfig.prp.

H2

OntoBroker ships with a persistent storage system (we currently use the H2 SQL engine). This persistent storage is embedded in OntoBroker, so it is very easy to setup OntoBroker with it. Facts and rules are stored persistently, i.e. OntoBroker can be restarted without the need to reload the ontologies.

In order to start OntoBroker with this storage system set

Storage=H2

in OntoConfig.prp.

RAM.TS

A new memory-efficient RAM model.

In order to start OntoBroker with this storage system set

Storage=RAM.TS

in OntoConfig.prp. This storage option will store tuples in a compact way. The new high-performance bottom-up evaluator (BottomUp3) will only work with RAM.TS.

NOTE: It is recommended to set EvaluationMethod=choose and BottomUpEvaluator=choose when using this storage option. Note that e.g. EvaluationMethod=DynamicFiltering2 will work much slower with Storage=RAM.TS than with Storage=RAM.AVL.Packed.