Internship Project/Data Labeling and Update Tool
(25.02.20) ERD (Even Sourcing Based)
Genie;
2025. 2. 24. 17:34
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.