Developing with VMware Tanzu GemFire
Developing with VMware Tanzu GemFire explains main concepts of application programming with VMware Tanzu GemFire. It describes how to plan and implement regions, data serialization, event handling, delta propagation, transactions, and more.
For information about Tanzu GemFire REST application development, see Developing REST Applications for VMware Tanzu GemFire.
The VMware Tanzu GemFire data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in Tanzu GemFire before you start configuring your data regions.
In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the cluster.
In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across Tanzu GemFire members.
Tanzu GemFire ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including Tanzu GemFire members that distribute region events.
For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
Data that you manage in Tanzu GemFire must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
Tanzu GemFire provides versatile and reliable event distribution and handling for your cached data and system member events.
Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
Tanzu GemFire provides a SQL-like querying language called OQL that allows you to access data stored in Tanzu GemFire regions.
Continuous querying continuously returns events that match the queries you set up.
Tanzu GemFire provides a transactions API, with
rollbackmethods. These methods are much the same as the familiar relational database transactions methods.
A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.