7
202 정보과학회논문지 : 데이타베이스 제 40 권 제 3 (2013.6) 본 연구는 방위사업청과 국방과학연구소의 지원으로 수행되었습니다.(계약번호 UD100003KD) 논문접수 심사완료 : : 2012911201314†† ††† †††† 비 회 원 학생회원 종신회원 비 회 원 : : : : 충남대학교 컴퓨터공학과 [email protected] 충남대학교 컴퓨터공학과 [email protected] 충남대학교 컴퓨터공학과 교수 [email protected] [email protected] (Corresponding author) 국방과학연구소 함정전투체계개발단 연구원 [email protected] [email protected] Copyright2013 한국정보과학회ː개인 목적이나 교육 목적인 경우, 이 저작 물의 전체 또는 일부에 대한 복사본 혹은 디지털 사본의 제작을 허가합니다. 이 때, 사본은 상업적 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처 를 반드시 명시해야 합니다. 이 외의 목적으로 복제, 배포, 출판, 전송 등 모든 유형의 사용행위를 하는 경우에 대하여는 사전에 허가를 얻고 비용을 지불해야 합니다. 정보과학회논문지: 데이타베이스 제40권 제3(2013.6) 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 엔진 설계 (Design of Interoperation Engine between Data Distribution Service and Database for Real-Time Data Management) 임형준 손윤희 †† ††† (Hyung-Jun Yim) (Yun-Hee Son) (Hoon Choi) 김점수 †††† 정용환 †††† 이규철 ††† (Chumsu Kim) (Yonghwan Jung) (Kyu-Chul Lee) DDS는 발간/구독 모델에 기반하여 분산 환경을 위한 데이터 중심 프로그램 모델에 대한 표준 화의 필요성에 의해 만들어진 신뢰성 있는 실시간 데이터 통신 미들웨어로 OMG 표준이다. DDS의 목적 은 통신에 참여하는 응용프로그램의 위치나 존재에 상관없이 실시간으로 데이터를 전송할 수 있도록 복잡 한 네트워크 프로그래밍을 단순화하는 것이다. 하지만 DDS에서 발간/구독하는 토픽 데이터는 일회성의 성격을 가지지만 응용프로그램의 목적에 따라 도메인에서 발생한 데이터들을 저장하고 후에 재사용할 필 요성이 있다. 본 논문에서는 DDS의 토픽 데이터에 대한 영속성을 제공하기 위해 DB-ReTiCoM을 제안하 , DDS-DB 연동을 위한 기법을 지원하기 위한 DDS-DB 엔진을 설계한다. 키워드: DDS-DB 연동 엔진, DB-ReTiCoM, 토픽, 실시간 Abstract Data Distribution Service for Real-Time Systems(DDS) is the OMG publish/subscribe standard that aims to enable scalable, real-time, dependable, high performance and interoperable data exchanges. DDS is an abstraction for real-time, one-to-many communication that provides anonymous, decoupled, and asynchronous communication between a publisher and its subscribers. Large numbers of publishers and subscribers on DDS can create huge amounts of Topic data. The commonly accepted approach to large-scale real-time data management is to use a database for persistence. This paper provides an integral solution for data distribution and database manage- ment in the real-time applications space. By integrating these standard technologies in our system, a service for efficient data distribution, storage, and retrieval is designed. We design a DDS-DB Engine which monitors an application’s published data and incoming (subscribed) data for real-time data persistence. This paper also concludes with general remarks and a discussion of future works. Keywords: DDS-DB interoperation engine, DB-ReTiCoM, topic, real-time

실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

202 정보과학회논문지 : 데이타베이스 제 40 권 제 3 호(2013.6)

․본 연구는 방 사업청과 국방과학연구소의 지원으로 수행되었습니다.(계약번호

UD100003KD)

논문 수

심사완료

:

:

2012년 9월 11일

2013년 1월 4일

††

†††

††††

비 회 원

학생회원

종신회원

비 회 원

:

:

:

:

충남 학교 컴퓨터공학과

[email protected]

충남 학교 컴퓨터공학과

[email protected]

충남 학교 컴퓨터공학과 교수

[email protected]

[email protected]

(Corresponding author임)

국방과학연구소 함정 투체계개발단 연구원

[email protected]

[email protected]

CopyrightⒸ2013 한국정보과학회ː개인 목 이나 교육 목 인 경우, 이 작

물의 체 는 일부에 한 복사본 혹은 디지털 사본의 제작을 허가합니다.

이 때, 사본은 상업 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처

를 반드시 명시해야 합니다. 이 외의 목 으로 복제, 배포, 출 , 송 등 모든

유형의 사용행 를 하는 경우에 하여는 사 에 허가를 얻고 비용을 지불해야

합니다.

정보과학회논문지: 데이타베이스 제40권 제3호(2013.6)

실시간 데이터 리를 한 데이터 분배

서비스와 데이터베이스 연동 엔진 설계(Design of Interoperation Engine between Data Distribution

Service and Database for Real-Time Data Management)

임 형† 손 윤 희

†† 최 훈

†††

(Hyung-Jun Yim) (Yun-Hee Son) (Hoon Choi)

김 수††††

정 용 환††††

이 규 철†††

(Chumsu Kim) (Yonghwan Jung) (Kyu-Chul Lee)

요 약 DDS는 발간/구독 모델에 기반하여 분산 환경을 한 데이터 심 로그램 모델에 한 표

화의 필요성에 의해 만들어진 신뢰성 있는 실시간 데이터 통신 미들웨어로 OMG 표 이다. DDS의 목

은 통신에 참여하는 응용 로그램의 치나 존재에 상 없이 실시간으로 데이터를 송할 수 있도록 복잡

한 네트워크 로그래 을 단순화하는 것이다. 하지만 DDS에서 발간/구독하는 토픽 데이터는 일회성의

성격을 가지지만 응용 로그램의 목 에 따라 도메인에서 발생한 데이터들을 장하고 후에 재사용할 필

요성이 있다. 본 논문에서는 DDS의 토픽 데이터에 한 속성을 제공하기 해 DB-ReTiCoM을 제안하

고, DDS-DB 연동을 한 기법을 지원하기 한 DDS-DB 엔진을 설계한다.

키워드: DDS-DB 연동 엔진, DB-ReTiCoM, 토픽, 실시간

Abstract Data Distribution Service for Real-Time Systems(DDS) is the OMG publish/subscribe

standard that aims to enable scalable, real-time, dependable, high performance and interoperable

data exchanges. DDS is an abstraction for real-time, one-to-many communication that provides

anonymous, decoupled, and asynchronous communication between a publisher and its subscribers.

Large numbers of publishers and subscribers on DDS can create huge amounts of Topic data.

The commonly accepted approach to large-scale real-time data management is to use a database

for persistence. This paper provides an integral solution for data distribution and database manage-

ment in the real-time applications space. By integrating these standard technologies in our system,

a service for efficient data distribution, storage, and retrieval is designed. We design a DDS-DB

Engine which monitors an application’s published data and incoming (subscribed) data for real-time

data persistence. This paper also concludes with general remarks and a discussion of future works.

Keywords: DDS-DB interoperation engine, DB-ReTiCoM, topic, real-time

Page 2: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

실시간 데이터 리를 한 데이터 분배 서비스와 데이터베이스 연동 엔진 설계 203

1. 서 론

함정 투체계(combat system)는 다양한 장비가 탑

재되는 분산된 시스템으로서 여러 제작사에서 제공하는

각종 센서와 무장 등을 다수의 다기능 콘솔들에 연동하

여 운용해야 하고 통신 네트워크에 한 의존도가 상당

히 높기 때문에, 통신 노드들의 환경 차이에 따른 상호

운용성과 신뢰성 등의 문제를 해결하기 해 통신 미들

웨어가 필요한 분야이다. 이러한 통신 환경에 합한 데

이터 분배 서비스(DDS: Data Distribution Service)[1]

