TrustRadius: an HG Insights company

Apache Geode

Score7 out of 10

1 Reviews and Ratings

What is Apache Geode?

Apache Geode is a data management platform developed by the Apache Software Foundation. According to the vendor, it aims to provide real-time, consistent access to data-intensive applications in widely distributed cloud architectures. The platform is designed to offer low latency, high concurrency data management solutions for building high-speed, data-intensive applications that can meet performance requirements at any scale. Apache Geode is suitable for enterprise customers of any size, ranging from small startups to large organizations. It is utilized by various industries, including financial services, e-commerce, gaming, telecommunications, and healthcare.

Key Features

Replication and Partitioning: According to the vendor, Apache Geode allows for easy partitioning or replication of data between nodes, enabling scalable performance based on specific needs. It ensures durability through redundant in-memory copies and disk-based persistence.

Persistence: The vendor claims that Apache Geode offers optimized parallel recovery of nodes or an entire cluster with its shared-nothing architecture and super fast write-ahead-logging (WAL) persistence.

Performance: According to the vendor, Apache Geode delivers low latency and linear-scaling performance for transactions, reads, writes, and query processing of both indexed and unindexed data.

In-Memory Storage: The vendor states that Apache Geode provides blazing-fast in-memory storage optimized for large heaps. It also offers additional features such as off-heap storage, compression, disk-overflow, eviction, and expiration of data.

Functions: According to the vendor, Apache Geode supports the deployment and execution of distributed location-aware user functions, allowing for fast parallel processing on nodes storing relevant sharded data. It also enables the retrying of failed operations on replicant nodes.

Transactions: The vendor claims that Apache Geode efficiently supports coordinated operations on colocated data with ACID distributed transactions. Transactions can be initiated or suspended by either a client or a server.

OQL and Indexes: According to the vendor, Apache Geode's Object Query Language (OQL) allows for distributed query execution on both hot and cold data, offering SQL-like capabilities, including joins. Multiple types of indexes can be defined and consistently maintained across the cluster.

Events: The vendor states that clients can be notified about server-side data events, and servers can react synchronously or asynchronously with guaranteed delivery of ordered events.

Clustering: According to the vendor, Apache Geode features highly scalable and robust advanced clustering technology, including failure detection, dynamic scaling, and network-partition detection algorithms.

Multi-Cluster: The vendor claims that Geode clusters can be replicated over wide area networks (WAN) in various topologies, such as active-active, active-passive, ring, hub-spoke, and star configurations.

Top Performing Features

  • Availability

    Availability is the probability that the NoSQL database will be available to preform its function when called upon.

    Category average: 8.9

  • Concurrency

    Concurrency is the ability for multiple processes to access or change shared data simultaneously. The greater the number of concurrent user processes that can execute without blocking each other, the greater the concurrency of the database system.

    Category average: 9

  • Performance

    How fast the database performs under data load

    Category average: 9.2

Areas for Improvement

  • Scalability

    NoSQL databases are inherently more stable than relational databases and have built-in support for replication and partitioning of data to support scalability.

    Category average: 9.4

  • Deployment model flexibility

    Can be deployed on-premise or in the cloud.

    Category average: 8.9

  • Data model flexibility

    NoSQL databases do not rely on rely on tables, columns, rows, or schemas to organize and retrieve data, but use use more flexible data models to accommodate the large volume and variety of data being generated by modern applications.

    Category average: 9

Apache GEODE - A Wonderful Low Latency & High Consistency In-Memory Data Store

Use Cases and Deployment Scope

We are trying to use it as an experimental alternative to redis as a low latency, in-memory server to save copies of static dataloads (configuration data, data that does not change frequently etc) that is saved in our Database (Mysql). Everytime when a request is made for the above mentioned data, instead of loading the data from DB we pull it from Apache Geode

Pros

  • Super Fast data pull/push
  • Provided ACID transactions, so it works like a SQL Database
  • Provides replication & partitioning, so our data is never lost and extraction is super fast. NoSql like properties

Cons

  • Needs more supporting languages. Out of box Python, Nodejs adapters would be wonderful
  • Currently it supports just KV Store. But if we could cache documents or timeseries data would be great
  • Needs more community support, documentation.

Return on Investment

  • Still experimenting so difficult to quote
  • For a small size project/teams might be an overkill as it still has certain learning curve
  • For Medium to large projects with complex Data Structures that need to be queried with a fast o/p it definitely works

Alternatives Considered

Redis™*, Aerospike and Amazon ElastiCache

Other Software Used

Redis™*, Aerospike, MySQL, Elasticsearch, Apache Kafka, Amazon Kinesis, Amazon Aurora

Usability