DOI QR코드

DOI QR Code

Database Reverse Engineering Using Master Data in Microservice Architecture

마스터 데이터를 활용한 마이크로 서비스 아키텍처에서의 데이터베이스 리버스 엔지니어링

  • Received : 2019.03.14
  • Accepted : 2019.03.26
  • Published : 2019.05.31

Abstract

Microservice architecture focuses on dividing it into small and lightweight services to build for the purpose of performing very close business functions. So it tends to concentrate only on agility, productivity, reliability, and ease of deployment of software development. Microservice architecture considers database as just a file or storage for storing and extracting data, emphasizing that data quality can be sacrificed for convenience and scalability of software development. Database reverse engineering for understanding database structure and data semantics is needed for data utilization for business decision making. However, it is difficult that reverse database engineering is applied in microservice architecture that neglects data quality. This study proposes database reverse engineering method that utilizes master data to restore the conceptual data model as a solution. The proposed method is applied to the return service database implemented by microservice architecture and verified its applicability.

마이크로 서비스 아키텍처는 매우 밀접한 비즈니스 기능을 수행하기 위한 목적으로 시스템을 소형 경량 서비스로 분할하는 것에 중점을 두고 있기 때문에 민첩성, 개발 생산성, 신뢰성, 배포 용이성에만 집중하는 경향이 있다. 마이크로 서비스 아키텍처에서 바라보는 데이터베이스는 단지 데이터를 저장하고 추출하는 파일 혹은 스토리지이며, 소프트웨어 개발 편리성과 확장성을 위해서 데이터 품질은 희생될 수 있음을 강조한다. 데이터베이스 구조와 데이터 의미를 이해하기 위해 사용되는 데이터베이스 리버스 엔지니어링은 비즈니스 의사 결정을 위한 데이터 활용을 위해 필요하다. 하지만, 데이터 품질을 경시하는 마이크로 서비스 아키텍처에서는 리버스 데이터베이스 엔지니어링 적용에 어려움이 있다. 본 연구는 해결책으로써 개념 데이터 모델 복원 시 마스터 데이터를 활용한 데이터 리버스 엔지니어링 방법을 제안한다. 적용 사례로 마이크로 서비스 아키텍처로 구현된 반품 서비스 데이터베이스에 제안 방법을 구현하여 적용 가능성을 검증하였다.

Keywords

HOJBC0_2019_v23n5_523_f0001.png 이미지

Fig. 1 Reverse Database Engineering Steps Using Master Data

HOJBC0_2019_v23n5_523_f0002.png 이미지

Fig. 2 Master Data and Transaction Data

Table. 1 Database Reverse Engineering Steps

HOJBC0_2019_v23n5_523_t0001.png 이미지

Table. 2 Database Reverse Engineering Methods

HOJBC0_2019_v23n5_523_t0002.png 이미지

Table. 3 Algorithms for Logical Data Model Recovery

HOJBC0_2019_v23n5_523_t0003.png 이미지

Table. 4 Logical Data Model

HOJBC0_2019_v23n5_523_t0004.png 이미지

Table. 5 Conceptual Data Model

HOJBC0_2019_v23n5_523_t0005.png 이미지

Table. 6 Results of Reverse Database Engineering

HOJBC0_2019_v23n5_523_t0006.png 이미지

Table. 7 Detail of Entity type count

HOJBC0_2019_v23n5_523_t0007.png 이미지

References

  1. M. Fowler, and J. Lewis, Microservices a definition of this new architectural term [Internet]. Available: http://martinfowler.com/articles/microservices.html , 2014.
  2. R. Rodger, The Tao of Microservices. Manning Publications Company, 2016.
  3. F. Bugiotti, L. Cabibbo, P. Atzeni, and R. Torlone, "Database design for NoSQL systems," In International Conference on Conceptual Modeling, pp. 223-231, Oct. 2014.
  4. R. Hernandez, Y. Becerra, and J. Torres, "Automatic query driven data modelling in Cassandra," Procedia Computer Science, 51, pp. 2822-2826, 2015. https://doi.org/10.1016/j.procs.2015.05.441
  5. A. Chebotko, A. Kashlev, and S. Lu, "A big data modeling methodology for Apache Cassandra," In 2015 IEEE International Congress on Big Data, pp. 238-245, Jun. 2015.
  6. K. C. Shin, C. H. Hwang, and H. K. Jung, "Study on NoSQL Data Modeling," In INTERNATIONAL CONFERENCE ON FUTURE INFORMATION & COMMUNICATION ENGINEERING, vol. 8, no. 1, pp. 285-287, 2016.
  7. P. Atzeni, F. Bugiotti, L. Cabibbo, and R. Torlone , "Data modeling in the NoSQL world," Computer Standards & Interfaces, 2016.
  8. D. Pasqualin, G. Souza, E. L. Buratti, E. C. de Almeida, M. D. Del Fabro, and D. Weingaertner, "A case study of the aggregation query model in read-mostly nosql document stores," In Proceedings of the 20th International Database Engineering & Applications Symposium, pp. 224-229, Jul. 2016.
  9. K. Shin, C. Hwang, and H. Jung, "NoSQL database design using UML conceptual data model based on Peter Chen's framework," International Journal of Applied Engineering Research, vol. 12, no. 5, pp. 632-636, 2017.
  10. C. Y. Lee, Business Ingelligence & Data Analysis, Kookmin University Press, 2016.
  11. J. L. Hainaut, J. Henrard, D. Roland, V. Englebert, and J. M. Hick, "Structure elicitation in database reverse engineering. In Reverse Engineering," Proceedings of the Third Working Conference on IEEE, pp. 131-140, Nov. 1996.
  12. M. Blaha, "On reverse engineering of vendor databases," Proceedings Fifth Working Conference on Reverse Engineering, Honolulu: Hl, pp. 183-190, Oct. 1998.
  13. H. L. Chiang, T. M. Barron, and V. C. Storey, "Reverse engineering of relational databases: Extraction of an EER model from a relational database," Data & Knowledge Engineering, vol. 12, no. 2, pp. 107-142, Mar. 1994. https://doi.org/10.1016/0169-023X(94)90011-6
  14. C. Batini, S. Ceri, S. B. Navathe, "Conceptual Database Design - An Entity-Relationship Approach," Benjamin/Cummings, 1992.
  15. J. M. Petit, J. Kouloumdjian, J. F. Boulicaut, and F. Toumani, "Using Queries to Improve Database Reverse Engineering," Proceeding ER '94 Proceedings of the13th International Conference on the Entity-Relationship Approach, Manchester, pp. 369-386, Dec. 1994.
  16. W. J. Premerlani, and M. R. Blaha, "An approach for Reverse Engineering of Relational Databases," Proceedings Working Conference on Reverse Engineering, Baltimore, pp. 151-160, May. 1993.
  17. R. Alhajj, "Extracting the extended entity-relationship model from a legacy relational database," Information Systems, vol. 28, vol. 6, pp. 597-618, 2003. https://doi.org/10.1016/S0306-4379(02)00042-X
  18. D. Yeh, Y. Li, and W Chu, "Extracting entity relationship diagram from a table-based legacy database," Journal of Systems and Software, vol. 81, no. 5, pp. 746-771, May. 2008.
  19. N. Mfourga, "Extracting Entity-Relationship Schemas from Relational Databases A Form-driven Approach," Proceedings of the Fourth Working Conference on Reverse Engineering, Amsterdam, pp. 184-193, Oct. 1997.
  20. D. Tsichritzis, and A Klug, "The ANSI/X3/SPARC DBMS framework report of the study group on database management systems," Information systems, vol. 3, no. 3, pp. 173-191, 1978. https://doi.org/10.1016/0306-4379(78)90001-7