Files
bim-dogma-poc/README.md
2026-01-08 18:09:21 +09:00

1.8 KiB

Excel KV Middleware & Schema Editor

복잡한 구조의 엑셀 데이터를 고성능 Key-Value Store(Microsoft Garnet)에 적재하고, 표준 스키마를 정의/편집하는 시스템입니다.

🚀 Key Features

1. High-Performance Ingestion

  • Pure .NET 8.0: Python 등 외부 의존성 없는 단일 플랫폼.
  • Embedded Garnet: Redis 호환 고성능 인메모리 스토어 내장.
  • 2D Flattening:
    • 병합된 Cross-Tab 엑셀 헤더를 논리적 Key로 자동 평탄화.
    • Key Format: {Sheet}:{LeftAxis}----{TopAxis} (예: Station__No1----Concrete__.__TypeA)

2. Smart Schema Management

  • Interactive Region: 헤더와 데이터 영역을 동적으로 지정 가능 (RegionConfig).
  • Unmerge & Fill: 병합된 셀을 자동으로 분리하여 데이터 컨텍스트 유지.
  • SI Unit System: 물리적 단위(m, m3, kg)를 코드 레벨(SiUnit Enum)에서 엄격하게 관리.

3. Editor UI (In Progress)

  • Blazor Web App: 웹 기반의 협업 가능한 스키마 편집기.
  • CRDT Sync: 다수 사용자가 동시 편집 시 충돌 없는 병합 지원 예정.

🛠 Project Structure

  • ExcelKv.Core: 핵심 로직 라이브러리 (SI Unit, ExcelLoader, SchemaRegistry).
  • ExcelKvPoC: 데이터 파싱 및 적재 검증용 콘솔 앱.
  • SchemaEditor: 표준 스키마 편집용 Blazor 웹 애플리케이션.

🚦 Getting Started

Prerequisites

  • .NET SDK 8.0+

Run PoC (Excel Ingestion)

dotnet run --project ExcelKvPoC
  • 실행 시 sample.txt에 파싱된 Key-Value 결과가 출력됩니다.

Run Editor (Blazor)

dotnet run --project SchemaEditor

📝 Roadmap

  • Excel Parsing & 2D Flattening
  • Garnet Integration (Embedded)
  • SI Unit System Definition
  • Blazor Editor UI Implementation
  • CRDT Synchronization Layer