Software Alternatives & Startups

Datomic VS Google Cloud Spanner

Compare Datomic VS Google Cloud Spanner and see what are their differences

Datomic logo Datomic

The fully transactional, cloud-ready, distributed database

Google Cloud Spanner logo Google Cloud Spanner

Google Cloud Spanner is a horizontally scalable, globally consistent, relational database service.
  • Datomic Landing page
    Landing page //
    2023-09-14
  • Google Cloud Spanner Landing page
    Landing page //
    2023-09-17

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.

Google Cloud Spanner features and specs

  • Scalability
    Google Cloud Spanner can automatically scale horizontally, providing robust support for large-scale applications. It can handle petabytes of data across millions of instances with ease.
  • Global Distribution
    Spanner enables globally distributed databases with strong consistency and low-latency reads, allowing applications to deliver seamless performance across the globe.
  • Strong Consistency
    Unlike many other distributed databases, Cloud Spanner offers strong transactional consistency, using Google's TrueTime API to ensure precise timestamp ordering that supports ACID transactions.
  • Fully Managed
    Cloud Spanner is a fully managed service, which means Google handles maintenance tasks such as updates, scaling, and provisioning, reducing the operational overhead for users.
  • SQL Support
    It provides support for SQL queries, making it easier for developers and teams familiar with SQL to integrate and manage their data workloads without needing to learn new paradigms.
  • High Availability
    Cloud Spanner is designed for high availability, with built-in redundancy and failover capabilities that ensure continuous operation even in the face of regional outages.

Possible disadvantages of Google Cloud Spanner

  • Cost
    Google Cloud Spanner can be expensive compared to other database solutions, especially for smaller applications or startups with limited budgets.
  • Limited Ecosystem
    While growing, Spanner's ecosystem is not as mature as more established relational or NoSQL databases, which might lead to fewer third-party tools and integrations.
  • Complexity in Migration
    Migrating existing applications and data to Cloud Spanner can be complex and time-consuming, particularly for those coming from non-relational database systems.
  • Limited NoSQL Features
    For applications that require specific NoSQL features, such as unstructured data handling and schema flexibility, Cloud Spanner may not be the best fit compared to other NoSQL databases.
  • Regional Lock-in
    Although it offers global distribution, data residency and compliance requirements might limit some organizations to specific regions, which can affect the strategic deployment of an application.

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

Google Cloud Spanner videos

Build with Google Cloud Spanner

Category Popularity

0-100% (relative to Datomic and Google Cloud Spanner)
Databases
47 47%
53% 53
NoSQL Databases
69 69%
31% 31
Relational Databases
23 23%
77% 77
Network & Admin
100 100%
0% 0

User comments

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

Social recommendations and mentions

Based on our record, Google Cloud Spanner seems to be more popular. It has been mentiond 18 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.

Google Cloud Spanner mentions (18)

  • SQL vs. NoSQL — stop asking the wrong question
    Also false. Postgres runs massive production workloads, and you'll hit product problems long before it's your bottleneck. And when you genuinely outgrow a single node, distributed SQL exists now — CockroachDB, Google Cloud Spanner, and Vitess all give you horizontal scale without giving up SQL. - Source: dev.to / about 12 hours ago
  • Golden Ticket To Explore Google Cloud
    Multiregion is possible in Google Cloud using Cloud Spanner, which allows you to replicate the database not only in multiple zones but also in multiple regions as defined in the instance configuration. The replicas allow you to read data with low latency from multiple locations that are close to or within the region in the configuration. - Source: dev.to / about 3 years ago
  • /u/ryuuthecat wonders how a feature of google maps works. Engineer who programmed the feature responds with the answer
    Basically everything I touch is in-house, but a majority of it is available publicly. For instance: https://cloud.google.com/spanner/. Source: almost 4 years ago
  • How Do Companies (Like Evernote) Handle So Many Notes?
    An application that needs to handle a lot of data can use a distributed database like Cloud Spanner. Unlimited scale and you don't have to split your database into multiple tables. Source: almost 4 years ago
  • One of my favorite topics in DE is CAP Theorem. Has anyone managed to accomplish all 3 at once yet or is it truly impossible like the theorem states.
    Look at the architecture and performance of Google's Cloud Spanner, a CP system with 99.999% availability... https://cloud.google.com/spanner. Source: almost 4 years ago
View more

What are some alternatives?

When comparing Datomic and Google Cloud Spanner, you can also consider the following products

MySQL - The world's most popular open source database

PostgreSQL - PostgreSQL is a powerful, open source object-relational database system.

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

Oracle DBaaS - See how Oracle Database 12c enables businesses to plug into the cloud and power the real-time enterprise.

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

Firestore - Easily develop rich applications using a fully managed, scalable, and serverless document database.