는 국제표 단체인 OMG(Object Management Group)에

서 제정하는 데이터 심의 발간/구독(publish/subscribe)

미들웨어 표 이다.

재 DDS는 상용제품인 RTI(Real-Time Innovation)

DDS[2]가 선도하고 있으며 PrismTech OpenSplice

DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object

Computing Inc.) OpenDDS[5] 등이 있다. 국내에서는

최근 국방 소 트웨어의 국산화의 취지로 ETRI DDS

[6]가 있으며, 충남 학교의 ReTiCoM(Real-Time Com-

munication Middleware)[7]이 활발하게 연구되고 있다.

DDS를 이용한 실시간 통신은 도메인으로 규정한 장

치들간에 데이터 토픽(Topic)을 생성하여 발간/구독이

가능하다. 도메인 내의 발간자(publisher)는 DataWriter

를 통해 지속 으로 토픽을 발간하고, 구독자(subscriber)

는 미리 정한 토픽을 지속 으로 구독한다. 도메인에 참

여한 모든 참가자들(participants)이 실시간으로 발간/구

독되는 토픽에 해 동일한 정보를 장, 검색 는

리해야 한다(DDS의 참가자들은 엔터티들(Entities)로 토

픽을 발간하는 엔터티인 publisher, DataWriter와 구독

하는 엔터티인 subscriber, DataReader 등이 있다). 도

메인 내의 엔터티들은 실시간으로 량의 토픽을 생성

하기 때문에 이를 리하기 해서는 데이터베이스를

용할 필요성이 있다.

따라서 본 논문은 DDS의 특성을 반 한 ReTiCoM

을 기반으로 DDS와 DBMS를 이용하여 각각 발간/구독

하는 토픽을 장, 리하기 한 DB-ReTiCoM을 제

안한다. 한, DDS의 토픽 데이터에 한 속성(per-

sistence) 보장을 한 DDS-DB 연동 기법을 통해 데

이터베이스 기반의 DDS-DB 엔진을 설계함으로써 추후

함정 투체계에 응용 로그램의 목 에 맞는 빅데이터

분석(big data analysis) 등을 통해 군사 작 지원 능

력을 향상시킬 수 있다.

본 논문의 구성은 다음과 같다. 2장에서는 DDS2

DBMS와 DBMS2DDS의 발간/구독에 한 기법을 제

안하고, 3장에서 DDS-DB 연동 기법을 모두 지원하기

한 DDS-DB 엔진의 기능과 각 구성요소에 해 설

계한다. 4장에서는 DDS-DB 연동을 한 련 연구들

에 해 분석 비교하고, 마지막 5장에서 결론과 향후

연구방향에 하여 논한다.

2. DDS-DB 연동 기법

DDS는 22가지의 QoS DURABILITY QoS를 통해

토픽 데이터를 리를 지원한다. 하지만 DURABILITY

QoS는 VOLATILE, TRANSIENT_LOCAL, TRANS-

IENT, PERSISTENT의 4가지 kind를 선택하도록 되

어 있으며 DDS에서 토픽을 발간/구독할 경우 사용하는

송단 인 샘 (sample)은 네트워크 상의 송에 합

하도록 serialization되어 DataWriter와 DataReader에

각각 토픽을 유지하므로 응용 로그램에서 필요한 데이

터를 추출하기 해 추가 인 작업이 필요하다. 한, 4

가지의 kind PERSISTENT만 단순한 일 리로

속성을 보장하고 동일한 토픽을 발간/구독하는 Data-

Writer와 DataReader의 RxO(Requested/Offered)가

“Yes”로서 DataWriter 혹은 DataReader의 선택에 따

라 토픽을 각각 장, 리할 수 없으며 한 번 설정하면

변경하지 못하는 단 이 있다.

이러한 문제를 보완하고자 본 장에서는 DDS QoS와

련이 없이 DDS 특성은 그 로 유지하고 DDS와 DB

를 연동하기 한 기법을 제안한다. DDS는 참가자들이

발간/구독하는 역할을 동 으로 구성하며 각 참가자들이

주고받는 토픽을 GDS(Global Data Space)로 리하는

가상 공간의 개념을 기반으로 한다. 도메인 내에서 발생

하는 토픽은 참가자들이 실제로 가지고 있으며, 응용

로그램은 비동기 으로 GDS의 토픽을 발간/구독할 수

있다. 각 참가자들은 DDS와 DBMS를 포함하는 DB-

ReTiCoM을 통해 연동이 가능하다. 따라서, 응용 로그

램에 따라 DDS API 는 SQL API만 사용하여 DDS

를 통해 토픽을 발간/구독할 수 있다.

이를 통해 기존의 SQL를 기반으로 한 엔터 라이즈

응용 로그램은 DDS의 시맨틱이나 데이터 타입에 해

알지 못하더라도 DDS를 통해 토픽을 실시간으로 발간/

구독할 수 있는 장 을 지닌다. 반면에 DDS API를 이

용하는 응용 로그램은 SQL이나 ODBC 등의 표 을

알지 못하더라도 자동 으로 DBMS에 장한 데이터를

리하여 빅데이터 분석 등에 용할 수 있다(그림 1).

DDS는 도메인을 구성하기 때문에 도메인에 포함되어

특정 토픽에 해 실시간으로 구독하는 모든 참가자들

이 동일하게 장, 검색, 질의 리할 수 있어야 한

다. 이를 해서 DBMS의 테이블은 DDS의 토픽 형태

를 장할 수 있는 스키마를 구성해야 하고 반 로

DBMS에 반 된 데이터는 DDS를 통해 실시간으로 발

간해야 한다. 이를 해 필요한 연구는 DDS의 토픽은

Page 3: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

204 정보과학회논문지 : 데이타베이스 제 40 권 제 3 호(2013.6)

그림 1 DDS-DB 연동 기법

Fig. 1 DDS-DB Interoperation Mechanisms

그림 2 DDS-DB 연동 데이터 흐름도

Fig. 2 The Data Flow of DDS-DB Interoperation

OMG의 IDL(Interface Definition Language)[8]로 데

이터 타입을 정의하고 DBMS는 테이블 스키마로 구성

하는 것과 같이 각각의 특성을 반 하여 연동하기 한

메타 모델 변환이며 이는 [9]를 참고한다.

2.1 DDS2DBMS 연동 기법

DDS2DBMS 연동은 그림 2의 DB-ReTiCoM의 발간

부분(왼쪽의 빨간 사각형 안의 녹색 부분에 해당)과

DB-ReTiCoM의 구독 부분(오른쪽의 빨간 사각형 안의

녹색 부분에 해당)으로 나뉘어진다. DDS2DBMS 발간

은 DDS 응용 로그램에서 목 에 따라 생성/삭제하는

토픽을 GDS에 발간하는 동시에 DBMS에 장하는 연

동이고, DDS2DBMS 구독은 DDS 응용 로그램에 의

해 발간된 토픽을 구독하는 DDS 응용 로그램에게 토

픽의 속성을 제공하기 해 DBMS에 장한다.

2.2 DBMS2DDS 연동 기법

DBMS2DDS 연동은 그림 2의 DB-ReTiCoM의 발간

부분(왼쪽의 빨간 사각형 안의 격자 무늬에 해당)과

DB-ReTiCoM의 구독 부분(오른쪽 빨간 사각형 안의

격자 무늬에 해당)으로 나뉘어지는데 DDS2DBMS와 달

리 연동을 하는 주체가 DBMS이다. DBMS2DDS 발간

Page 4: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

실시간 데이터 리를 한 데이터 분배 서비스와 데이터베이스 연동 엔진 설계 205

그림 3 DB-ReTiCoM 구조

Fig. 3 DB-ReTiCoM Structure

은 DBMS 응용 로그램에서 목 에 따라 DBMS에 SQL

의 INSERT/UPDATE/DELETE연산을 하는 토픽을 DDS

