From: Brian O'N. <Bri...@di...> - 2001-06-25 21:41:39
|
I think JDBM is a great little persistence engine with tons of potential. Its nice to see such a project like this being actively developed. I do see some things that can be improved. When I save a key or value into a JDBM table, the object is serialized in its own stream. If this object has a reference to another shared object, the original object graph is not preserved across hash table entries. The approach that JDBM uses to serialize also has space overhead from all the stream headers and class info written to each record. I like the simple interfaces provided in the HTree and BTree, but since they do nothing special to preserve object graphs, I think an interface that operates on byte[] keys and values is more flexible. A simple object serialization strategy could be placed above this level, or a more sophisticated persistence model could be developed with less storage overhead. Separating the HTree and BTree from the RecordManager is really nice. I think more levels of layering will make it easier to develop many kinds of persistence models. Making object persistence available at the RecordManager level might not be the best place for this, since I consider this to be a very "high level" function. I'm going to start mucking with JDBM, to see how feasible it is to have higher level tree implementations built upon simpler ones. Has there been any other talk of this, or have there been any such implementations? ___________ Brian S O'Neill |