BENCHMARK
CASE STUDY
SOLUTION
PARTNER SOLUTION

Distributed Apollo Cache

Low Latency GraphQL
A curved wall with glowing tiles

Summary

While GraphQL promises efficient data fetching, traditional implementations can be sluggish due to numerous cross-network requests behind the scenes. This solution brief describes how deploying Apollo on HarperDB creates a distributed GraphQL caching service that significantly reduces average latency and improves user experience.

Deliver a Better Experience for Developers and Users

Are you tired of sluggish apps and convoluted data fetching? Apollo and HarperDB offer a powerful solution. This dynamic duo combines the industry-leading GraphQL server, Apollo, with a robust distributed systems platform. Together, they create a seamless GraphQL data-fetching and caching service designed for blazing-fast performance and unmatched developer accessibility. Read on to see how Apollo and HarperDB unlock a superior experience for both the developer and the end user.

Shedding Light on Apollo’s Multi-Server Problem

Despite GraphQL's promise of efficient data fetching, traditional implementations like Apollo can introduce performance bottlenecks. Cascading cross-network requests and the overhead of serializing and deserializing data at each step contribute to significant latency and cost. Even in a simple scenario of retrieving data from a single API behind Apollo, there might be as many as 10 serialization steps! At scale, this client-Apollo-API-data system loop translates directly to increased latency, high operational costs, and, ultimately, a sluggish user experience.

Introducing Distributed GraphQL Queries with Cache 

HarperDB’s elegant combination of distributed application and data functionalities allow GraphQL queries to be resolved without sending requests to additional servers unless absolutely necessary. This eliminates several network hops and can decrease the number of serialization and deserialization steps to two (compared to ten for a typical Apollo deployment). Additionally, multiple nodes can be distributed for multi-region near-user data access, removing the need for frequent high-latency requests to central systems. With both passive caching and active storage options, tuning your GraphQL data service layer to balance latency and cost is easy. By deploying Apollo on HarperDB, query requests and data lookup functions are seamlessly unified, which reduces compute requirements system-wide while lowering latency and costs.

6 Benefits of Deploying Apollo on HarperDB

Submillisecond Lookups

Deploying distributed GraphQL servers in the same process as an in-memory cache delivers unbeatable response times. Even in high throughput scenarios, most experience submillisecond p95 response times when cached values are available, unlocking lightning-fast experiences.  

Passive & Active Caching

For maximum cache hit rate, proactively populate your cache with a change data capture layer to ensure the best user experience for every user, every time. Alternatively, utilize a standard passive caching approach, ensuring fast performance after an initial request populates the cache. 

One Call, Cache Everywhere

Unlike CDN solutions that build their cache in isolation, HarperDB’s native cross-node data synchronization can replicate values to all globally connected nodes in milliseconds, giving your origin a break from repeated lookups for the same data.  

Flexibility Beyond Apollo

To deliver more advanced services, leverage HarperDB’s native application engine and streaming functions to quickly achieve outcomes beyond what Apollo can provide. 

Horizontal Scale

Ensure seamless client experiences with a GraphQL caching server that scales horizontally to meet demand. HarperDB's ability to scale horizontally while distributing data across regions eliminates bottlenecks while guaranteeing low latency for users everywhere.

Deploy in Weeks

With components already built, deploying in a single sprint is easy. Simply define the GraphQL schema and resolvers within HarperDB and deploy your containerized service near all user population centers.

The Best Way to Deploy Apollo

Many technology teams migrate to GraphQL for data fetching efficiency and development simplicity, but the user experience often remains stagnant. Apollo on HarperDB changes this by dramatically reducing total server load and network latency, which accelerates user experience. Don't just take our word for it—see the difference firsthand. Contact HarperDB for a complimentary proof of concept.

Image collage of person talking on the phone
Image collage of person talking on the phone

Connect with Us

Complementary consultation with a Harper Solutions Architect.  
Request received! We'll reach out shortly. In the meantime, check out our Dev Center for helpful development resources.
Go to Dev Center
Uh-oh! It seems your submission failed to submit. Please try again.