를 통해 자동 으로 GDS에 발간하고, DBMS2DDS 구

독은 DBMS 응용 로그램에 의해 발간된 토픽을 구독

하는 DDS 응용 로그램에게 토픽의 속성을 제공하기

해 DBMS에 장한다.

3. DDS-DB Engine 설계

본 장에서는 그림 3과 같이 DDS-DB 연동 기법을 지

원하기 한 임워크인 DB-ReTiCoM의 DDS-DB

엔진 구성요소에 해 다룬다. 본 연구는 DDS의 표 인

DCPS(Data Centric Publish/Subscribe)[1]와 RTPS(Real-

Time Publish/Subscribe)[1]를 모두 만족하는 ReTiCoM

을 기반으로 한다. DDS-DB 엔진은 DDS와 DBMS를

연동하기 해 DDS-DB 리지를 통해 토픽을 발간/구

독할 경우 DDS API와 SQL API를 각각 호출한다.

3.1 Storage Manager

Storage Manager는 DDS의 DataWriter를 통해 발

간되는 토픽과 DataReader를 통해 구독되는 토픽을 각

각 DBMS에 장하는 기능을 담당한다. 이는 DDS나

DBMS 응용 로그램을 통해 발간/구독된 토픽을 DDS-

DB 리지를 통해 달받아 DBMS에 장하는 것으로

미리 발간/구독하는 토픽 데이터에 해당하는 테이블 스

키마를 생성한다. 앞서 언 한 것과 같이 DDS는 sample

로 주고받기 때문에 DataReader에 의해 구독한 토픽에

해서는 DBMS에 장하기 한 deserialization 과정

이 필요하다. 이와 함께 DDS의 토픽은 상속이나 토픽

간의 계성을 띨 수 있어 하나의 토픽을 변경하는 경우

그와 련된 토픽을 자동으로 감지하여 DDS의 GDS에

발간을 요청하는 기능을 한다.

3.2 Tx Monitor

Tx Monitor는 그림 4와 같이 일정 주기마다 DBMS

의 트랜잭션을 감지하여 변경된 내용을 DDS를 통해

GDS에 발간하는 기능을 담당한다. 이는 DBMS 응용

로그램에서 SQL의 INSERT, UPDATE, DELETE 연

산을 수행하면 Tx Monitor가 자동 으로 감지하여 GDS

로 발간한다. DBMS의 트랜잭션을 실시간으로 감지하

기 해서 트랜잭션이 수행될 때마다 작성되는 로그

일을 주기 으로 확인한다.

그림 4 Tx Monitor 동작과정

Fig. 4 The Operational Process of Tx Monitor

3.3 DDS Filter

DDS Filter는 DDS의 DataReader를 통해 구독하는

토픽이 DBMS에 이미 반 된 토픽 데이터인지 확인하

여 복으로 DBMS에 장하는 것을 방지한다.

DDS Filter는 2가지의 경우에서 동작하는데 첫 번째

Page 5: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

206 정보과학회논문지 : 데이타베이스 제 40 권 제 3 호(2013.6)

표 1 련연구 비교

Table 1 The Comparison of Related Works

Comparison Items RTI DDS OpenSplice DDS DBReTiCoM

DDS-DB Interoperation

Mechanism

DBMS Store/Retrieval ○ ○ ○

Synchronization ○ △ ○

Filtering ○ X ○

DBMS Tx Detection ○ △ ○

DBMS Typedisk/memory disk/memory disk memory

DBMS Model Relational Relational Object‐Relational

DDS Topic Structure Original Topic Structure X X ○

그림 5 DDS Filter 동작과정

Fig. 5 The Operational Process of DDS Filter

경우는 하나의 DDS 응용 로그램에서 토픽을 다수의

DataReader에 의해 구독하는 경우와 DDS Reader가

시스템 장애를 일으켜 복구되어 DURABILITY QoS의

kind가 TRANSIENT로 설정되어 있어 토픽을 다시 구

독하는 경우이다. 그림 5는 DDS Filter가 동작하는 과

정으로 의 2가지 경우를 검사하여 Storage Manager

에게 복 장하지 않도록 한다.

3.4 Synchronizer

DDS의 토픽을 구독하는 DB-ReTiCoM에 오류가 발

생 했을 때 오류 발생하고 오류가 복구 되어 다시 동작

하기까지의 시간 동안에는 토픽을 구독하지 못한다.

Synchronizer는 오류 발생 시간 동안 구독하지 못한 토

픽을 DBMS에 반 하기 해 동일한 토픽을 수신하는

다른 노드와 동기화를 수행한다. DDS 응용 로그램이

생성되는 경우 동일한 토픽을 구독하는 DataReader에

장된 데이터와 DBMS를 동일하게 유지하기 한 복제

(replication)하는 경우와 토픽을 구독하는 DB-ReTiCoM

이 장애가 생길 경우 DBMS에 반 하지 못한 토픽에

해 동일한 토픽을 구독하는 DataReader의 DBMS와 동

기화하는 기능을 담당한다.

3.5 Metadata Manager

발간/구독을 담당하는 DataWriter와 DataReader에

한 메타데이터 리한다. Metadata Manager에게 정

보를 요청하는 경우는 DBMS 응용 로그램을 통한 DDS

발간을 해 DDS-DB 리지를 통해 DDS의 Data-

Writer 정보를 유지할 경우와 Synchronizer를 통한 동

기화 수행을 해 DDS-DB 리지를 통해 DDS의

DataReader 정보를 유지하는 경우로 나뉜다.

4. 련 연구 비교

이번 장에서는 DDS-DB 연동을 한 기존의 연구에

해 살펴본다. DDS와 DBMS 연동은 선도 인 연구

분야로 RTI DDS와 PrismTech OpenSplice DDS만

지원한다. OpenDDS는 토픽을 구분하기 한 ID를

일로 리할 뿐 토픽을 장, 리하는 기능을 지원하지

못하므로 비교 상에서 제외한다.

4.1 RTI DDS

RTI DDS는 DDS-DB 연동을 해 DDS API와 SQL

API를 지원하는 RTI Connext[10]를 제공한다. 이는

DDS와 DBMS 사이의 리지[11]를 통해 DDS는 임베

디드 환경의 분산 데이터베이스를 지원하는 반면 DBMS는

DDS의 토픽 데이터에 한 속성을 보장한다.

4.2 PrismTech OpenSplice DDS

RTI DDS와 더불어 활발히 연구를 진행하고 있으며

DBMSConnect[12]을 통해 실시간성을 제공하는 DDS

와 엔터 라이즈 DBMS 응용 로그램과의 이음새 없는

연동을 지원한다.

표 1은 련연구와의 비교표로 DDS와 DB를 연동하

는 표 은 제정되지 않은 상태이고, RTI DDS와 Open-

Splice DDS의 DBMS 연동 부분을 분석하여 비교 상

으로 선정하 다.

DDS-DB 연동 기법은 크게 5가지로 나뉘어지는데

DBMS 장/검색은 3개의 연구 모두 SQL을 지원하고,

ODBC나 JDBC를 통한 연동의 편의성을 제공한다. 동

기화는 DDS의 GDS에 존재하는 참가자들이 특정 토픽

을 발간/구독한다면 동일한 정보를 유지해야 하는데

RTI DDS의 경우는 분산 DB와 같은 개념으로 지원하

고 있으며 OpenSplice DDS는 미리 정의된 특정 테이

Page 6: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

실시간 데이터 리를 한 데이터 분배 서비스와 데이터베이스 연동 엔진 설계 207

블끼리만 복제(replication)하는 제한이 있는 반면 DB-

ReTiCoM은 Metadata Manager를 통해 동일한 토픽을

구독하는 노드에 한 정보를 획득하여 새로 생성하는

노드와 시스템 장애에 의해 구독하지 못한 토픽이 있는

경우 동기화를 수행한다. 발간/구독하는 토픽에 해

복으로 DBMS에 반 하지 않기 해 RTI DDS는 DBMS

