Skip to content

[EPIC] Phase 3: Modularity - Split Large Modules, Improve Build Performance #2977

@robfrank

Description

@robfrank

Phase 3: Modularity (Months 6-7)

Goals: Split large modules, improve build performance

Duration: 2 months
Dependencies: Phase 2 Complete

Objectives

Month 6: Engine Module Split (Part 1)

  • Plan engine module split strategy
  • Create arcadedb-storage module (~50 files)
  • Create arcadedb-schema module (~30 files)
  • Create arcadedb-serialization module (~20 files)
  • Update remaining engine dependencies
  • Validate parallel build performance (20-30% improvement expected)

Month 7: Engine Module Split (Part 2)

  • Create arcadedb-query-core module (~40 files)
  • Create arcadedb-query-sql module (~200 files)
  • Create arcadedb-index-core module (~15 files)
  • Create arcadedb-index-lsm module (~30 files)
  • Create arcadedb-index-vector module (~20 files)
  • Create arcadedb-graph module (~25 files)
  • Create arcadedb-document module (~20 files)
  • Finalize engine module (~50 core files remaining)
  • Update module documentation
  • Validate build performance improvements
  • Update CI/CD pipelines

New Module Structure

arcadedb-api/           (Public stable API)
arcadedb-spi/           (Extension points)
arcadedb-storage/       (PageManager, FileManager, WAL)
arcadedb-schema/        (Type system, metadata)
arcadedb-serialization/ (Binary serialization, JSON)
arcadedb-query-core/    (Query engine base)
arcadedb-query-sql/     (SQL implementation)
arcadedb-index-core/    (Index interfaces)
arcadedb-index-lsm/     (LSM implementation)
arcadedb-index-vector/  (Vector indexes)
arcadedb-graph/         (Graph model)
arcadedb-document/      (Document model)
arcadedb-engine/        (Core database, ~50 files)

Deliverables

  • 13 focused modules created
  • Engine module reduced from 813 to ~50 files
  • Clear module boundaries
  • Module dependency validation

Success Metrics

  • Build time reduced by 30%
  • 50%+ faster incremental builds
  • Module coupling < 50%
  • Clear dependency graph
  • Zero breaking changes

Related Tasks

Tasks TASK-P3-001 through TASK-P3-017 will be created as individual issues linked to this epic.


Part of the ArcadeDB Evolution Project - see IMPROVEMENT_PLAN.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestparent-issueLabel to mark issues used to group related topics

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions