Google Cloud Spanner Graph vs SurrealDB

Google Cloud Spanner Graph is a property graph database; SurrealDB is a multiple database. Google Cloud Spanner Graph (2024-08, Proprietary, C++) ranks #33 this month; SurrealDB (2022-07, BUSL-1.1, Rust) ranks #8.

Attribute Google Cloud Spanner Graph #33 ▼1 Strong SurrealDB #8 ▲1 Leader
At a glance
Rank #33#8
Score 51.065.8
GitHub stars —33.3k
Popularity 50.274.2
Activity 49.963.3
Community 53.866.7
Research 50.052.2
Fundamentals
Description A graph layer within Google Cloud Spanner that enables property graph queries over relational data using GQL and SQL/PGQ. Inherits Spanner's global distribution, strong consistency, and ACID transactions.A multi-model database written in Rust that combines document, graph, and relational paradigms. Uses inter-document record links for graph traversals, with ACID transactions and row-level permissions.
Vendor GoogleSurrealDB
Model Property GraphMultiple
Kind databasedatabase
Category EnterpriseGrowing
First released 2024-082022-07
Status activeactive
License ProprietaryBUSL-1.1
Written in C++Rust
Query languages GQL, SQL/PGQSurrealQL, GraphQL, GQL
gdotv support yesno

Feature scores — not surveyed for Google Cloud Spanner Graph

Feature Google Cloud Spanner GraphSurrealDB
Community & Business
Active development —✓
Commercial support —✓
Live community —0.75
Open Source —0.5
Pricing —✓
Trendiness —✓
Deployment
Containerization —✓
Work as dedicated instance —✓
Work as embedded —✓
Testing in-memory version —✓
Platform
Operating on Linux —✓
Operating on Windows —✓
SaaS offering —✓
Operations
Automatic updates —·
Client side caching —·
Data versioning support —✓
Live backups —·
Distribution
Cluster Re-balancing —✓
Data Distribution —✓
High-Availability —✓
Query Distribution —✓
Replication support —✓
Developer Experience
Data types defined —0.5
Logging/Auditing —✓
Object-Graph Mapper —✓
Reactive programming —✓
Documentation up-to-date —✓
Binary protocol —✓
CLI —✓
GUI —✓
Data Model
Multi-database —✓
Graph-native data —✓
REST API —✓
Query Language —✓
Transactions
Granular locking —·
Multiple isolation levels —0.5
Read committed transaction —✓
Transaction support —✓
Schema & Security
Constraints —✓
Schema support —✓
Secondary indexes —✓
Server side procedures —✓
Triggers —✓
Authentication —✓
Authorization —✓
Data encryption —0.5