Skip to content

KUDB/MSDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSDB

An efficient array storage engine for managing multi-dimensional arrays.

The MSDB software provides various compression options to make the array compact, and it also can fastly perform queries on them. This library can be embedded any C++ projects. It adapts Array Functional Language (AFL), which is widely used in many array databases, instead of SQL.

Prototype version repository

https://github.com/RonyK/SEACOW

The code forked from the repository

(372 commits, ~Sep 9, 2021)

Build

MSDB has been developed on Windows 10 with Visual studio 2019

Build Requirements


Query

You can query an array with C++ API, which provides AFL like operators.

Build operator

  • Example query for building two-dimensional array.
msdb::Build(
    0, msdb::dummy::star1024x1024::arrName,
    {
        msdb::DefDimension("Y", 0, 1024, 128, 32),
        msdb::DefDimension("X", 0, 1024, 128, 32)
    },
    {
        msdb::DefAttribute("ATTR_1", msdb::core::concreteTy<uint8_t>())
    }
);

Between operator

  • Example query for range selection on two-dimensional array.
msdb::Between(
    msdb::Load(msdb::Array(ctx, msdb::dummy::star1024x1024::arrName)),
    msdb::Domain(msdb::Coordinate({ 100, 100 }), msdb::Coordinate({ 104, 104 }))
);

Filter operator

  • Example query for filter out value on two-dimensional array
msdb::Filter(
   msdb::Load(msdb::Array(ctx, msdb::dummy::star1024x1024::arrName)),
   msdb::Attribute("ATTR_1") >= 7
);

About

Efficient array storage engine for managing multi-dimensional arrays.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages