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.

Reply via email to