Skip to content
프로젝트

Remi-Coulom/joedb has 124 GitHub stars and 13 forks. Star changes are not measured yet. Last checked 2026-11-14 04:23 UTC. Last push 2026-11-09.

이 수치를 측정하는 방법

측정된 스타 증가

in 24h
기록 수집 중
in 7 days
기록 수집 중
in 15 days
기록 수집 중
in 1 month
기록 수집 중

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

소개

Joedb, the Journal-Only Embedded Database

데이터

README.md

Original

Joedb, the Journal-Only Embedded Database

Joedb is a light-weight C++ database that keeps tabular data in memory, and writes a journal to a file. The whole data history is stored, so it is possible to re-create any past state of the database. Joedb has a network protocol, and can operate in a distributed fashion, a bit like git for data. It provides ACID transactions for local and remote concurrent access to a file.

The diagram below illustrates how the system works: joedbc, the joedb compiler, reads the database schema and produces classes that can be used to manipulate files:

Diagram

Other systems such as protocol buffers provide similar type-safe mechanisms for serializing structured data, but are missing key properties of a database, such as concurrency, transactions, and incremental crash-safe updates. Joedb can offer all these features by storing data as a journal of transactions.

To give an indication of joedb's simplicity, the table below shows the size of joedb's source code compared to some other libraries. Lines of code are counted with wc -l. Compressed size is the size in bytes after removing comments and compressing with gzip. These numbers were measured on 2024-07-28 on the main branch.

Software Lines of code Compressed size Notes
joedb 19,288 72,268 without tests
nlhohmann/json 24,941 87,168 single include
boost/json 37,609 123,229
SQLite 258,281 1,067,983 sqlite3.c amalgamation
PostgreSQL 1,513,329 5,250,316 content of src dir, without tests

So joedb is an extremely simple low-level foundation for sharing relational data. It would be possible to build a SQL database on top of it, but it is already very convenient by itself.

For more information, please take at a look at the documentation.

관련 프로젝트 살펴보기