mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-12-24 14:20:59 +03:00
4c26e4f960dab8b7b81b79dc588ea5eec4b6bbe1
EM scaleability project has two parts: phase1 and phase2.
This is phase1 that brings EM index to speed up(from O(n) down
to the speed of boost::unordered_map) EM lookups looking for
<dbroot, oid, partition> tuple to turn it into LBID,
e.g. most bulk insertion meta info operations.
The basis is boost::shared_managed_object where EMIndex is
stored. Whilst it is not debug-friendly it allows to put a
nested structs into shmem. EMIndex has 3 tiers. Top down description:
vector of dbroots, map of oids to partition vectors, partition
vectors that have EM indices.
Separate EM methods now queries index before they do EM run.
EMIndex has a separate shmem file with the fixed id
MCS-shm-00060001.
MariaDB ColumnStore Storage/Execution engine 8.X
It is built by porting InfiniDB 4.6.7 on MariaDB and adding entirely new features not found anywhere else.
Building
This repository is not meant to be built independently outside of MariaDB server.
https://github.com/MariaDB/server/tree/10.8
See building instructions here.
Issue tracking
Issue tracking of MariaDB ColumnStore happens in JIRA, https://jira.mariadb.org/browse/MCOL
Languages
C++
88.9%
Shell
2.9%
C
2.9%
Python
2.6%
Assembly
1.3%
Other
1.2%