Page 2 of 2
More significant for system uptime is cross-data-center replication, which permits nodes to be activated based on traffic patterns, time of day or other parameters. This capability allows far-flung servers to remain synchronized and immediately responsive to database requests in the event of primary node failure. "This keeps the network elastic and highly available," said Johnson. "[Administrators] can add and remove nodes on demand, and any one entry can be replicated to more than one node," he said. "You can have multiple owners and set the number to however many are necessary. And if any node crashes, the data's still there and requests are rerouted accordingly." This also simplifies so-called rolling upgrades and updates, which can be done without downtime.
"This is extremely useful for disaster recovery," said Rice. "Environments I've worked in have to warm up the caches after a fail-over, and that can take a substantial amount of time. Having active-active-sites sounds extremely useful." In-memory databases are typically more responsive than those using magnetic storage because all data is resident in RAM. They're useful for realtime access to massive data stores such as those used for fraud-detection systems and telephone-directory operators.
For fault tolerance, JBoss Data Grid 6.1 now permits the usual master/master and master/slave fail-over scenarios. There's also a so-called follow-the-sun scenario, which Johnson said involves assigning a rolling master based on time zone or other time-related factors. "The idea is that as workers in a region come online, the data is ready for them and synchronizes with the next region." This allows for planned outages in the trailing data centers.
"I've never heard of any middleware doing this," said Rice. "It sounds interesting, but I'd want to look at bandwidth requirements. Our big concern with replication environments would be the network and deduplication, and compression is key to that." Red Hat addresses these concerns with Hot Rod, the transport protocol used by JBoss Data Grid. Hot Rod is part of Infinispan, an all-Java, open-source no-SQL datastore that works with C#, Java, .NET and the Spring framework.