DyBASE

discontinued

by Konstantin Knizhnik · since 2003 · also known as DyBase

Konstantin Knizhnik's tiny embedded object database for dynamically typed languages like Python, Ruby and PHP.

objectembedded libraryopen source (permissive)legacy

discontinued. No updates for well over a decade (last download 0.22 on garret.ru); the author's later work moved to PostgreSQL and other projects.

Overview

DyBASE is a small embedded object-oriented database by Konstantin Knizhnik, author of FastDB, GigaBASE and GOODS, first released in 2003. It targets languages with dynamic typing (PHP, Python, Ruby and Rebol), where an instance variable can hold an integer one moment and an object reference the next, so it stores a type tag with every field instead of relying on class descriptors. Applications persist their own objects directly, with no mapping layer, special compiler or preprocessor, and still get ACID transactions and concurrent access. Its best-known downstream use was as the persistence layer for TIScript, the scripting language of the Sciter UI engine. Development stopped at version 0.22; it remains a neat reference design rather than something to adopt.

Strengths & trade-offs

Strengths

  • +Persists dynamic-language objects directly, with per-field type tags instead of a fixed schema
  • +ACID transactions in a tiny embeddable library
  • +No preprocessor or code generation step
  • +Permissive licence

Trade-offs

  • −Unmaintained for over a decade; language bindings target old PHP, Python and Ruby versions
  • −No query language, so lookups are written by hand in application code
  • −Single-process embedded use only

Great for

  • +Studying object persistence for dynamically typed languages
  • +Maintaining legacy TIScript/Sciter-era applications that use it

Think twice for

  • −New applications
  • −Multi-user or networked access
  • −Ad-hoc querying

Capabilities

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

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

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
Full ACID
Consistency
Strong
Schema
Schemaless
Architecture
Embedded
Query languages
Native language API (PHP, Python, Ruby, Rebol)

Deployment

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

Ecosystem

apis & protocolsC API
client languagesPHP, Python, Ruby, Rebol

Alternatives to DyBASE

Compare all→
ZODBObject22.7

Transparent persistence for Python objects with ACID transactions and history.

dybase vs zodb →
SQLiteRelational75.5

The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.

dybase vs sqlite →
GigaBASERelational0.0

Knizhnik's embedded object-relational DBMS for C++ with a page pool, SubSQL and R-tree indexes.

dybase vs gigabase →
LMDBKey-Value39.7

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

dybase vs lmdb →
ObjectDBObject9.3

Commercial object database for Java that implements JPA and JDO natively, with no ORM layer.

dybase vs objectdb →
Actian NoSQL (Versant)Object3.1

Enterprise object database formerly known as Versant, sold by Actian for complex object models.

dybase vs versant-object-database →

DyBASE FAQ

What is DyBASE?

DyBASE is an object database by Konstantin Knizhnik, first released in 2003. DyBASE is a small embedded object-oriented database by Konstantin Knizhnik, author of FastDB, GigaBASE and GOODS, first released in 2003. It targets languages with dynamic typing (PHP, Python, Ruby and Rebol), where an instance variable can hold an integer one moment and an object reference the next, so it stores a type tag with every field instead of relying on class descriptors. Applications persist their own objects directly, with no mapping layer, special compiler or preprocessor, and still get ACID transactions and concurrent access. Its best-known downstream use was as the persistence layer for TIScript, the scripting language of the Sciter UI engine. Development stopped at version 0.22; it remains a neat reference design rather than something to adopt.

Is DyBASE open source?

Yes. DyBASE is open source. License: MIT-style licence (garret.ru distribution terms).

Does DyBASE support ACID transactions?

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

Does DyBASE scale horizontally?

DyBASE does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run DyBASE?

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

What is DyBASE best for?

DyBASE is a strong fit for studying object persistence for dynamically typed languages and maintaining legacy TIScript/Sciter-era applications that use it. Think twice for new applications.

What are the best alternatives to DyBASE?

Common alternatives to DyBASE include ZODB, SQLite, GigaBASE, LMDB and ObjectDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is DyBASE still maintained?

DyBASE is discontinued. No updates for well over a decade (last download 0.22 on garret.ru); the author's later work moved to PostgreSQL and other projects.

How popular is DyBASE?

DyBASE has little measurable public adoption today, so it ranks near the bottom of the WhichDB Score.