About Pivotal GemFire

Pivotal GemFire is an in-memory data-management solution designed to eliminate disk access as the limiting factor for data intensive applications.

GemFire manages data in memory and the data is distributed across a cluster of nodes to provide improved performance, scalability, and fault tolerance. Where required, GemFire can synchronize the data with external disk-based databases.

Main Concepts

This section describes high-level concepts that are key to understanding Pivotal GemFire.

Caches are an abstraction that describe a node in a GemFire distributed system. Application architects can arrange these nodes in several deployment architectures, including: peer to peer, client/server, and WAN gateway topologies.

Within each cache, you define data regions. Data regions are analogous to tables in a relational database and manage data in a distributed fashion as name/value pairs. A replicated region stores identical copies of the data on each cache member of a distributed system. A partitioned region spreads the data among cache members. After the system is configured, client applications can access the distributed data in regions without knowledge of the underlying system architecture. You can define listeners to create notifications about when data has changed, and you can define expiration criteria to delete obsolete data in a region.

GemFire uses continuous querying to enable event-driven architectures. GemFire ties events and data together so that when an event is processed, the data required to process the event is available without additional queries to a disk-based database. Clients can subscribe to change notifications so that they can execute tasks when a specific piece of data changes.

By default, GemFire clients and servers use port 40404 and multicast to discover each other. For large, production systems, GemFire provides locators. Locators provide both discovery and load balancing services. You configure clients with a list of locator services and the locators maintain a dynamic list of member servers.

For more information, see Basic Configuration and Programming.