Software Alternatives, Accelerators & Startups

Datomic VS GraphQL Cache

Compare Datomic VS GraphQL Cache and see what are their differences

Datomic logo Datomic

The fully transactional, cloud-ready, distributed database

GraphQL Cache logo GraphQL Cache

GraphQL provides a complete description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
  • Datomic Landing page
    Landing page //
    2023-09-14
  • GraphQL Cache Landing page
    Landing page //
    2023-08-29

Datomic features and specs

  • Immutability
    Datomic employs an append-only data model where data is never overwritten but instead appended, ensuring historical data is always available and providing strong consistency.
  • Time Travel Queries
    Datomic allows you to query the database as of any point in time, facilitating auditing and debugging by allowing easy access to historical data states.
  • Rich Data Model
    Supports complex data types like maps and sets directly within its schema, providing a flexible way to represent data.
  • ACID Transactions
    Datomic supports fully ACID-compliant transactions, ensuring reliable and predictable database operations.
  • Scalability
    Separates storage and compute, allowing for horizontal scaling of read operations, making it suitable for handling large datasets.
  • Query Flexibility
    Offers a powerful query language that supports recursive queries, making it suitable for complex data retrieval needs.

Possible disadvantages of Datomic

  • Complexity
    The architecture of Datomic can be complex to understand and implement, particularly for teams unfamiliar with its design principles.
  • Cost
    Can be expensive to operate, especially in a cloud environment, where costs increase with the amount of data stored and the compute resources required.
  • Limited Write Throughput
    Due to its append-only design, Datomic can have limited write throughput, which may not be suitable for applications with heavy write requirements.
  • Closed Source
    Datomic is a proprietary database system, which may not appeal to organizations that prefer open-source solutions.
  • Learning Curve
    Requires a learning curve as its conceptual model and query language are different from traditional databases, potentially requiring additional training.
  • Dependency on AWS
    Relying on AWS ecosystem for the storage backend can limit choices for deployment environments, impacting flexibility.

GraphQL Cache features and specs

No features have been listed yet.

Analysis of GraphQL Cache

Overall verdict

  • GraphQL is an excellent and mature query language for APIs, and its caching capabilitiesโ€”while more nuanced than RESTโ€”are well-supported through client libraries and normalized caches that make it a solid choice for modern applications.

Why this product is good

  • Client-side normalized caching (via tools like Apollo Client and Relay) allows efficient data storage and retrieval by unique identifiers, reducing redundant network requests
  • Enables precise data fetching so clients only request and cache exactly the fields they need, minimizing over-fetching and cache bloat
  • Strong ecosystem support with well-documented caching strategies and persisted queries that can leverage HTTP and CDN caching
  • Automatic cache updates and consistency management keep UI data in sync after mutations
  • Backed by a large community and official documentation at graphql.org that clearly explains caching approaches

Recommended for

  • Applications with complex, nested data requirements where over-fetching is a concern
  • Teams building rich client-side apps using Apollo Client or Relay that benefit from normalized caching
  • Developers who need fine-grained control over what data is fetched and cached
  • Projects with multiple frontend clients (web, mobile) consuming the same flexible API
  • Organizations wanting to reduce network payloads and improve perceived performance through smart client caching

Datomic videos

KotlinConf 2018 - Datomic: The Most Innovative DB You've Never Heard Of by August Lilleaas

More videos:

  • Review - "Real-World Datomic: An Experience Report" by Craig Andera (2013)
  • Review - Rich Hickey on Datomic Ions, September 12, 2018

GraphQL Cache videos

No GraphQL Cache videos yet. You could help us improve this page by suggesting one.

Add video

Category Popularity

0-100% (relative to Datomic and GraphQL Cache)
Databases
87 87%
13% 13
API
0 0%
100% 100
NoSQL Databases
90 90%
10% 10
Network & Admin
100 100%
0% 0

User comments

Share your experience with using Datomic and GraphQL Cache. For example, how are they different and which one is better?
Log in or Post with

Social recommendations and mentions

Based on our record, GraphQL Cache seems to be more popular. It has been mentiond 4 times since March 2021. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

Datomic mentions (0)

We have not tracked any mentions of Datomic yet. Tracking of Datomic recommendations started around Mar 2021.

GraphQL Cache mentions (4)

  • What are the Differences between GQL and REST?
    'id' data type and field to help support caching: https://graphql.org/learn/caching/. Source: over 3 years ago
  • GraphQL Is a Trap?
    > Take a look at this. I repeat: client-side caching is not a problem, even with GraphQL. The technical problems regarding GraphQL's blockers to caching lies in server-side caching. For server-side caching, the only answer that GraphQL offers is to use primary keys, hand-wave a lot, and hope that your GraphQL implementation did some sort of optimization to handle that corner case by caching results. Don't take my... - Source: Hacker News / about 4 years ago
  • GraphQL Is a Trap?
    > Checkout Relay.js: https://relay.dev/ Relay is a GraphQL client. That's the irrelevant side of caching, because that can be trivially implemented by an intern, specially given GraphQL's official copout of caching based on primary keys [1], and doesn't have any meaningful impact on the client's resources. The relevant side of caching is server-side caching: the bits of your system that allow it to fulfill... - Source: Hacker News / about 4 years ago
  • Designing a URL-based query syntax for GraphQL
    This is clever! Can anyone help me understand how this lines up with the original value proposition of GraphQL? I was under the impression that the Big Idea behind GraphQL was, amongst other things, client-side caching[1]. Iโ€™m probably missing some nuance here, so bear with me: if your GraphQL client is caching properly, then what would this syntax give a developer that a URL query parameter parser couldnโ€™t? [1]... - Source: Hacker News / about 5 years ago

What are some alternatives?

When comparing Datomic and GraphQL Cache, you can also consider the following products

MySQL - The world's most popular open source database

ZeroSSL - FREE SSL certificates issued instantly online with Free SSL Certificate Wizard.

MarkLogic Server - MarkLogic Server is a multi-model database that has both NoSQL and trusted enterprise data management capabilities.

Let's Encrypt - Letโ€™sย Encrypt is a free, automated, and open certificate authority brought to you by the Internet Security Research Group (ISRG).

Valentina Server - Valentina Server is 3 in 1: Valentina DB Server / SQLite Server / Report Server

Ehcache - Java's most widely used cache.