Space

Spaces are the main feature offered by ActiveSpaces. Together with metaspaces, spaces provide a distributed data grid.

A space:

  • Is a virtual entity that provides shared virtual storage for data.
  • Is a container for a collection of entries that consist of a tuple and associated metadata.
  • Is used concurrently by applications distributed over a network to store, retrieve, and consume data. Each application has the same view of the data contained in the space.

After connecting to a metaspace, your application can define, drop, join, and leave spaces, and also get an existing space’s definition and list of members.

For information on joining and leaving a space, see The getSpace Method.

To enable the data grid, spaces:

  • Distribute and synchronize data in a platform independent manner.
  • Proactively notify applications of changes in the data contained in the space as changes happen (push model), and can therefore be used as a coordination mechanism for building distributed systems.

A space is distributed and implemented collaboratively by a group of processes located on multiple hosts and communicating over the network.

ActiveSpaces handles changes in the set of processes automatically: processes may join or leave the group at any time without requiring any user intervention. A space automatically scales up as the number of processes in the group increases, and scales down when processes suddenly disappear from the group or network. There is no negative impact on the data contained in the space when processes leave the space.

Related reference