GemFire XD Features and Benefits

GemFire XD offers extremely high throughput, predictable latency, dynamic and linear scalability, and continuous availability of data. In this first release GemFire XD leverages the SQL interface and tools, Java, and other widely implemented technologies to make it easily adaptable to existing database applications.

The sections that follow summarize main features. The GemFire XD community site provides additional information about the features and benefits of GemFire XD and a comparison of GemFire XD to other data management systems. See also the GemFire XD product page.

In-Memory Data Management with Optimized Disk Persistence

GemFire XD enables applications to manage data entirely in memory by using partitioning and synchronous replication to distribute the data across numerous GemFire XD members.

Seamless Integration of In-Memory data with Persistent Stores

GemFire XD provides an optimized local disk persistence mechanism with a non-flushing algorithm to maintain high performance in applications that require stable, long-term storage. Applications can also use GemFire XD to actively cache table data from a traditional disk-based RDBMS.

For big data applications, GemFire XD enables you to extend the local disk persistence mechanism with persistence to HDFS. You can either configure HDFS as a destination for capturing all writes to a GemFire XD table, or you can configure HDFS as a read/write storage tier for caching in-memory data. In this later application, GemFire XD automatically retrieves data from HDFS as necessary to satisfy SQL queries when data is not available in memory.

Continuous Availability, Elastically Scaled, Low Latency

A flexible architecture enables GemFire XD to pool memory and disk resources from hundreds of clustered members. This clustered approach provides extremely high throughput, predictable latency, dynamic and linear scalability, and continuous availability of data. By collocating application logic with data and executing application logic in parallel, GemFire XD substantially increases application throughput. It also transparently re-executes application logic if a server fails.

Highly Adaptable to Existing Applications

GemFire XD is implemented entirely in Java, and it can be embedded directly within a Java application. You can also deploy GemFire XD members as standalone servers that participate in a cluster. Java applications can connect to a GemFire XD cluster using the provided JDBC drivers. GemFire XD also provides an ODBC-compliant driver.

The use of SQL, JDBC, and ODBC means that many existing database applications can be easily adapted to use a GemFire XD cluster. GemFire XD introduces several extensions to common SQL Data Definition Language (DDL) statements to manage data partitioning, replication, synchronization with data sources, and other features. However, most common queries and Data Manipulation Language (DML) statements are based on ANSI SQL-92, so experienced database application developers can use their knowledge of SQL when working with GemFire XD.