GigaSpaces isn't a NoSQL database, really. It's an implementation and extension of JavaSpaces, and JavaSpaces certainly exists at the core of XAP, but XAP is an application platform built around distribution of two things: data and processing.
JavaSpaces, in and of itself, has little concept of distribution, although it's really, really good for master/worker patterns (and other messaging patterns) and other fairly passive data stores. XAP extends the JavaSpaces model by... well, a lot. For one thing, JavaSpaces wants jini entries; XAP can persist POJOs as well as documents. (No more public fields, woot.) There are still some rules you want to follow (although you can get around them), but in general: compliant POJOs are fine for GigaSpaces. For another - and this is a bigger deal - XAP introduces clusters to the JavaSpaces model, with varying and customizable emphasis on Brewer's CAP theorem (you can choose the levels of each of C, A, and P that you need.) Further, XAP provides services around asynchronous persistence, such that you can write a POJO into the space, and XAP will write it to the database behind you - which allows you to use XAP as a system of record. (This is a simplification of the *explanation* but not the concept.) Secondly, XAP serves as a distribution point for processing. Where most cloud products fail is in completeness: they distribute processing, but not data (so your datastore becomes a pipe that limits your throughput) or they distribute data but not processing (so your network or your cores turn into your limit.) XAP provides distribution and colocation of both data and processing, so unless you design your system poorly, it'll colocate data with the processes that need that data - which means for the most part you get access to your data at heap speeds, even though it's transactionally guaranteed and high- availability. Lastly, XAP provides a metric pantsload of APIs. Need the native POJO api? Well, obviously, it's there. It's there for C++ and .Net, too. Oh, you need Java, but not the native API - because you use JPA? Well, that's part of the 8.0 release. Need JMS? Got it. Need memcached? Done, it's there. Need JDBC? It's there. Need a document API instead of a POJO-based API? No problem - also part of the 8.0 release. This means that you can choose an API based on what you actually need to do in a given requirement. If one business requirement needs a JMS- type messaging model, you can use JMS. If another needs JDBC, it's there - and it all goes to a single, high-availability, partitioned and clustered platform, with usually measurable and noticeable gains. It's not perfect, of course - and I'm biased. But I'm biased because I've kicked the tires a good bit and I've seen it proven. On Jan 4, 4:49 pm, shain...@gmail.com wrote: > One of the european product managers did a presentation at the london cloud > computing meetup at skills matter a few months ago. I seem to recall that it > was fairly illuminating. I will see if I can find the link. > Sent from my BlackBerry® wireless device > > > > > > > > -----Original Message----- > From: Ricky Clarkson <ricky.clark...@gmail.com> > > Sender: javaposse@googlegroups.com > Date: Tue, 4 Jan 2011 21:31:27 > To: <javaposse@googlegroups.com> > Reply-To: javaposse@googlegroups.com > Subject: Re: [The Java Posse] Re: GigaSpaces > > I really like that explanation. Is that also how jboss-cache works, > approximately? > > On Tue, Jan 4, 2011 at 9:22 PM, pforhan <pfor...@gmail.com> wrote: > > Gigaspaces is a Java NoSQL database, essentially. It is a kind of > > distributed collection. Blitz is an open-source implementation of > > JavaSpaces. Gigaspaces is commercial, and adds clustering support > > among other things, I'm sure. > > > Quick nutshell on how Javaspaces work, though I'm working from a 4- > > year-old memory: Anything you wish to store in a Javaspace needs one > > or more public serializable fields. You can later run a query looking > > for the same fields to get your full object out. One can also attach > > listeners, with or without a filter, that are notified when things > > enter or leave the Space. > > > We experimented with a bunch of things, like a master-worker pattern > > (we'd but a bit of work out in the space, some worker would pick it up > > and remove it from the space) or data transfer (just leave your > > objects in the space). It was a bit hard to understand, since it is > > conflated with JINI quite a bit, but you can do some cool and elegant > > things with it. > > > Pat. > > > On Jan 3, 4:13 pm, Ruby Bellavich <ruby.bellav...@gmail.com> wrote: > >> Hi all, > > >> Does anyone here is using GigaSpaces XAP? > >> My boss asked me to review GigaSpaces products, but from checking > >> their website I found it pretty hard to understand what is their > >> product. > > >> Thanks, > >> Ruby > > > -- > > You received this message because you are subscribed to the Google Groups > > "The Java Posse" group. > > To post to this group, send email to javapo...@googlegroups.com. > > To unsubscribe from this group, send email to > > javaposse+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/javaposse?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to javapo...@googlegroups.com. > To unsubscribe from this group, send email to > javaposse+unsubscr...@googlegroups.com. > For more options, visit this group > athttp://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to javapo...@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.