Summary: External Data Source (EDS) is a space component that provides advanced persistency capabilities for the space architecture.

Overview

The External Data Source (EDS) is a space component that provides advanced persistency capabilities for the space architecture to interact with a persistency layer.

XAP 9.1.1 introduce a technology preview for a new Space Persistency API - more details can be found here.

The EDS performs the following basic activities:

  • Pre-Loading data from the persistency layer.
  • Delegating changes done within the space into the persistency layer.
  • Lazy load data from the persistency layer (available when the space running in LRU mode only).

GigaSpaces External Data Source provides the DataProvider/DataPersister interfaces (with a built in implementation using Hibernate) that can be used to load data and store data into an existing data source. Data is loaded from the data source during space initialization (DataProvider), and from then onwards the application works with the space directly.

Meanwhile, the space persisting the changes made in the space via the EDS (DataPersister).

Persistency can be configured to run in Synchronous or Asynchronous mode:

The difference between the Synchronous or Asynchronous persistency mode concerns how data is persisted back to the database. The Synchronous mode data is persisted immediately once the operation is conducted where the client application wait for the External Data source to confirm the write. With the Asynchronous mode (mirror Service), data is persisted in a reliable asynchronous manner using the mirror Service as a write behind activity. This mode provides maximum performance.

External Data Source Interfaces

External Data Source interfaces are a set of interfaces that define the interaction between the space and the data source. For detailed information, see External Data Source API. You can use these API to build your own custom External Data Source implementation to allow GigaSpaces to interact with any external application or data source.

RDBMS External Data Source

GigaSpaces comes with a built-in implementation of DataProvider and DataPersister called Hibernate External Data Source. See External Data Source Initial Load to allow the space to pre-load its data. You can also use splitter data source SQLDataProviderSplitter that allows you to split data sources according to entry type.

NoSQL DB External Data Source

The Cassandra Space Persistency Solution allows applications to push the long term data into Cassandra database in an asynchronous manner without impacting the application response time and also load data from the Cassandra database once the GigaSpaces IMDG is started or in a lazy manner once there is a cache miss when reading data from GigaSpaces IMDG.

The GigaSpaces Cassandra Space Peristency Solution leverages the Cassandra CQL, Cassandra JDBC Driver and the Cassandra Hector Library. Every application's write or take operation against the IMDG is delegated into the Mirror service that is using the Cassandra Mirror implementation to push the changes into the Cassandra database.

Advanced Information & Operations

For more advanced information and operations, see External Data Source Advanced Topics.

GigaSpaces.com - Legal Notice - 3rd Party Licenses - Site Map - API Docs - Forum - Downloads - Blog - White Papers - Contact Tech Writing - Gen. by Atlassian Confluence