|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
InverseHashView<K,V> | Provides inverse view on persisted map. |
PrimaryHashMap<K,V> | Primary HashMap which persist data in storage. |
PrimaryMap<K,V> | Primary Map which persist data in storage. |
PrimaryStoreMap<K extends Long,V> | Primary map which stores references to storage entries. |
PrimaryTreeMap<K,V> | Primary HashMap which persist data in storage. |
RecordListener<K,V> | An listener notifed when record is inserted, updated or removed |
RecordManager | An interface to manages records, which are objects serialized to byte[] on background. |
SecondaryHashMap<A,K,V> | Secondary HashMap. |
SecondaryKeyExtractor<A,K,V> | Extract secondary key from record in primary map. |
SecondaryTreeMap<A,K,V> | Secondary TreeMap. |
Serializer<A> | Interface used to provide a serialization mechanism other than a class' normal serialization. |
Class Summary | |
---|---|
RecordManagerFactory | This is the factory class to use for instantiating RecordManager
instances. |
RecordManagerOptions | Standard options for RecordManager. |
SerializerInput | Input for Serializer |
SerializerOutput | Output for Serializer |
This package contains public API and introduction
java.util.Map
views)
JDBM 2.0 goal is to provide simple and fast persistence. It is very simple to use, it has minimal overhead and standalone
JAR takes only 130KB. It is excelent choice for Swing application or Android phone. JDBM also handles huge datasets well
and can be used for data processing (author is using it to process astronomical data).
The source code is not complicated; it is well readabable and can also be used for teaching.
On the other hand, it does not have some important features (concurrent scalability, multiple transaction, annotations,
clustering...), which is the reason why it is so simple and small. For example, multiple transaction would introduce a new dimension of problems, such as concurrent updates, optimistic/pesimistic record locking, etc.
JDBM does not try to replicate Valdemort, HBase or other more advanced Key Value databases.
PrimaryStoreMap
, PrimaryTreeMap
and PrimaryHashMap
implements java.util.map
interface
from Java Collections. But they use page store for persistence. So you can create HashMap with bilions of items and worry only about the commits.
Secondary mapsOutOfMemoryException
you have to make commits more
frequently.
OutOfMemoryException
In this case use StoreReference
or PrimaryStoreMap
to store values outside of the index.
-Xmx000m
generously. JDBM has good SoftReference cache.
RecordManager.clearCache()
before starting a new type
of task.
RecordManager.defrag()
from time to time.
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |