1.1. 개요
데이터 코어 모듈은 데이터허브 플랫폼에서 처리하는 데이터의 전반적인 관리 기능을 제공합니다.
- 데이터 모델, 데이터 셋 관리
- 데이터 저장, 데이터 제공
- 데이터 검색, 데이터 이력 관리
- 데이터 구독, 구독 데이터 통지
- 데이터 접근 제어
데이터 코어 모듈은 데이터 분야 국제 표준인 NGSI-LD (외부 링크)를 준용하여 상호 호환성을 제공하며 데이터허브 플랫폼 기반 데이터 서비스 생태계를 구성합니다. 또한, NGSI-LD 규격을 기반으로 데이터를 전반적으로 관리하므로 다양한 도시 데이터를 수용하기 위한 추가 개발이 필요 없습니다.
비정형 데이터의 경우 해당 유형의 데이터 처리 결과를 데이터 코어 모듈로 인입할 수 있는 구조를 지원합니다. 이 경우, 비정형 데이터 처리 로직을 별도로 개발 및 적용해야 합니다.
[데이터 코어 모듈 개념도]
<특징>
- 다양한 데이터 저장소 지원(RDB, Hive, HBase)
- 데이터 모델 관리 및 데이터 모델 정보 기반 데이터 저장소 DDL 실행
- 데이터 모델 정보 기반 NGSI-LD API 처리 로직 실행
- 데이터 셋(데이터 그룹) 별 메타 데이터, 접근 권한 관리
- 데이터 모델 기반 인입 데이터 검증 처리
- 데이터 셋의 저장 위치(데이터 저장소) 설정 및 설정된 해당 데이터 저장소로 데이터 저장
- 반정형, 비정형 데이터 처리 지원
- 원천, 가공, 분석/예측 데이터에 대한 전체 관리
- 데이터 생애 주기(라이프사이클) 관리
[데이터 코어 아키텍처 및 주요 흐름도]
데이터 코어 모듈은 Data manager, Data service broker, Data streaming broker, Ingest interface, Push agent, Admin UI, Dashboard 어플리케이션으로 구성되며 상세 기능은 아래와 같습니다.
- Data manager: 데이터 모델 관리, 데이터 셋 관리, 데이터 셋 플로우 관리, 데이터 접근제어 관리, 데이터 생애 주기 등의 데이터 거버넌스 담당
- Data service broker: NGSI-LD API 인터페이스를 통한 데이터 수집 및 제공 담당
- Data streaming broker: Apache Kafka 기반 메시지 큐로 데이터 셋 별 토픽 관리, 이벤트 메시지 및 통지 요청 메시지 토픽 관리
- Ingest interface: 데이터 셋 별 수집 인터페이스를 제공, 데이터 셋이 사용하는 데이터 모델에 따른 데이터 검증 기능 제공, 외부 데이터 소스에 관한 인증 기능 제공
- Push agent: 데이터 구독 기반 NGSI-LD 통지 메시지 전송
- Admin UI: 데이터 코어 관리자용 UI로 데이터 모델 관리, 데이터 셋 관리, 데이터 흐름 관리, 접근 제어 관리 및 외부 데이터 소스 플랫폼 정보 관리, 수집 데이터의 처리 이력 조회 기능 제공
- Dashboard: 데이터 코어 모듈에 저장된 데이터 조회, 위젯 기반 대시보드 제공, 사용자 별 대시보드 구성
[데이터 저장소 연계]
데이터 코어 모듈은 데이터 셋 별로 데이터 저장소를 선택할 수 있습니다. 기본적으로는 PostgreSQL을 제공하며, BigDataStorageHandler 설치를 통해 Hadoop 기반 Hive, HBase 저장소를 추가로 설정할 수 있습니다. 저장소 유형과 관계 없이 데이터 조작 및 제공 API는 NGSI-LD 인터페이스를 사용합니다.