gendb-storage-format

Document GenDB binary columnar storage with type mappings and encodings.

71|8|Updated Feb 8, 2026
One-click install
npx skills add https://github.com/SolidLao/GenDB --skill gendb-storage-format
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gendb-storage-format
Source: https://github.com/SolidLao/GenDB/tree/main/.claude/skills/gendb-storage-format
Command: npx skills add https://github.com/SolidLao/GenDB --skill gendb-storage-format

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a detailed specification for GenDB's binary columnar storage format, enabling efficient data handling and understanding of column encodings.

Core Features & Use Cases

  • Binary Columnar Format: Understand how data is stored in individual column files (.bin) and accessed via memory mapping.
  • Type Mappings: Learn the correspondence between SQL data types and C++ types, including specific handling for DECIMAL, DATE, and VARCHAR.
  • Encoding Details: Comprehend dictionary encoding for strings, byte-packing for compression, and the structure of zone maps for efficient querying.
  • Use Case: When developing ingestion pipelines or query execution engines for GenDB, understanding these formats is crucial for correct data serialization and deserialization.

Quick Start

Load the gendb-storage-format skill to understand how DATE types are encoded as days since epoch.

Frequently Asked Questions about gendb-storage-format

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How are DECIMAL and DATE types encoded in a binary columnar storage format?

Dictionary encoding compresses string data by mapping repeated VARCHAR values to compact integer identifiers, reducing storage footprint and accelerating query performance through byte-packing within individual column files.

What is a zone map and how does it optimize queries in columnar databases?

To implement data serialization for a columnar database, you map SQL data types to C++ types, apply dictionary encoding for strings, and use byte-packing for DECIMAL fields before persisting to memory-mapped .bin files.

Does this binary storage format support memory mapping for direct file access?

When building ingestion pipelines for a columnar database, you must handle type mappings correctly, apply dictionary encoding for VARCHAR strings, and structure zone maps properly to ensure valid data serialization.

What are the limitations of dictionary encoding for string data in columnar formats?

Dictionary encoding for string data becomes less efficient when cardinality is extremely high, as storing unique dictionary entries consumes significant memory and reduces the compression benefits of byte-packing.