Product overview > Cache
Java object caching concepts
WebSphere eXtreme Scale is primarily used as a data grid and cache for Java™ objects. Use several APIs to interact with the eXtreme Scale grid to access and store these objects.
This topic describes some of the common APIs and some of the concepts that be aware of when choosing an API and deployment topology. See the Cache architecture: Maps, containers, clients, and catalogs topic for a description of the various services and topologies that eXtreme Scale provides.
WebSphere eXtreme Scale's central component is the ObjectGrid. The ObjectGrid is the namespace that stores related data, and contains sets of hash maps, each holding key-value pairs. These maps can be grouped together and partitioned and made highly available and scalable.
Because the grid holds Java objects by nature, there are some important considerations when designing an application so that the grid can store and access data efficiently. Factors that can affect scalability, performance and memory utilization include the following.
- Class loader and classpath considerations
Since eXtreme Scale stores Java objects in the cache by default, define classes on the classpath wherever the data is accessed.
- Relationship management
Object-oriented languages such as Java, and relational databases support relationships or associations. Relationships decrease the amount of storage through the use of object references or foreign keys.
- Cache key considerations
WebSphere eXtreme Scale uses hash maps to store data in the grid, where a Java object is used for the key.
- Serialization performance
WebSphere eXtreme Scale uses multiple Java processes to hold data. These processes serialize the data: That is, they convert the data (which is in the form of Java object instances) to bytes and back to objects again as needed to move the data between client and server processes. Marshalling the data is the most expensive operation and must be addressed by the application developer when designing the schema, configuring the data grid and interacting with the data-access APIs.
- Insert data for different time zones
When inserting data with calendar, java.util.Date, and timestamp attributes into an ObjectGrid, ensure these date time attributes are created based on same time zone, especially when deployed into multiple servers in various time zones. Using the same time zone based date time objects can ensure the application is time-zone safe and data can be queried by calendar, java.util.Date and timestamp predicates.
Parent topic:Cache overview
Cache architecture: Maps, containers, clients, and catalogs
Database integration: Write-behind, in-line, and side caching
Interacting with an ObjectGrid using the ObjectGridManager
Cache objects with no relationships involved (ObjectMap API)
Cache objects and their relationships (EntityManager API)
Connect to a distributed ObjectGrid