YottaDB

active

by YottaDB LLC · since 2017 · also known as YDB (YottaDB), YottaDB r2

Open-source MUMPS/M hierarchical key-value database forked from GT.M, with SQL via Octo.

hierarchicalkey-valuedatabase engineopen source (copyleft)mature

Overview

YottaDB is a high-performance hierarchical key-value database descended from GT.M, which it forked in 2017 to develop in the open. Data lives in persistent sparse arrays (M globals) with ACID transactions, journaling and logical multi-site replication, and it serves core-banking and VistA electronic health record systems around the world. Beyond the M language it offers native APIs for C, Go, Rust, Python, Node.js, Perl and Lua, and Octo adds SQL over the PostgreSQL wire protocol. It is the go-to engine for keeping M applications alive on modern Linux.

Strengths & trade-offs

Strengths

  • +Very fast in-process access to persistent hierarchical arrays
  • +Decades of production use in banking and healthcare via its GT.M lineage
  • +Native APIs in modern languages, not only M
  • +SQL access through Octo for reporting tools

Trade-offs

  • −M programming model and tooling are unfamiliar to most engineers
  • −Linux-only with a small talent pool
  • −No built-in sharding; scale-out is application-level

Great for

  • +VistA and other M-based EHR systems
  • +Core-banking platforms built on M
  • +Migrating GT.M or Caché applications to open source

Think twice for

  • −Greenfield apps without M heritage
  • −Horizontally sharded internet-scale workloads

Capabilities

Native or official first-party support · 4 of 25 tracked

✓Transactions
✓Triggers
✓Durable persistence
✓Encryption at rest
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Stored procedures
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Manual
Multi-region
Read replicas
Transactions
Full ACID
Consistency
Strong
Schema
Schemaless
Architecture
Single node, Primary replica, Embedded
Query languages
M (MUMPS), SQL (Octo)

Vertical scale plus logical multi-site replication for business continuity.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

compatible withPostgreSQL
apis & protocolsC API, PostgreSQL wire protocol (Octo)
client languagesM, C, Go, Rust, Python, Node.js, Perl, Lua

Alternatives to YottaDB

Compare all→
GT.MHierarchical8.1

FIS's high-throughput M (MUMPS) database and compiler, behind major core-banking systems.

yottadb vs gt-m →
InterSystems IRISRelational13.3

Multi-model data platform (SQL, objects, globals, vectors) with built-in interoperability, big in healthcare.

yottadb vs intersystems-iris →
InterSystems CachéHierarchical13.0

InterSystems' MUMPS-lineage object/SQL database, superseded by IRIS and winding down maintenance.

yottadb vs intersystems-cache →
Oracle Berkeley DBKey-Value17.0

The 1990s-era embedded key-value library, now Oracle-owned, AGPL-licensed and rarely updated.

yottadb vs berkeley-db →
LMDBKey-Value39.7

Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026.

yottadb vs lmdb →
IBM IMSHierarchical7.7

IBM's 1960s hierarchical database and transaction manager, still running bank and airline cores on z/OS.

yottadb vs ibm-ims →

YottaDB FAQ

What is YottaDB?

YottaDB is a hierarchical database by YottaDB LLC, first released in 2017. YottaDB is a high-performance hierarchical key-value database descended from GT.M, which it forked in 2017 to develop in the open. Data lives in persistent sparse arrays (M globals) with ACID transactions, journaling and logical multi-site replication, and it serves core-banking and VistA electronic health record systems around the world. Beyond the M language it offers native APIs for C, Go, Rust, Python, Node.js, Perl and Lua, and Octo adds SQL over the PostgreSQL wire protocol. It is the go-to engine for keeping M applications alive on modern Linux.

Is YottaDB open source?

Yes. YottaDB is open source. License: GNU AGPL v3.0.

Does YottaDB support ACID transactions?

Yes. YottaDB supports full ACID transactions, with strong consistency.

Does YottaDB scale horizontally?

YottaDB has no built-in sharding; scaling out means partitioning data in your application. It is comfortable at medium scale (≤ 10 TB). It supports cross-region read replicas.

How can I run YottaDB?

You can self-host it and embed it in your application.

What is YottaDB best for?

YottaDB is a strong fit for VistA and other M-based EHR systems; core-banking platforms built on M; and migrating GT.M or Caché applications to open source. Think twice for greenfield apps without M heritage.

What are the best alternatives to YottaDB?

Common alternatives to YottaDB include GT.M, InterSystems IRIS, InterSystems Caché, Oracle Berkeley DB and LMDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is YottaDB?

YottaDB ranks #333 of 844 databases on the WhichDB Score (7.9/100), and #5 among hierarchical databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.