Hello,
I'd like to share with the community my latest development - the
Object Store .
I built it because I couldn't find a solution which would allow me safely concurrently and efficiently work with large collections of in-memory objects. My scenario was:
- millions of objects,
- a hefty multi-core machine with 8+ Gb of memory available for the JVM
- about a hundred of threads accessing the collection, mostly reads
- I needed "indexing" on put so I could quickly remove objects matching certain criteria without iterating over the entire collection.
In such scenario "traditional" maps collections guarded by old-fashioned synchronized blocks fell short. The object store addresses these shortages by using ReadWriteLocks, indexes and concurrent processing of queries/updates.
If you face scenarios similar to mine - give the object store a try!
---
Best regards, Pavel.