[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Storage structure



On Fri, 06 Apr 2001, Margit Lang wrote:
> HI,
> 
> I still have a question about the storage architecture. What exactly is
> stored in the Clusterfiles and how is it indexed? Is there a detailed
> documentation on it, (so that I don't have to grap the whole sources).

no detailed doc. but you don't need to grap the whole sources anyway. A `find
ozone/src -name "Cluster*.java"` just gives two hits: Cluster.java and
ClusterStore.java. ClusterStore has methods loadCluster() and storeCluster()...
;)

Anyway, the clusters contain serialized org.ozoneDB.core.wizardStore.Cluster
objects. Each Cluster contains a list of ObjectContainers that are stored in
this cluster. Each ObjectContainer in turn contains a link to its target object
(database object).

The central data structure in ozone maps object IDs into cluster IDs. A
B-tree is used for this (org.ozoneDB.DxLib.DxDiskHashMap). This is the only
index that is needed. The only search operation that is needed in the kernel is
to find an target object for a given object ID, which is needed to call a
target object from a proxy. All other, app specific data access paths (indexes,
trees, whatever), have to be implemented by the app logic.


Falko
-- 
______________________________________________________________________
Falko Braeutigam                              mailto:falko@smb-tec.com
SMB GmbH                                        http://www.smb-tec.com