Skip to content

VeloxDB

Unit Tests

VeloxDB is a persistent key-value store database library. It designed to store key-value pairs and allow efficient retrieval based on the key. This system is inspired by modern databases like LevelDB and RocksDB, and supports multiple data types using C++ Templates and Protocol Buffers.

2024-11-06 Restructure with LSM Tree;

Structure

Level Data Structure
Memory, L0 Memtable using RB Tree
Disk/SSD, L1+ DiskBTree using Static B+ Tree

Supported Data Types

2024-09-12 Restructure with Protobuf Using Protocol Buffer for data serialization

syntax = "proto3";

message KeyValue {

  oneof key {
    int32 int_key = 1;
    int64 long_key = 2;
    double double_key = 3;
    string string_key = 4;
    string char_key = 5;
  }

  oneof value {
    int32 int_value = 6;
    int64 long_value = 7;
    double double_value = 8;
    string string_value = 9;
    string char_value = 10;
  }

  enum KeyValueType {
    INT = 0;
    LONG = 1;
    DOUBLE = 2;
    CHAR = 3;
    STRING = 4;

  }

  KeyValueType key_type = 11;
  KeyValueType value_type = 12;
}

2024-09-09 Support Template

enum KeyValueType { INT, LONG, DOUBLE, CHAR, STRING };

2024-08-28 Support

Supported Language

Language Status
C++
Rust

C++ Supported Platforms

The KV-Store system has been tested across multiple platforms and compilers. Below is the current support status:

Platform Compiler Status
MacOS ARM64 GCC
Ubuntu ARM64 GCC
Ubuntu ARM64 Clang
Windows x86 MSVC (cl)

Legacy Repo

KvDB

KV-Store