Internship Project/Data Labeling and Update Tool
(25.02.20) ERD (Even Sourcing Based)
Multi-DB Resource-based Architecture - Event Sourcing Applied
- 회의를 통해 CRUD 패턴이 아닌, Event Sourcing 기반으로 사용자(Reviewer)가 잘못된 데이터가 있을 경우 업뎅이트 진행하면서 업데이트가 지속적으로 업데이트 되는 패턴으로 결정
- 필터를 통해 원하는 데이터만 조회해 오는 간단한 구조
- 따라서 원하는 버전과 함께 저장하면서 버저닝 가능
- The dataset, including its sample data (row data), versioning archive, and template data, will be managed using MongoDB.
- The columns in each dataset may vary.
- Distinction is made by the collection name and document ID in MongoDB, which are stored as field values in the table.
- The updated sample data follows “Event Sourcing”, where it is continuously accumulated and versioned.
- Depending on the versioning, the Reviewer can load previous versions of each sample data to perform updates as needed.
- Templates are for reference only and are read-only at this stage, without any relationships.
- Labels related to the labeling feature need further discussion.
Server Configuration (Container-Based Deployment Idea)
- The Spring Boot application and database are run in containers to improve scalability and maintainability.
Docker-Based Container Setup
- Spring Boot Application → app-container
- MongoDB → mongo-container
- MySQL/PostgreSQL (RDB) → rdb-container
- ( Nginx (API Gateway, Reverse Proxy) → nginx-container )
Network and Communication Structure
- The Spring Boot application connects to MongoDB and RDB, while the client sends API requests via Nginx.
'Internship Project > Data Labeling and Update Tool' 카테고리의 다른 글
(25.02.26) ERD - Simplified (0) | 2025.02.26 |
---|---|
(25.02.19) ERD (draft) (0) | 2025.02.24 |
(25.02.18) User Scenario (0) | 2025.02.24 |
(25.02.11) Open Source Data Labeling & Updating Tool Ideation (1) | 2025.02.24 |