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 #45 this month; SurrealDB (2022-07, BUSL-1.1, Rust) ranks #7.

Attribute Google Cloud Spanner Graph #45 ▲1 Growing SurrealDB #7 ▲1 Strong
At a glance
Rank #45#7
Score 43.960.5
GitHub stars —33.3k
Popularity 47.471.4
Activity 49.364.5
Community 43.560.4
Research 26.731.1
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