ozone core API

Package org.ozoneDB.core.storage

Base package for storage implementations.

See:
          Description

Interface Summary
AbstractReferenceCache.KeyedReference We need to find objects in the map that holds the references.
Cache A cache works a bit like a map.
Cluster  
PropertyConfigurable All classes implementing this interface must provide a public constructor that has one Properties instance, and a String as its only parameters.
TrimmingCache A trimming cache is a cache that calls a TrimHandler when it 'knows' that it has thrown an element out of the cache.
TrimmingCache.TrimHandler Used by a Cache to provide for a meganism to handle elements that are going to be thrown out of that cache.
 

Class Summary
AbstractCluster  
AbstractClusterStore  
AbstractReferenceCache  
AbstractTrimmingCache  
ClusterID  
DelayCache A cache with a fixed maximum number of objects in it.
FixedSizeCache A cache with a fixed maximum number of objects in it.
FixedSizeDelayCache A cache with a fixed maximum number of objects in it.
GcListeningDelayCache  
GcListeningDelayCache.Item  
PropertyConfigurableFactory  
PropertyInfo  
SoftReferenceCache Caches objects which may be garbage collected at any time by the Java virtual machine garbage collector.
SoftReferenceCache.Item  
SoftReferenceCache.ObjectReference  
StorageObjectContainer  
WeakReferenceCache Caches objects which may be garbage collected at any time by the Java virtual machine garbage collector.
WeakReferenceCache.Item  
WeakReferenceCache.ObjectReference  
 

Package org.ozoneDB.core.storage Description

Base package for storage implementations. It holds some common utilities used by various storage implementations. Ozone storage implementations has evolved as follows:

  1. First there was ClassicStore, written primarily by Gerd Mueller. It was designed for medium to large sized java objects.
  2. When the first XML implementation was created another storage was needed that could handle the large volume of very small java objects typical of a DOM structure better than ClassicStore. Hence WizardStore was created by Falko Breautigham. WizardStore is the default storage today.
  3. When it comes to extreme cases such as very large data volumes and also ability to handle crashes and failures better WizardStore was not enough so Leo MeekenKamp decided to create a storage that could handle this - GammaStore. GammaStore will be both faster and scale better than WizardStore when ready.
  4. Pinning was introduced into WizardStore in order to keep track of if a cluster was loaded into memory or not (primary for garbageCollection resons). Pinning code proved to be complext and tricky to maintain so another version of WizardStore was created by Leo MeekenKamp and Per Nyfelt that does not rely on pinning but on ActiveCacheable instead. MagicStore should be fully compatible with WizardStore.


ozone core API

Copyright (C) The Ozone Database Project - www.ozone-db.org. All rights reserved.