Change Filter와 DDS Change Filter로 DBMS/DDS

각각 분리하여 동작하도록 하며, OpenSplice DDS는 지

원하지 않지만 DB-ReTiCoM은 동일한 토픽에 다수의

DataReader가 있는 경우와 시스템 장애로 인해 기존에

구독한 토픽을 다시 수신하는 경우로 나뉘어 제공한다.

DBMS 감지는 DBMS 응용 로그램에 의해 변경된 테

이블 정보를 감지하여 DDS로 발간하는 기능은 RTI

DDS와 DB-ReTiCoM에서 각각 지원하지만 OpenSplice

DDS는 미리 정의된 토픽에 해당하는 테이블만 감지하

여 GDS에 발간한다.

기존의 련 연구들은 계형 데이터베이스를 통해

토픽 데이터의 속성을 지원하는 특징을 공통으로 가

진다. 하지만 DDS에서 사용하는 토픽은 OMG의 IDL

로 객체 모델을 지원하기 때문에 상충되는 문제 을 지

닌다. DDS의 토픽을 계형 데이터베이스의 테이블로

장할 경우 여러 개의 테이블로 나 어 장되므로 원

형을 유지하기 어렵고, 테이블에 장된 데이터를 원형

의 토픽 형태로 변환하기 해서는 비싼 조인(join) 연

산이 이루어져야 한다. 한, 토픽을 변경하려면 사용자

가 련 테이블을 일일이 찾아서 변경해 주어야 하는

문제 을 내포한다. 반면 DB-ReTiCoM의 경우 객체

계형 데이터베이스인 FastDB[13]을 통해 DDS 토픽을

원형 그 로 사용하고 련된 토픽을 자동 으로 추출

하는 기능을 제공한다.

5. 결 론

국제표 인 OMG의 DDS는 동 으로 네트워크 데이

터 도메인을 형성하여 센서나 임베디드 장치들이 네트

워크 도메인에 자유로운 참여나 탈퇴가 가능한 발간/구

독 환경을 제공한다.

DDS는 발간/구독하는 가상의 채 인 토픽을 기반으

로 송수신하는 데이터는 sample 단 로 응용 로그램

목 에 맞게 사용된다. 하지만 DDS를 통해 실시간으로

송수신하는 토픽 데이터의 속성을 보장하여 빅데이터

분석 등에 용할 수 있는 장 이 있다. 실시간 데이터

에 한 리는 데이터베이스 연동과 필수 으로 결합

해야 하며 본 논문에서는 DB-ReTiCoM의 제안으로

DDS-DB 연동을 한 기법을 제안하 다. 한 DDS-DB

엔진의 구성요소를 설계하여 데이터베이스에 반 할 수

있도록 하 으며 DDS는 분산 데이터베이스의 성격을

지원하고, DBMS는 DDS의 토픽 데이터에 한 속성

을 제공하여 유기 인 연동이 가능하 다.

추후 본 논문의 설계를 기반으로 ReTiCoM과 DDS-DB

Bridge를 통해 DDS-DB 엔진의 기능검증이 필요하며

DDS의 실시간 토픽 데이터를 반 하기 한 메인 메모

리 기반의 데이터베이스 성능측정을 할 계획이다.

참 고 문 헌

[ 1 ] Object Management Group, "Data Distribution

Service for Realtime Systems," v1.2, 2007.

[ 2 ] Real-Time Innovations DDS [Online]. Available:

http://www.rti.com/

[ 3 ] PrismTech OpenSplice DDS [Online]. Available:

http://www.opensplice.com/

[ 4 ] Twin Oaks CoreDX DDS [Online]. Available:

http://www.twinoakscomputing.com/coredx

[ 5 ] Object Computing Inc., OpenDDS [Online]. Available:

http://www.opendds.org/

[ 6 ] ETRI DDS [Online]. Available: http://www.etri.re.kr/

bbs/view.etri?b_board_id=ENG02&b_idx=13356

