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.
https://github.com/RonyK/SEACOW
The code forked from the repository
(372 commits, ~Sep 9, 2021)
MSDB has been developed on Windows 10 with Visual studio 2019
- Boost C++ Library (1.74.0)
- zlib (1.2.11)
- GoogleTest
You can query an array with C++ API, which provides AFL like operators.
- 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>())
}
);
- 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 }))
);
- 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
);