COMPASS 토카막 데이터베이스 CDB 통합 관리 시스템
초록
CDB는 COMPASS 토카막의 다양한 진단 장비와 데이터 수집 시스템을 하나의 통합 플랫폼으로 묶어, 메타데이터는 관계형 데이터베이스에, 실제 수치 데이터는 NAS에 HDF5 형식으로 저장한다. 파이썬 기반 코어와 다중 언어 바인딩을 통해 확장성을 확보하고, 데이터 버전 관리와 원격 접근을 지원한다.
상세 분석
본 논문은 COMPASS 토카막의 급증하는 데이터량과 복잡한 진단 장비 구성을 감당하기 위해 설계된 CDB(Compass DataBase)의 구조와 구현 방식을 상세히 분석한다. CDB는 메타데이터와 실제 수치 데이터를 완전히 분리하여, 메타데이터는 MySQL 등 관계형 데이터베이스에 저장하고, 대용량 수치 데이터는 NAS에 HDF5 파일로 보관한다. 이중 저장 구조는 스토리지와 데이터베이스를 독립적으로 최적화할 수 있게 하며, NAS가 표준 파일 프로토콜을 사용하므로 기존 인프라와의 호환성이 높다.
데이터 모델은 ‘generic signal’과 ‘data signal’이라는 두 계층으로 구성된다. generic signal은 물리량, 단위, 차원 등 신호의 정의를 담고, data signal은 특정 실험(레코드)과 버전(리비전)을 포함한 실제 데이터 인스턴스를 나타낸다. 축(axis)도 generic signal로 정의되어 다차원 데이터의 구조를 일관되게 표현한다. 버전 관리가 내장돼 있어 수정이나 재처리 시 기존 데이터를 덮어쓰지 않고 새로운 리비전을 생성함으로써 데이터 무결성과 이력 추적을 보장한다.
CDB는 파이썬으로 핵심 기능을 구현하고, Jython, Cython, Java, C/C++ 등을 이용해 다중 언어 바인딩을 제공한다. Matlab과 IDL도 Java 기반 인터페이스를 통해 메타데이터에 접근하고, HDF5 파일은 각 언어의 네이티브 API로 직접 읽고 쓸 수 있다. 이는 서버 부하를 최소화하고 클라이언트 측에서 고속 I/O를 가능하게 한다. 또한, 웹 서비스와 JSON 인터페이스를 제공해 원격 접근과 웹 기반 도구 개발을 지원한다.
데이터 수집 측면에서는 기존 FireSignal 아키텍처의 중앙 서버 병목을 해소하기 위해, 데이터 노드가 직접 CDB에 파일을 기록하도록 변경하였다. 이때 시간축, 스케일링 계수, generic signal 매핑은 자동으로 수행된다. 데이터 저장 절차는 레코드 번호 획득 → generic signal 조회 → 파일 생성 → 데이터 기록 → 파일 닫기 → 축 신호 저장 → 메인 신호 저장 순으로 진행되며, ‘store_signal’과 ‘update_signal’ 함수가 이를 캡슐화한다.
전체적으로 CDB는 확장성, 플랫폼 독립성, 버전 관리, 원격 접근성을 모두 만족시키는 토카막 데이터 관리 솔루션으로, 향후 대규모 실험 데이터 처리에 필요한 기반을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기