7b93467c6e9598021fbfac0ca0825f4dca9c7a82
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)를 코드 레벨(SiUnitEnum)에서 엄격하게 관리.
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
Description
Languages
HTML
48.4%
C#
41.3%
CSS
10.3%