SurrealDB vs TerminusDB
Both are multiple databases queried with GraphQL. SurrealDB (2022-07, BUSL-1.1, Rust) ranks #8 this month; TerminusDB (2019-10, Apache-2.0, Prolog) ranks #30. They differ on 26 of 46 surveyed features.
| Attribute | SurrealDB | TerminusDB |
|---|---|---|
| At a glance | ||
| Rank | #8 | #30 |
| Score | 65.8 | 53.6 |
| GitHub stars | 33.2k | 3.5k |
| Popularity | 74.2 | 62.4 |
| Activity | 63.3 | 62.2 |
| Community | 66.7 | 34.7 |
| Research | 52.2 | 50.0 |
| Fundamentals | ||
| Description | 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. | A graph database and document store that builds knowledge graphs from JSON documents. Uses git-like delta encoding with an append-only layered data model, enabling version control and collaboration workflows. |
| Vendor | SurrealDB | DFRNT |
| Model | Multiple | Multiple |
| Kind | database | database |
| Category | Growing | Emerging |
| First released | 2022-07 | 2019-10 |
| Status | active | active |
| License | BUSL-1.1 | Apache-2.0 |
| Written in | Rust | Prolog |
| Query languages | SurrealQL, GraphQL, GQL | WOQL, GraphQL |
| gdotv support | no | no |
Feature scores 26 of 46 rows differ
| Feature | SurrealDB | TerminusDB |
|---|---|---|
| Community & Business | ||
| Active development | ✓ | ✓ |
| Commercial support | ✓ | ✓ |
| Live community | 0.75 | 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 | ✓ | 0.75 |
| 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 | 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 | ✓ | 0.5 |
| 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 | · |
Links
- SurrealDB · website · github · full profile
- TerminusDB · website · github · full profile