DataGrids
Abstract
According to wikipedia, a cache is a component that transparently stores data so that future requests for that data can be served faster. By this definition, a cache is just a workaround for a performance problem. But what if we promote the cache to a first class element of the overall system architecture? All kind of interesting possibilities arise with distributed caching. By replicating the in-memory data to different servers we can even go as far as turning the cache into the System of Record, thereby reducing the role of the relational database to a backup and reporting tool. In-memory data grids promise to bring nearly infinite scalability and elasticity (think cloud computing) to your data storage. They also allow moving the processing to the data, instead of moving the data to the processor. Doing so opens up the way to more efficient computation on large amounts of data (e.g., techniques like map/reduce), making it a good candidate to solve common bottlenecks in batch processing.
Of course, in-memory data grids are far from a silver bullet. We will also discuss the downsides, the challenges, and the comparison with other NoSQL solutions. Although the general architectural principles we will present are applicable to most products on the market (commercial and open source), the examples and demos will be focused on Infinispan, the in-memory data grid from JBoss. This open source product is in a way the successor of JBoss Cache, and the development roadmap looks very promising with a distributed execution framework and Object/Grid Mapping (OGM) under active development for version 5.
Speaker
Johan Andries is a Java software architect at AE, interested in lots of things: SOA, EDA, DDD, NoSQL, DSLs, javascript and other dynamic languages on the JVM, ... and in-memory data grids. See also @johan_andries.
Date & Location
September 15th from 19h00 till 21h00 in Leuven