문서 목차
AkashiQ v0.1.0 · 소개
아키텍처
AkashiQ의 구성 요소와 수집·정제·서빙 경로
QUANTUM C&S
AkashiQ는 Kubernetes 위에서 동작하는 서비스 묶음과, 오브젝트 스토리지 기반 레이크하우스로 구성됩니다. 이 문서는 "데이터가 어디를 지나 어떤 화면에 도달하는가"를 기준으로 전체 구조를 설명합니다.
전체 구성
원천 시스템 수집 경로 레이크하우스 활용
┌──────────────┐ ┌────────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ RDB │─────▶│ 배치 수집 │────▶│ │ │ 포털 (Web) │
│ (LIMS/ERP 등)│ │ (Trino 경유 조회) │ │ Bronze │ │ · Data Hub │
├──────────────┤ ├────────────────────┤ │ ↓ │ │ · Catalogs │
│ RDB 변경로그 │─────▶│ CDC → Kafka │────▶│ Silver (이력) │──▶│ · Batch Trace│
├──────────────┤ ├────────────────────┤ │ ↓ │ │ · Governance │
│ 설비 OPC-UA │─────▶│ 브리지 → Kafka │────▶│ Gold (분석용) │ ├──────────────┤
├──────────────┤ ├────────────────────┤ │ │ │ SQL (Trino) │
│ 문서(EDMS) │─────▶│ 커넥터 (증분) │────▶│ Apache Iceberg │──▶│ SAMANDA AI │
├──────────────┤ ├────────────────────┤ │ on Ceph / S3 │ │ 외부 Data API│
│ 웹 · SaaS API│─────▶│ RSS · HTTP · Jira │────▶│ │ │ KosmosAI │
└──────────────┘ └────────────────────┘ └─────────────────┘ └──────────────┘
▲ ▲
Airflow 오케스트레이션 Spark 스트리밍 · 배치
세 가지 수집 경로
수집은 데이터의 성격에 따라 세 경로로 나뉩니다. 화면에서 보이는 위치도 다릅니다.
| 경로 | 대상 | 특징 | 화면 |
|---|---|---|---|
| 배치 수집 | RDB 테이블, 문서, 웹 · API | 주기 실행. 조회 시점의 스냅샷을 적재 | Data Factory |
| CDC 스트리밍 | RDB 변경 로그 | 변경만 실시간 반영. 이력 보존에 유리 | Pipeline Ops |
| 설비 telemetry | OPC-UA 태그 | 초 단위 연속 값. 라이브 표시와 집계 | Assets |
배치 수집은 Trino 카탈로그를 경유합니다. DB마다 별도 드라이버 · 커넥터 코드를 만들지 않고, Trino에 카탈로그를 한 번 연결하면 같은 방식으로 수집합니다.
저장 계층
| 요소 | 역할 |
|---|---|
| Ceph (S3 호환) | 실제 파일이 저장되는 오브젝트 스토리지 |
| Apache Iceberg | 테이블 포맷. 스키마 변경, 스냅샷, 시점 조회를 제공합니다. |
| 메타스토어 | 테이블 메타데이터 카탈로그 |
Iceberg 스냅샷이 있어 잘못 적재한 시점 이전으로 되돌리는 복구가 가능합니다. 백업 복원이 아니라 테이블 포맷이 제공하는 기능을 사용합니다.
정제 계층
- Spark 스트리밍 — Kafka에서 받은 변경 · telemetry를 Bronze에 적재하고 Silver 이력으로 가공합니다. 진행 상태(처리 건수, 지연)를 메트릭으로 노출합니다.
- Spark 배치 — Gold 집계, 학습 데이터셋 생성, 재구축(replay)을 수행합니다.
- Airflow — 수집 · 가공 · 검증 · export DAG의 스케줄과 재시도를 담당합니다. 포털의 파이프라인 화면이 이 실행 이력을 보여줍니다.
서빙 계층
| 요소 | 역할 |
|---|---|
| Trino | 분산 SQL 엔진. 카탈로그 탐색, 프리뷰, 사용자 쿼리를 처리합니다. |
| 리소스 그룹 · Virtual Warehouse | 쿼리를 용도별로 격리하고 동시 실행을 통제합니다. |
| 가속 서빙 엔진(선택) | 조회가 빈번한 Gold 데이터를 별도 엔진에 적재해 응답 시간을 줄이는 선택 구성입니다. |
| 외부 Data API | API Key로 인증된 외부 시스템에 데이터 상품을 공급합니다. |
애플리케이션 계층
포털 하나에 여러 API 서비스가 붙는 구조입니다. 화면 메뉴와 담당 서비스는 대략 다음과 같이 대응합니다.
| 화면 영역 | 담당 |
|---|---|
| Data Hub · 카탈로그 · 거버넌스 | 데이터레이크 API |
| Data Factory · 파이프라인 · 복구 | ETL API |
| Compute · Virtual Warehouse | 컴퓨트 API |
| Storage | 스토리지 API |
| Assets · Master Data · 품질 문서 | 자산 API · 마스터 API · 품질 API |
| SAMANDA 패널 | 에이전트 API |
| 로그인 | 인증 게이트웨이 |
인증과 인가
- 사내 Keycloak(OIDC) 을 인증 기관으로 사용하고, 포털은 인증 게이트웨이를 통해 로그인합니다.
- 각 API 서비스는 발급된 토큰을 서명 검증(JWKS/RS256) 해 직접 확인합니다.
- 인가는 두 층으로 적용됩니다. 하나는 그룹(팀) 단위 메뉴 · 데이터 권한, 다른 하나는 컬럼 마스킹입니다.
- 사용자 권한은 SAMANDA에도 그대로 전달됩니다. 사용자가 볼 수 없는 데이터는 AI 응답에도 나타나지 않습니다.
폐쇄망 운영
AkashiQ는 외부 인터넷 연결을 전제로 하지 않습니다.
- 컨테이너 이미지는 사내 레지스트리로 반입해 설치합니다.
- 원천 데이터는 고객 인프라 내부에 머무릅니다.
- 외부 AI 추론을 사용하는 구성에서는 추론 요청과 응답만 보안 채널로 오갑니다. 보안 수준은 고객 정책에 따라 협의합니다.
배포 형태
기반 인프라(Kubernetes, 스토리지, 모니터링)는 ORKESTRIX가 구성하고, 그 위에 AkashiQ를 설치합니다. 초기 설치는 설치기로 한 번에 수행하고, 운영 단계에서는 GitOps 방식으로 전환해 변경 이력을 남깁니다.
KosmosAI와의 연계
| 방향 | 내용 |
|---|---|
| KosmosAI → AkashiQ | 자산 마스터(설비 · 분석기기 등)를 동기화해 받습니다. 자산 원본의 관리 주체는 KosmosAI입니다. |
| AkashiQ → KosmosAI | 학습용 데이터셋을 주기적으로 내보냅니다. |
| KosmosAI → 화면 | 예측 결과를 받아 배치 추적 화면의 위험 패널에 표시합니다. |
자세한 내용은 KosmosAI 연계를 참고하세요.