Table of Contents
Preface
Chapter 1: What is a Data Grid
Chapter 2: The ObjectMap API
Chapter 3: Entities and Queries
Chapter 4: Database Integration
Chapter 5: Handling Increased Load
Chapter 6: Keeping Data Available
Chapter 7: The DataGrid API
Chapter 8: Data Grid Patterns
Chapter 9: Spring Integration
Chapter 10: Putting It All Together
Index
- Chapter 1: What is a Data Grid
- Data grid basics
- Getting IBM WebSphere eXtreme Scale
- Setting up your environment
- Hello, world!
- Summary
- Chapter 2: The ObjectMap API
- Different kinds of maps
- Get and put
- Updating objects in the grid
- Lock strategies
- Lock types
- Hash map refresher (or crash course)
- Optimistic collisions
- Deadlocks
- Removing objects
- FIFO queues
- Unsupported methods
- Wrapping up
- Summary
- Chapter 3: Entities and Queries
- Entities
- Defining Entities
- Persisting Entities
- Composition versus Inheritance
- The Find methods
- Entity life-cycle states
- Merge, remove, and the detached state
- Entity relationships
- @OneToMany, @ManyToOne
- schemaRoot
- The Query API
- Joins and aggregate functions
- IDs and Indexes
- Summary
- Entities
- Chapter 4: Database Integration
- You're going where?
- Where does an IMDG fit?
- JPALoader and JPAEntityLoader
- The Loader's job
- Performance and referential integrity
- Removal versus eviction
- Write-through and write-behind
- BackingMap and Loader
- Picking battles
- JPALoader
- Summary
- Chapter 5: Handling Increased Load
- The building blocks
- Shards and partitions
- Client/Server ObjectGrid
- A basic deployment
- Starting a container
- Connecting to a distributed grid
- Adding more containers
- Partition placement
- Capacity planning
- Hitting the wall
- Summary
- The building blocks
- Chapter 6: Keeping Data Available
- Containers, shards, partitions, and replicas
- The foundation
- Shards
- Map sets
- Partitions
- Replication
- Shard placement
- Shard start-up
- Lost shards and failover
- Physical location
- Controlled data separation
- Preferred zones
- Summary
- Containers, shards, partitions, and replicas
- Chapter 7: The DataGrid API
- What does DataGrid do for me?
- Borrowing from functional programming
- GridAgent and Entity
- GridAgent with an unknown key set
- Aggregate results
- Using ephemeral objects in agents
- Updates with agents
- Scheduling agents
- Summary
- Chapter 8: Data Grid Patterns
- XTP: Extreme Transaction Processing
- The data model
- Schema root
- Reference data and object duplication
- How do we duplicate objects?
- Time-to-live keeps us out of trouble
- Early eviction
- Rely on partitions, not the entire grid
- One transaction, one node
- Object schema denormalization
- Summary
- XTP: Extreme Transaction Processing
- Chapter 9: Spring Integration
- Injecting ObjectGrid instances
- Spring-managed eXtreme Scale configuration
- Transaction management
- Basic configuration
- ObjectGrid client configuration
- Remembering our patterns
- Summary
- Chapter 10: Putting It All Together
- The bookmarks app
- The data model
- The service layer
- Storing data how it is used
- Grid/ORM hybrid
- Preloading data
- Improving responsiveness
- Caching more than ORM
- Summary
- The bookmarks app



