This Wednesday, GigaSpaces is releasing XAP 7.1 GA. XAP stands for “eXtreme Application Platform,” and we included a lot of functionality based around earning that kind of name. Well, more than we already did – we’ve always been leaders in scalability.
Probably the most visible aspects of the new release are the technology previews, around Elastic Middleware and the Web Administration module. However, there are other major improvements:
- The SQL query facility can query and order data from nested objects
- Index performance has been sped up (by a lot) and indexes can be on nested objects
- The cluster’s nodes can have their state examined in far greater detail, including JVM state and all data
First, the technology preview stuff, since it’s more visible and has a greater “new factor.” The Elastic API – yeesh, “Elastic Middleware Administration API” is a mouthful – is a way to deploy applications and data grids into a GigaSpace cluster. Basically, you come up with an acceptable service level for your application, hand it to the Elastic API, and the cluster will assure you that your service levels are met.
Examples for the Elastic API might include something like this: you want at least twelve gigabytes of available storage, with no node being more than 80% full. You want to specify the G1 garbage collector, and each JVM should have a four gigabyte heap.
When you run this, the cluster will look for available machines, and start up cluster nodes automatically on them, with the parameters you want, until you have four primary JVMs (4G each, which at 80% load is the minimum to fulfill the available storage) and four backup JVMs (mirroring the primaries), all running the G1 garbage collector. If the system “fills up,” then it will expand the node by another set of JVMs (primary and backup) until it has the capacity to handle what you need. If your system “empties out,” it will shut down JVMs, saving you money and resources. XAP 7.1 will include this functionality for data grid deployments, which enables you to use all the goodies of the GigaSpaces data grid – data access and querying, messaging and distributed code execution a-la Map/Reduce.
The Web Management console allows you to administer the cluster from anywhere. Previously, you had to have direct desktop access to the cluster in order to use the UI for administration tasks. That’s not too onerous – you usually want that anyway, right? – except it requires a local installation of GigaSpaces. With the web UI, you can use your web browser for all operations.
The SQL Query facility has been expanded. Queries can now use nested objects, much like JPA QL supports. Consider a Person, containing an address, which has a geocode, which itself has a longitude and latitude. You can now query directly for “address.geocode.longitude,” and another added feature is the ability to order and group results by those nested fields.
Indexing has been extended quite a bit to support indexes on these nested objects, which obviously speeds such queries up quite a bit. Along the way, we’ve also boosted the transaction mechanism – it’s now much, much faster than it used to be.
When deploying XAP on Cisco’s Unified Computing System, we get scalability numbers that are simply hard to believe – benchmarks show upwards of seven million read transactions a second. Updates are slower, but still unreal: more than two million updates per second.
Both the administration UI and API have been improved, too. You can generate JVM thread and heap dumps, logs, processing unit and space status reports, network utilization, and more, through both a UI as well as a programmatic API. You can also view active logs for everything from the Admin UI – sort of like a distributed tail –f. In addition, you can programmatically watch the logs, so you can have an application look for specific conditions. This is essential for triage, if you’re having problems with the cluster not acting as you’d expect or need it to.
The impact of the administration API: you can now treat the cluster as if it were a single machine, in terms of visibility, since all information is visible from wherever the administration UI is being run.
Other slipstream improvements include updates to Jetty 7, and Spring 3.0.
The major feature improvements – the cluster status visibility, and the query/indexing features – make the update worthwhile in and of themselves. The technology preview features are somewhat usable today, but serve mostly to show the bright future XAP and its users have before it.
GigaSpaces XAP is a commercial product, and comes in three primary editions: Premium, Community, and .NET. Community is the same as Premium, except it can’t run as part of a clustered deployment; .NET has easy executables for .NET developers as well as the .NET APIs.