Skip to content

RebelDB™ • A new database engine is brewing 🧪 Imagine if REBOL and SQLite had a rebellious offspring ⚡️

License

Notifications You must be signed in to change notification settings

hcengineering/rebeldb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RebelDB™

A new database engine is brewing 🧪, imagine if REBOL and SQLite had a rebellious offspring ⚡️

Overview

RebelDB™ is a high-performance database engine written in Zig that combines efficient memory management with flexible storage options. Key features:

  • Variable-length integer encoding optimized for lexicographical ordering
  • Flexible page-based storage system with configurable alignment
  • Zero-copy value storage with efficient memory management
  • Compile-time configuration for optimal performance

Quick Start

const std = @import("std");
const Page = @import("page.zig").Page;
const ByteAligned = @import("page.zig").ByteAligned;
const Static = @import("page.zig").Static;
const Mutable = @import("page.zig").Mutable;

// Create a simple page with 128 bytes capacity
var data: [128]u8 = undefined;
const BasicPage = Page(u8, Static(128), ByteAligned(u8), Mutable(u8));
var page: *BasicPage = @ptrCast(&data);

// Initialize and store values
_ = page.init(128);
const val = page.alloc(16);
@memcpy(val, "Hello, RebelDB!");

Documentation

About Huly.io

RebelDB™ can be an essential part of next generation Huly.io. Huly is open-source product for process management, knowledge management, and team collaboration. It's crafted to be an all-in-one solution, enabling teams to manage their work more efficiently and serving as an alternative to tools like Jira, Linear, Asana, Slack, Notion, Motion, and Roam.

© 2024 Huly Labs • All Rights Reserved

About

RebelDB™ • A new database engine is brewing 🧪 Imagine if REBOL and SQLite had a rebellious offspring ⚡️

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages