근래에 아키텍처 스타일 정의 시 마이크로서비스 아키텍처가 많은 부분 차지하고 있다. 마이크로서비스 아키텍처는 전통적인 서비스 지향 아키텍처 스타일의 진화된 형태로 시스템을 매우 밀접한 비즈니스 기능을 수행하기 위한 소형 경량 서비스로 분할하는 것에 중점을 두고 있다. 그리고 데이터는 신성하지 않으며 부정확할 수 있음을 인정하며 오직 개발 편리성을 위해서 데이터 품질을 희생될 수 있음을 강조한다. 비즈니스 의사결정을 위한 데이터 활용을 위해서는 데이터베이스 구조와 데이터 의미를 파악해야만 한다. 이를 위해서 데이터베이스 리버스 엔지니어링은 필수적이다. 하지만 이러한 데이터 품질을 경시하는 환경에서는 기존 방법은 적용에 어려움이 있어, 마이크로서비스 아키텍처 환경에서도 적용 가능한 데이터베이스 리버스 엔지니어링 방법의 연구가 필요하다. 마이크로서비스 아키텍처에서는 개념 스키마는 관심사항이 아니므로, 개념 데이터 모델링을 생략하고 빠른 개발 속도를 위해서 쿼리 중심으로 데이터 구조를 설계한다. 단순한 기능을 개발하는 데이터 구조 설계 방법으로 당장에는 빠르지만, 새로운 요구 사항이 늘어나면서 이를 수용하기 위해 유사한 데이터 구조가 늘어나고 복잡도는 계속 증가한다. 결국, 데이터 분석을 위한 데이터 해석 어려워지고 데이터 통합은 불가능해진다. 본 논문에서는 이러한 데이터 구조 식별과 해석이 어려운 환경에서도 활용할 수 있는 데이터베이스 리버스 엔지니어링 방법을 제시하고 검증하였다. 제안 데이터베이스 리버스 엔지니어링 방법은 물리 데이터 모델 복구, 논리 데이터 모델 복구 그리고 개념 데이터 모델 복구 3단계로 구성된다. 물리 데이터 모델 복구은 데이터 모델링 도구 기능을 활용하여 대상 데이터베이스의 데이터 구조를 그대로 복원하여 초기 데이터 모델을 만든다. 논리 데이터 모델 복구은 기존 연구의 알고리즘을 활용하여 후보 키와 참조 키를 복원하고 이를 기반으로 릴레이션쉽 타입과 카디널리티를 초기 데이터 모델에 추가한다. 개념 데이터 모델 복구은 트랜잭션 데이터 발생의 주체가 되는 마스터 데이터를 활용하여 데이터 모델을 복원한다. 제안한 복원 방법은 트랜잭션 데이터에 마스터 데이터 속성이 있다면 트랜젹션 데이터에서 삭제하고 마스터 데이터의 속성으로 통합한다. 그 결과, 데이터 구조와 의미 파악이 용이해진다. 이 방법의 장점은 데이터 품질이 좋지 않은 환경에서도 쉽게 적용 가능하고 데이터 모델 품질도 향상시킨다. 제안 데이터베이스 리버스 엔지니어링 방법을 검증하기 위해서, 마이크로서비스 아키텍처 기반에서 구현된 13개 데이터베이스를 대상으로 기존 방법으로 생성된 데이터 모델 품질과 마스터 데이터를 활용한 제안 방법의 데이터 모델 품질을 비교하는 실험을 수행하였다. 마스터 데이터는 Party와 상품만 활용한다. 측정 변수는 개념 데이터 모델에서 직접 얻을 수 있는 객관적 지표이며, 이론 검증 및 실험 검증이 된 지표를 선택했다. 이러한 기준으로 선택된 측정 변수는 정규형 측정지표 1개, 개념 데이터 모델 구조 복잡도 측정지표 15개 (Genero 제안 측정 지표 8개, Piattini 제안 측정 지표 7개), 네트워크 복잡도 측정지표 3개이다. 이들 지표들을 사용하여 측정한 결과, 평균 정규형 (AvgNmF)은 증가하여 (2.08 ? 2.83) 데이터 모델 품질이 향상된 것으로 나타났다. 기존 방법 대비 제안 방법의 개념 데이터 모델 구조 복잡도는 대부분 증가 했다. Genero가 제안한 측정 변수들 중에서 NE (11 -> 17.8), NA (139.60 ? 145.60), NR (9.7 ? 19.5), N1:NR(6.4 ? 16.7) 는 복잡도가 증가했다. 그러나 추가된 마스터 데이터의 NE (10개), NR(10~12개)와 비교하면 NE, NR, N1:NR의 복잡도 증가는 마스터 데이터를 추가한 만큼만 증가하였다고 할 수 있다. NA의 복잡도 증가는 추가된 마스터 데이터의 NA (42개) 보다 작으므로 추가된 마스터 데이터의 NA를 제외하면 줄었다고 할 수 있다. Genero의 제안 측정 변수 N1:1R (3.3 -> 2.8) 은 복잡도가 감소했는데, 개념 데이터 모델에서 1:1 릴레이션쉽 타입은 개념적으로 동일한 엔티티 타입이므로 통합 대상이다. 마스터 데이터의 활용은 통합 대상인 1:1 릴레이션쉽 타입을 줄이는 효과가 있었다. Piattini가 제안한 측정 변수의 증가와 감소는 다음과 같다. RvsE (0.21 ? 0.27)은 마스터 데이터의 활용으로 엔티티 타입 수 증가대비 릴레이션쉽 타입 수 증가가 더 크다는 의미이다. 1:N Rel(0.72 ? 0.87)은 증가된 릴레이션 타입의 대부분이 1 : N 릴레이션 타입이란 의미이다. EAvsE (0.86 ? 0.78)은 마스터 데이터의 활용으로 엔티티 타입 수 증가 대비 속성 수 증가가 더 작다는 의미이다. 1:1 Rel (0.28 ? 0.13)은 복잡도가 감소했는데, 마스터 데이터 활용으로 1:1 릴레이션 타입 수가 줄어든 효과이다. 네트워크 복잡도는 기존 방법 대비 제안 방법이 AvgDeg (1.64 ? 2.17), AvgGeoDist (2.1 ? 3.17),MaxGeoDist (4 ? 6.6)으로 모두 증가하였지만, (Hillard 2010)에서 제시한 복잡도 관리 기준 AvgDeg (4), AvgGeoDist (4),MaxGeoDist (10)을 초과 하지 않았기 때문에 관리할 수 있는 수준에서 네트워크 복잡도는 증가 했다. 실험 결과의 통계적 유의성을 판단하기 위해서 기존 방법 혹은 제안 방법이 정규성을 따를 경우 대응 표본 t-검정을 정규성을 따르지 않을 경우 Wilcoxon검정을 활용한다. 검정 결과 AvgNmF, NE, NR, N1:NR, RvsE, EAvsE, 1:N Rel ,1:1 Rel ,AvgDeg, AvgGeoDist, MaxGeoDist 에서 통계적으로 유의한 차이를 보였다.
When defining an architecture style in recent years, microservices architecture has been dominant. Microservice architecture is an evolutionary form of traditional service-oriented architecture style and It focuses on partitioning the system into small and lightweight services that are built for performing very close business functions. And it emphasizes that data is not sacred and data is inaccurate, and that data quality can be sacrificed only for development convenience. To use data for business decision making, we must understand the database structure and the meaning of the data. Therefore, database reverse engineering is essential for this. However, in an environment that neglects data quality, conventional methods are difficult to apply and research is required on database reverse engineering methods that are also applicable in microservice architecture environments. The conceptual schema is not a concern in the microservice architecture, so the conceptual data modeling is omitted and the data structure is designed to be query-oriented for rapid development speed. Data structure design for simple functional development is fast at the moment, but similar data structures must be increased to meet new requirements, and eventually, data interpretation and integration for data analysis becomes impossible. In this paper, we propose and verify a database reverse engineering method that can be used in environments where it is difficult to identify and interpret data structures. The proposed database reverse engineering method consists of 3 steps: physical data model recovery, logical data model recovery, and conceptual data model recovery. Physical data model recovery utilizes the data modeling tool function to restore the data structure of the target database to create an initial data model. Logical data model recovery restores the candidate key and the reference key by using the algorithm of existing research and adds relation type and cardinality to the initial data model based on the algorithm. The conceptual data model recovery utilizes the master data that is the subject of transaction data generation to restore the data model. The proposed recovery method deletes the attributes of transaction data and integrates them into the attribute of the master data if the transaction data has the master data attribute. As a result, the data structure and meaning can be grasped easily. The advantage of this method is that it is easily applicable even in poor data quality environments and improves the data model quality. An experiment was conducted to compare the data model quality generated by the conventional method with that generated by the proposed method using the master data in order to verify the reverse engineering method of the proposed database by using 13 service databases implemented on the basis of the microservice architecture in order to verify the reverse engineering method of the proposed database. Master data is used only with Party and Products. The measurement variables are objective indicators that can be obtained directly from the conceptual data model, and selected indicators that have been theoretically and experimentally verified. The selected measurement variables on these criteria are 1 metric for average of normal form, conceptual data model structure complexity metrics (8 Genero proposed metrics, 7 Piattini proposed metrics), and 3 network complexity metrics. The data model quality is improved by increasing AvgNmF (2.08-> 2.83) of the proposed method, but the complexity of the conceptual data model structure of the proposed method is almost increased compared to the conventional method. The measurement variables proposed by Genero, NE (11-> 17.8), NA (139.60-> 145.60), NR (9.7-> 19.5) and N1: NR (6.4-> 16.7), have increased complexity. However, it can be said that the increase in complexity of NE, NR, N1: NR is increased by the amount of added master data as compared to NE (10) and NR (10 to 12) of added master data. Since the increase in complexity of the NA is smaller than the NA (42) of the added master data, it can be said that the NA of the added master data is reduced. The measurement variables proposed by Genero, N1: 1R (3.3-> 2.8), has been reduced in complexity. In the conceptual data model, the 1: 1 relation type is conceptually the same entity type and therefore is an integration target. Utilizing master data has the effect of reducing the 1: 1 relationship type that is the target of integration. The increase and decrease of the measurement variable proposed by Piattini are as follows. RvsE (0.21 -> 0.27) means the increase in the number of relationship types more than the increase in the number of entity types due to the use of master data. 1: N Rel (0.72 -> 0.87) means that most of the incremented relationship types are 1: N relationship types. EAvsE (0.86 -> 0.78) means that the increase in the number of attributes is smaller than the increase in the number of entity types due to the use of master data. 1: 1 Rel (0.28 -> 0.13) has reduced complexity because master data utilization makes the number of 1: 1 relation types reduce. The network complexity, AvgDeg (1.64-> 2.17), AvgGeoDist (2.1-> 3.17), MaxGeoDist (4-> 6.6), is increased by the proposed method compared to the conventional method, Since the complexity management criteria in (Hillard 2010), which are AvgDeg (4), AvgGeoDist (4), MaxGeoDist (10), are not exceeded, the network complexity has increased at the level that can be managed. In order to determine the statistical significance of the experimental results, if the conventional method or the proposed method follows normality, the paired sample t-test was used and if they do not follow normality, the Wilcoxon test was used. As a result of the test, statistically significant differences were shown for AvgNmF, NE, NR, N1: NR, RvsE, EAvsE, 1: NRel, 1: 1 Rel, AvgDeg, AvgGeoDist, MaxGeoDist.
목차
I. 서론 11. 연구 배경 12. 연구 목적 23. 연구 방법 44. 연구의 구성 5II. 이론적 배경 및 관련 연구 61. 마스터 데이터 61.1. 기업 데이터 종류 61.2. 마스터 데이터의 정의 72. 데이터베이스 리버스 엔지니어링 112.1. 데이터베이스 설계 단계의 이해 112.2. 데이터베이스 설계 단계의 데이터 모델 변환 과정 142.3. 데이터베이스 리버스 엔지니어링 단계 162.4. 데이터베이스 리버스 엔지니어링 방법 18III. 마스터 데이터를 활용한 데이터베이스 리버스 엔지니어링 231. 마스터 데이터 활용의 유용성 232. 마스터 데이터를 활용한 데이터베이스 리버스 엔지니어링 단계 282.1. 물리 데이터 모델 복구 292.2. 논리 데이터 모델 복구 302.3. 개념 데이터 모델 복구 31IV. 제안 데이터베이스 리버스 엔지니어링 방법의 검증 361. 실험 모형 설계 361.1. 적용 대상 데이터베이스 361.2. 실험 방법 381.3. 데이터 모델 품질 측정 변수 392. 데이터 분석 482.1. 실험 데이터 결과 비교 482.2. 정규성 검증 722.3. 기존 방법과 제안 방법 간 차이 검증 732.4. 검증 결과 요약 76V. 결론 791. 연구 요약과 실험 결과 해석 792. 연구의 시사점 833. 연구의 한계와 향후 연구 방향 85참고문헌 87Abstract 96[부록 1] Alhajj’s 후보 키와 참조 키 복원 알고리즘 100[부록 2] 복원 데이터 모델 109