urnadb
by
auula

Description: UrnaDB is a NoSQL database support diverse data types and transactions.

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on July 5th, 2026
Created on January 16th, 2022
Open Issues & Pull Requests: 8 (+0)
GitHub issues: Enabled
Number of forks: 30
Total Stargazers: 281 (+0)
Total Subscribers: 4 (+0)

Issue Activity (beta)

Open issues: 8
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 338 days
Stale 30+ days: 8
Stale 90+ days: 8

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (2)
  • duplicate (1)
  • locked (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 0.0 hours
Mean response time: 1.1 hours
90th percentile: 9.6 hours
Tracked items: 9

Most active contributors

Related by overlapping contributors

Detailed Description

UrnaDB is a NoSQL database written in Go that provides support for diverse data types and transaction capabilities. The project is designed as an embedded database and key-value store with comprehensive storage engine functionality, ACID compliance, indexing, and concurrency support. The repository is maintained primarily by auula, who has driven 21 tracked events, with additional contributions from guowei-gong and mobailabs.

The database implements multiple built-in data structures optimized for high throughput and low latency, with particular emphasis on efficient batch data writing. UrnaDB supports disk-based data storage with garbage collection capabilities for reclaiming disk space. The system includes disk data encryption at rest and data compression features to optimize storage efficiency. Security is addressed through IP whitelist functionality that controls access to the database, and all data operations are performed through a RESTful API protocol accessible via HTTP clients.

The core storage engine uses an append-only log approach for writing all operations to data files. The underlying virtual file system, contained in the vfs package, has been benchmarked on Intel i5-7360U hardware with 8GB LPDDR3 RAM to demonstrate write performance characteristics. The project includes a tools.sh script in the root directory to assist with various development and operational tasks.

UrnaDB exposes data interaction through RESTful APIs, making it accessible to any HTTP-capable client. The database abstracts multiple data structure types including Table, Record, Variant, and Lock types that map to common programming patterns. The Table structure functions similarly to relational database tables, automatically assigning globally unique incrementing identifiers to records and supporting semi-structured data storage comparable to struct and class fields in programming languages. Data operations follow standard HTTP conventions with PUT for creation, GET for retrieval, and DELETE for removal.

The project provides official SDKs for client integration, with Java SDK support highlighted as the recommended approach over direct HTTP interaction. The Java SDK enables lambda-style functional programming for data operations, supporting SQL-like operations including INSERT, UPDATE, DELETE, and SELECT functionality through a fluent API interface. Comprehensive documentation is available at the official website urnadb.github.io.

GitGenius activity tracking shows rapid issue and pull request response times, with a median latency of 0.0 hours and mean latency of 1.1 hours across nine tracked items. The most active issue labels include enhancement requests and duplicate reports. The repository maintains connections with other projects through overlapping contributors, including links to dapr/dapr, highlightjs/highlight.js, and wazero/wazero. The project supports both Docker deployment for quick testing and bare-metal Linux deployment for production use with optimizable storage engine parameters.

urnadb
by
auulaauula/urnadb

Repository Details

Fetching additional details & charts...