[ 7 ] C. B. Park, K. J. Kwon, D. H. Cha, H. Choi, C. S.

Kim, "Design and Analysis of the Data Distribu-

tion Service System," Journal of KIISE: Computer

Systems and Theory, vol.14, no.2, pp.211-215, Apr.

2008. (in Korean)

[ 8 ] Object Management Group, "Common Object Request

Broker Architecture (CORBA)," v3.0, 2002.

[ 9 ] H. W. Lee, Y. H. Son, H. J. Yim, H. Choi, H. M.

Chang, C. S. Kim, K. C. Lee, "A Study of

Mechanism for Interoperation of DDS and DB,"

Proc. of the Federation of Knowledge Information

Societies Congress 2011, pp.73-76, 2011. (in Korean)

[10] Real-Time Innovations, "RTI Real-Time Connect

for RTI Data Distribution Service User’s Manual,"

v4.5, 2011.

[11] Fernando Crespo Sanchez, Rajive Joshi, Gerardo

Pardo-Castellote, "data distribution service and

database management systems bridge," United

State Patent, no. US 7,533,128 B1, May 12, 2009.

[12] PrismTech, "OpenSplice DDS Development Guide,"

v4.1, 2009.

[13] FastDB [Online]. Available: http://www.garret.ru/

fastdb/FastDB.htm

임 형

2007년 충남 학교 기정보통신공학부

컴퓨터 공 학사. 2007년~2009년 충남

학교 학원 컴퓨터공학 석사. 2009년~

재 충남 학교 학원 컴퓨터공학 박

사과정. 심분야는 사물 인터넷(IoT),

웹서비스, 유비쿼터스 웹서비스(UWS)

Page 7: 실시간 데이터 관리를 위한 데이터 분배 서비스와 데이터베이스 연동 … · DDS[3], Twin Oaks CoreDX DDS[4], OCI(Object Computing Inc.) OpenDDS[5] 등이 있다

208 정보과학회논문지 : 데이타베이스 제 40 권 제 3 호(2013.6)

손 윤 희

2011년 충남 학교 기정보통신공학부

컴퓨터 공 학사. 2011년~2013년 충남

학교 학원 컴퓨터공학 석사. 2013

년~ 재 충남 학교 학원 컴퓨터공학

박사과정. 심분야는 분산 시스템, Linked

Open Data(LOD)

최 훈

1983년 서울 학교 컴퓨터공학 학사. 1990

년 미국 Duke University 석사. 1993년

미국 Duke University 박사. 1996년~

재 충남 학교 컴퓨터공학과 교수. 심

분야는 분산시스템, 미들웨어

김 수

1996년 인하 학교 자계산공학과 학사

1996년~1998년 주과학기술원 정보통

신공학과 석사. 1998년~ 재 국방과학

연구소 함정 투체계개발단 재직 . 심

분야는 분산시스템, 데이터베이스, 정보

통신

정 용 환

2004년 경북 학교 자 기공학과 학사

2006년 한국과학기술원 기 자공학과

석사. 2006년~ 재 국방과학연구소 함

정 투체계개발단 재직 . 심분야는 분

산시스템, 데이터베이스, 이동통신

이 규 철

1984년 서울 학교 컴퓨터공학 학사. 1986

년 서울 학교 컴퓨터공학 석사. 1990년

서울 학교 컴퓨터공학 박사. 1989년~

재 충남 학교 컴퓨터공학과 교수. 1989

년 3월~1994년 6월 미국 IBM Almaden

Research Center 빙연구원. 1995년 8

월~1996년 8월 미국 Syracuse University, CASE Center

빙 교수. 1997년 1월~1998년 1월 교육부 학술진흥재단

부설 첨단학술센터 견 교수. 2009년 8월~ 재 웹코리아

포럼 의장. 2009년 10월~ 재 정보통신사업진흥회 포럼 의

장. 2009년 11월~ 재 KISTI 정보화사업 평가 원회

원. 심분야는 데이터베이스, XML, 정보 통합, 사물 인터

넷(IoT)