|Getting Started with GemFire XD / Overview of Pivotal GemFire XD|
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. See the Pivotal GemFire XD 1.3.1 Release Notes for a complete list of new features and changes in this release. The GemFire XD community site also provides additional information about the features and benefits of GemFire XD and a comparison of GemFire XD to other data management systems.
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.
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.
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.
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. Microsoft .NET and Mono applications can connect using the provided ADO.NET driver, and GemFire XD also provides an ODBC-compliant driver.
The use of SQL, JDBC, ODBC, and ADO.NET 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.