About Cache


Performance Questions...

Greetings ObjectDB team, All below questions assume a very large database (~1,000,000,000 objects) Q1: Two queries with a big overlap between their result sets. If I query the first and hold them in memory somehow, would that speed up the execution of the second query since many of its result objects already created and reside in memory ? Q2: Do I need to manually use strong references to such cached result objects ? or do ObjectDB exploits frequency of querying such objects and keep them in memory longer automatically somehow before GC takes place ?... of the EntityManager's persistence context (L1) cache. But otherwise read only databases are not faster. Future versions of ObjectDB might share an L1 cache of read only entity managers automatically. Even though ObjectDB ...


Performance with large databases

When populating a large database (10s of GBs) performance drops suddenly at a certain time whenever I run the populating application.  Is there typically a database size when indexes can no longer be held fully in memory or some such issue?  The method calls that suddenly start to take the most time are those that retrieve data from the store. ... the entire database can reside in memory (using the OS cache, regardless of the JVM heap size and the ObjectDB cache size). Except this, ObjectDB performance should not be affected ...


Monitoring and Performance counters

After checking last patch from build 2.1.1_01, I started to think about some kind o monitoring tools in ODB. Those tools could look similar to MySQL 'show innodb status', where you can get some informations about how DB is doing. It would be nice to monitor: - inserts/s, updates/s, deletes/s, reads/s - total inserts, update, deletes, reads - I/O operations/s - caches current usage - uptime from last start - caches hit rate - total sessions from clients Feature Request Version: 2.5.2 Priority: Normal Status: Active Replies: 2 Type:  Feature Request ...



The JDO Transaction interface provides for initiation and completion of transactions under user control.(Interface of JDO)



Mark a Collection of instances as no longer needed in the cache.(Method of javax.jdo.PersistenceManager)



Annotation for defining the persistence of a member.(Annotation of JDO)



Caching is enabled for all entities for Cacheable(true) is specified.(Enum Constant of javax.persistence.SharedCacheMode)


Delete object from collection versus delete from JPQL

I'm a newbie, so this is a pretty fundamental question. I'm not sure if there is a bi-directional relationship between the objects in memory and ObjectDB.  I know I can modify the objects and use persist() to write them to the database.  But does running a JPQL update or delete alter the in-memory objects? There are cases where the JPQL syntax is more expressive than operating on a collection, but I'm not sure if that will alter my program state.  Will it? Thanks, Lee  ... cached objects in the EntityManager and in the L2 cache.  ObjectDB Support ObjectDB - Fast ...



Returns the specification of how the provider must use a second-level cache for the persistence unit.(Method of javax.persistence.spi.PersistenceUnitInfo)



Return the DataStoreCache that this factory uses for controlling a second-level cache.(Method of javax.jdo.PersistenceManagerFactory)