KR102099069B1 - 하이브리드 erd 관리 시스템 및 그 방법 - Google Patents

하이브리드 erd 관리 시스템 및 그 방법 Download PDF

Info

Publication number
KR102099069B1
KR102099069B1 KR1020200024051A KR20200024051A KR102099069B1 KR 102099069 B1 KR102099069 B1 KR 102099069B1 KR 1020200024051 A KR1020200024051 A KR 1020200024051A KR 20200024051 A KR20200024051 A KR 20200024051A KR 102099069 B1 KR102099069 B1 KR 102099069B1
Authority
KR
South Korea
Prior art keywords
erd
data
code
generating means
stored
Prior art date
Application number
KR1020200024051A
Other languages
English (en)
Inventor
김기창
Original Assignee
김기창
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김기창 filed Critical 김기창
Priority to KR1020200024051A priority Critical patent/KR102099069B1/ko
Application granted granted Critical
Publication of KR102099069B1 publication Critical patent/KR102099069B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 하이브리드 ERD 관리 시스템 및 그 방법에 관한 것이다. 본 발명은, AS-IS ERD(10)를 생성하는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 추출하되, SQL 쿼리에 따라 AS-IS DB(110) 상의 테이블의 한글 명과 컬럼의 한글 명을 추출할 뿐만 아니라, PK(Primary Key) 여부와 컬럼 순서를 추출한 뒤, 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우 테이블과 컬럼의 한글 명을 생성하기 위한 과정인 "초기 표준화"를 수행하는 AS-IS ERD 생성수단(210); 및 AS-IS ERD 생성수단(210)의 초기 표준화 요청에 따라 AS-IS DB(100)의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우를 해결하기 위해 AS-IS DB(100)에 대한 백업 DB(600) 상의 AS-IS DB(100)의 식별번호와 매칭되는 카테고리를 추출한 뒤, 백업 DB(600)에 대한 테이블과 컬럼에 대한 복구를 위한 데이터 백업 서비스 요청을 전송하는 빅데이터 서버(500); 를 포함하며, 빅데이터 서버(500)는 데이터 백업 서비스 요청에 따라 네트워크(400)를 통해 AS-IS DB(100)와 백업 DB(600) 모두에 대해서 데이터 세션을 연결하고, 테이블과 컬럼의 한글 명인 COMMENT 정보가 저장된 하나의 AS-IS DB(100)에서 백업 DB(600)로 빅데이터 서버(500)의 중계에 따라 백업 데이터가 저장된 이전 주기 중 가장 최근의 주기로부터 이전 주기로 진행함에 따라 백업 DB(600) 상의 AS-IS DB(100)의 테이블과 컬럼의 한글 명이 저장되어 있는 경우, 저장된 테이블과 컬럼의 한글 명을 추출하여 AS-IS DB(100) 상의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않는 정보를 대체하는 것을 특징으로 할 수 있다.
이에 의해, 명확한 선후 관계로 이루어진 전체적인 절차를 사용하여 시행 착오 없이 수행하고, 각 단계에서 이전 단계의 산출물을 사용하여 다음 단계의 산출물을 만들기 때문에 시간이 극적으로 단축되도록 함으로써, 데이터 모델링과 데이터 이행을 빠른 시간 내에 성공적으로 수행할 수 있도록 할 뿐만 아니라, 현행 DB(AS-IS DB)의 테이블과 컬럼의 명이 없는 경우 체계적으로 빅데이터 기반의 초기 표준화를 수행할 뿐만 아니라, 데이터 보안을 강화할 수 있는 효과를 제공할 수 있다.

Description

하이브리드 ERD 관리 시스템 및 그 방법{Hybrid ERD Management System, and method thereof}
본 발명은 하이브리드 ERD 관리 시스템 및 그 방법에 관한 것으로, 보다 구체적으로는, 명확한 선후 관계로 이루어진 전체적인 절차를 사용하여 시행 착오 없이 수행하고, 각 단계에서 이전 단계의 산출물을 사용하여 다음 단계의 산출물을 만들기 때문에 시간이 극적으로 단축되도록 함으로써, 데이터 모델링과 데이터 이행을 빠른 시간 내에 성공적으로 수행할 수 있도록 할 뿐만 아니라, 현행 DB(AS-IS DB)의 테이블과 컬럼의 명이 없는 경우 체계적으로 빅데이터 기반의 초기 표준화를 수행하도록 하기 위 하이브리드 ERD 관리 시스템 및 그 방법에 관한 것이다.
ERD(Entity Relationship Diagram)를 사용해서 프로젝트를 수행하는 방법은 다양하게 존재한다. 예를 들어 첫번째 방식으로, DB에서 리버스 엔지니어링(역공학)을 수행하여 AS-IS ERD를 생성한 후에 모델링을 수행하는 방법이 대표적이다.
또 두번째 방식으로는 기존에 관리하여 존재하던 ERD에 수정 과정을 거쳐서 모델링을 수행하는 방법이다.
여기서 두번째 방식의 경우 시스템이 클 경우에는 접근하기가 쉽지 않으므로, 첫번째 방식과 같이 DB에서 AS-IS ERD를 생성해서 TO-BE 모델링을 수행하고, 그 후에는 AS-IS ERD와 TO-BE ERD를 비교해서 엔터티와 속성에 대한 매핑정의서를 작성한다. 그런 후에 매핑정의서를 기반으로 AS-IS DB의 데이터를 TO-BE DB에 이행하는 프로그래밍(SQL)을 작성한다. 이렇게 진행할 경우 모델 설계와 매핑정의서 작성, 이행 프로그램 개발이 개별 단계가 별도로 수행되어 상호간의 수행 과정이 서로 유기적으로 이어지지 않게 되는 한계점이 있다.
한편, 기존 방법을 사용하면 단계가 매끄럽게 이어지지 않는다는 단점도 있지만, 각 단계를 수행하는 주체도 근본적으로 다르게 되어 많은 시간이 소요되며, 정확하게 수행하기도 힘들게 된다.
대개의 경우는 모델 설계는 모델러가 하고, 매핑정의서 작성과 SQL 개발은 이행 개발자가 하게 된다. 이 경우 이행 개발자는 AS-IS 모델을 스스로 익혀야 하며, TO-BE 모델은 모델러에게 설명을 들어야 매핑정의서를 작성할 수 있다. 이 과정은 쉽지도 않으며 시간도 오래 걸리고, 오류의 가능성도 높아지게 된다.
좀 더 진보된 방법은 모델 설계와 매핑정의서 작성은 모델러가 하고, SQL 개발은 이행 개발자가 하는 방법이다. 이 방법은 모델러가 매핑정의서까지 작성하기 때문에 AS-IS 모델과 TO-BE 모델을 익혀야 하는 수고는 덜 수 있지만, 매핑정의서만으로 이행 개발을 수행하기는 어렵기 때문에 이행 개발자가 모델을 익혀야 수행할 수 있는 상황은 비슷하다.
어떤 방법을 사용하든 단계가 끊어지는 것이기에 시간이 오래 걸리고, 단절로 인해 생기는 오류를 피할 수 없게 된다.
모델러가 모델링을 수행하는 기존의 방법을 본다면, TO-BE 모델을 설계할 때 AS-IS 정보를 관리하지 않아 정보가 단절되기 때문에 모델러가 매핑정의서를 설계하더라도 시간이 오래 걸리고, 오류가 발생할 수 있다.
매핑정의서가 작성된 후에는 데이터 이행을 하게 되는데, 이행을 수행하기 위해서는 이행 개발자가 매핑정의서를 다시 살펴보게 되므로 이 부분에서도 연속성이 사라져 시간이 오래 걸리거나 오류가 발생하게 된다.
한편, 매핑정의서에서 중요한 부분 중 하나가 코드인데, 코드에 대한 매핑정의서의 작성 또한 어렵고 시간이 오래 걸리는 문제점이 있다.
위와 같이 대개의 프로젝트에서는 ERD 관리에서부터 데이터 이행까지의 각 부분이 개별적으로 단절되어 시행됨으로써 1차적으로 많은 비효율이 발생하며, 어렵게 수행하더라도 결과에 오류가 생기기 쉬우므로 기존 방법은 바람직하지 않다.
대한민국 특허출원 출원번호 제10-2019-0063565호 "데이터 ETL까지 고려한 ERD 관리 방법"
본 발명은 상기의 문제점을 해결하기 위한 것으로, AS-IS DB에서 추출한 정보를 기반으로 ERD를 생성하여, 모델링을 효과적으로 생성하고, 그 후에 데이터 이행을 효과적으로 하여 시스템 구축의 커다란 난제를 해소하도록 하기 위한 하이브리드 ERD 관리 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명은 시행착오 없이 빠르게 모델링에 착수할 수 있도록 함으로써, 데이터 모델을 빠르게 생성할 수 있도록 하기 위한 하이브리드 ERD 관리 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명은 보통 모델링이 끝나고 데이터 이행은 별개의 단계로 진행하여, 시간적으로나 인력적으로 두 단계의 간극이 있는데 이를 없애서 모델링이 끝난 후에 자연스럽게 데이터 이행을 수행할 수 있도록 함으로써, TO-BE 모델링을 끝낸 후에 데이터를 이행하기 쉽도록 하기 위한 하이브리드 ERD 관리 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명은 현행 DB(AS-IS DB)의 테이블과 컬럼의 명이 없는 경우 체계적으로 빅데이터 기반의 초기 표준화를 수행하도록 하기 위 하이브리드 ERD 관리 시스템 및 그 방법을 제공하기 위한 것이다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템은, AS-IS ERD(10)를 생성하는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 추출하되, SQL 쿼리에 따라 AS-IS DB(110) 상의 테이블의 한글 명과 컬럼의 한글 명을 추출할 뿐만 아니라, PK(Primary Key) 여부와 컬럼 순서를 추출한 뒤, 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우 테이블과 컬럼의 한글 명을 생성하기 위한 과정인 "초기 표준화"를 수행하고, AS-IS ERD(10)를 생성시 전체 SQL에서 JOIN 구문을 뽑아서 분석하되, JOIN 패턴만을 자동으로 추출한 후에 테이블 간의 관계를 도출하는 AS-IS ERD 생성수단(210); 및 AS-IS ERD 생성수단(210)의 초기 표준화 요청에 따라 AS-IS DB(100)의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우를 해결하기 위해 AS-IS DB(100)에 대한 백업 DB(600) 상의 AS-IS DB(100)의 식별번호와 매칭되는 카테고리를 추출한 뒤, 백업 DB(600)에 대한 테이블과 컬럼에 대한 복구를 위한 데이터 백업 서비스 요청을 전송하는 빅데이터 서버(500); 를 포함하며, 빅데이터 서버(500)는 데이터 백업 서비스 요청에 따라 네트워크(400)를 통해 AS-IS DB(100)와 백업 DB(600) 모두에 대해서 데이터 세션을 연결하고, 테이블과 컬럼의 한글 명인 COMMENT 정보가 저장된 하나의 AS-IS DB(100)에서 백업 DB(600)로 빅데이터 서버(500)의 중계에 따라 백업 데이터가 저장된 이전 주기 중 가장 최근의 주기로부터 이전 주기로 진행함에 따라 백업 DB(600) 상의 AS-IS DB(100)의 테이블과 컬럼의 한글 명이 저장되어 있는 경우, 저장된 테이블과 컬럼의 한글 명을 추출하여 AS-IS DB(100) 상의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않는 정보를 대체하는 것을 특징으로 할 수 있다.
이때, AS-IS ERD 생성수단(210)은, AS-IS ERD(10)를 생성하는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 추출과 "초기 표준화 과정" 외에 "코드 프로파일링 과정" 외에 각 테이블 및 컬럼를 기준으로 한 AS-IS 속성정보에 대한 수집이 AS-IS ERD 생성수단(210)에 의해 수행되면 AS-IS 속성목록을 완성하는 것을 특징으로 할 수 있다.
또한, AS-IS ERD 생성수단(210)이, AS-IS ERD(10)를 생성하기 위해, 컬럼의 한글 명을 정하는 표준화 과정에서 해당 속성이 코드인지 여부를 검토하되, 상기 AS-IS 속성목록의 속성 명이 구분, 유형 및 코드 중 하나로 종료되는 경우 코드 후보로 설정하고, 컬럼 명이 TP, TYPE 등으로 종료되는 경우도 코드 후보로 설정하고, 후보로 설정된 코드에 대해서 실제 AS-IS DB(100)에서 사용된 값을 조사함으로써, 미사용 코드를 제외하는 방식으로 "코드 프로파일링 과정"를 수행하는 것을 특징으로 할 수 있다.
또한, AS-IS ERD 생성수단(210)이 AS-IS ERD(10)를 생성한 후에는 AS-IS ERD(20)에 대한 모델링을 수행하는 TO-BE ERD 생성수단(220); 을 더 포함하며, TO-BE ERD 생성수단(220)에 의해 11개의 패턴에 따라 NOTE 정보를 관리하면서 모델링을 완료하며, TO-BE ERD 생성수단(220)에 의해 수행되는 로직은 추후에 데이터 이행 SQL 생성모듈(230)에 의한 매핑정의서 생성에 사용되고, 나아가 마이그레이션 SQL 작성에 사용되며, TO-BE ERD 생성수단(220)은, TO-BE ERD(20)에 AS-IS ERD(10)에 대한 모든 엔터티와 속성을 저장하면서 모델링을 수행하며, 저장되는 속성이 코드 속성인 경우에는 UDP에 코드값 정보도 저장하는 것을 특징으로 할 수 있다.
또한, 본 발명은, AS-IS ERD(10)에서 TO-BE ERD(20)를 생성하는 과정에서의 TO-BE 엔터티와 AS-IS 엔터티의 매핑 정보인 ERD 매핑 정보를 사용하여 데이터 이행 SQL을 생성하는 데이터 이행 SQL 생성수단(230); 을 더 포함하는 것을 특징으로 할 수 있다.
본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템 및 그 방법은, 명확한 선후 관계로 이루어진 전체적인 절차를 사용하여 시행 착오 없이 수행하고, 각 단계에서 이전 단계의 산출물을 사용하여 다음 단계의 산출물을 만들기 때문에 시간이 극적으로 단축되도록 함으로써, 가장 중요하고 어려운 부분인 데이터 모델링과 데이터 이행을 빠른 시간 내에 성공적으로 수행할 수 있는 효과를 제공할 수 있다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 하이브리드 ERD 관리 시스템 및 그 방법은, AS-IS 모델과 이를 사용한 TO-BE 모델, 그리고 매핑 정의서와 이행 SQL 등을 유기적으로 연계해서 시스템 구축의 가장 중요한 영역인 데이터 부분을 제대로 설계해서 시스템 기간을 단축시킬 수 있는 효과를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 하이브리드 ERD 관리 방법을 나타내는 흐름도이다.
도 3은 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 ERD 관리 방법이 수행되는 원리를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 생성된 AS-IS 속성목록을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 생성된 AS-IS ERD(10)를 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 생성된 ERD NOTE를 나타내는 도면이다.
도 7 및 도 8은 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 TO-BE 모델의 설계 패턴을 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 수행되는 데이터 매핑과 SQL 생성을 위한 개념 모델을 나타내는 도면이다.
이하, 본 발명의 바람직한 실시예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
도 1은 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)을 나타내는 도면이다. 도 2는 본 발명의 실시예에 따른 하이브리드 ERD 관리 방법을 나타내는 흐름도이다. 도 3은 본 발명의 실시예에 따른 하이브리드 ERD 관리 시스템(1)에 의해 ERD 관리 방법이 수행되는 원리를 나타내는 도면이다.
먼저, 도 1을 참조하면, 하이브리드 ERD 관리 시스템(1)은 AS-IS DB(100), 하이브리드 ERD 관리 모듈(200), TO-BE DB(300)을 포함하며, 하이브리드 ERD 관리 모듈(200)은 네트워크(400)를 통해 빅데이터 서버(500) 및 백업 DB(600)와 신호 및 데이터 송수신을 수행할 수 있다.
또한, 본 명세서에서 DB라 함은, 각각의 데이터베이스에 대응되는 정보를 저장하는 소프트웨어 및 하드웨어의 기능적 구조적 결합을 의미할 수 있다. DB는 적어도 하나의 테이블로 구현될 수도 있으며, 데이터베이스에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)을 더 포함할 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 데이터베이스의 형태 등 다양한 방식으로 구현될 수 있으며, 데이터베이스에 대응되는 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함한다.
하이브리드 ERD 관리 모듈(200)은 AS-IS ERD 생성수단(210), TO-BE ERD 생성수단(220), 데이터 이행 SQL 생성수단(230)을 포함함으로써, 시스템을 효과적으로 구축하기 위해 AS-IS DB(100)를 기준으로 ERD를 생성하고 관리하며 활용할 수 있도록 할 수 있다.
보다 구체적으로, 도 3을 참조하면, AS-IS ERD 생성수단(210)이 AS-IS DB(100)에서 스크립트를 활용하여 AS-IS ERD(10)를 생성하면, TO-BE ERD 생성수단(220)이 속성 표준화 과정과 관계 설정 과정을 거쳐 AS-IS ERD(20)를 생성할 수 있다. 여기서, 데이터 이행 SQL 생성수단(230)이 AS-IS ERD(10)를 사용해서 TO-BE ERD(20)을 설계하는 과정에서 ERD 내의 정의 기술 부분에 AS-IS 정보를 관리하여, 최종적으로 TO-BE 엔터티와 AS-IS 엔터티의 매핑 정보를 도출한 후의 데이터 이행까지의 과정, 즉 데이터 모델 설계에서의 전체 단계를 수월하게 제공할 수 있다.
이와 같이 하이브리드 ERD 관리 모듈(200)은 시스템을 구축할 때는 개발의 기반이 되는 가장 중요한 요소인 데이터의 구조를 나타내는 ERD를 효과적으로 관리하여 기존의 방법보다 데이터이스를 빠른 시간 내에 구축하여 전체 시스템 구축을 성공으로 이끌 수 있다.
도 2를 참조하여, 하이브리드 ERD 관리 시스템(1)을 기반으로 한 하이브리드 ERD 관리 방법에 대해서 살펴보면, 크게 세 과정으로 구성될 수 있다.
먼저, AS-IS ERD 생성수단(210)은 AS-IS DB(100) 상의 정보를 사용해서 AS-IS ERD(10)를 생성할 수 있다(S11).
단계(S12) 이후, TO-BE ERD 생성수단(220)은 단계(S11)에서 생성된 AS-IS ERD(10)를 사용하여 TO-BE ERD(20)를 생성할 수 있다(S12).
단계(S12) 이후, 데이터 이행 SQL 생성수단(230)은 ERD 매핑 정보를 사용하여 데이터 이행 SQL을 생성할 수 있다(S13).
이러한 단계(S11) 내지 단계(S13)의 과정은 이전 단계의 결과물을 사용하여 진행하기 때문에 시간을 절약하여 효율을 극대화하는 것이 특장점이다.
이하에서는 각 과정에 대해서 구체적으로 살펴보도록 한다.
먼저, 단계(S11)인 AS-IS DB(110) 정보를 사용해서 AS-IS ERD(10)를 생성하는 과정에 대해서 구체적으로 살펴보도록 한다.
AS-IS ERD 생성수단(210)에 의해 AS-IS ERD(10)를 생성하는 첫 번째 단계에서는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 뽑는다. SQL 쿼리에 따라 AS-IS ERD 생성수단(210)은 AS-IS DB(110) 상의 테이블의 한글 명과 컬럼의 한글 명을 추출할 뿐만 아니라, PK(Primary Key) 여부와 컬럼 순서를 추출할 수 있다.
단계(S11)에서의 문제는 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우이다.
이 경우 AS-IS ERD 생성수단(210)은 COMMENT 정보 없이 작업을 시작해야 하며, 테이블과 컬럼의 한글 명을 생성하기 위한 과정을 거처야 한다. 이 과정을 표준화라고 하며, TO-BE 표준화와 구분하기 위해 "초기 표준화"라고 한다.
AS-IS ERD 생성수단(210)에 의해 수행되는 초기 표준화 방법은 다양하지 않다. 시스템 운영 인력의 도움을 받는 것이 가장 현실적인 방법이다. 다양한 자료를 제공 받아 초기 표준화를 수행할 수 있다.
또한 본 발명의 다른 실시예로, AS-IS ERD 생성수단(210)에 의해 수행되는 초기 표준화 방법은 네트워크(200)를 통한 빅데이터 서버(500)에 대한 요청을 통해 빅데이터 서버(500) 상에서 AI 기반의 표준화 방법에 의해 수행될 수 있다.
즉, 빅데이터 서버(500)는 AS-IS DB(100)의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우를 해결하기 위해 AS-IS DB(100)에 대한 백업 DB(600) 상의 AS-IS DB(100)의 식별번호와 매칭되는 카테고리를 추출한 뒤, 백업 DB(600)에 대한 테이블과 컬럼에 대한 복구를 위한 데이터 백업 서비스 요청을 전송할 수 있다.
이후, 빅데이터 서버(500)는 데이터 백업 서비스 요청에 따라 네트워크(400)를 통해 AS-IS DB(100)와 백업 DB(600) 모두에 대해서 데이터 세션을 연결할 수 있다. 빅데이터 서버(500)는 테이블과 컬럼의 한글 명인 COMMENT 정보가 저장된 하나의 AS-IS DB(100)에서 백업 DB(600)로 빅데이터 서버(500)의 중계에 따라 백업 데이터가 저장된 이전 주기 중 가장 최근의 주기로부터 이전 주기로 진행함에 따라 백업 DB(600) 상의 AS-IS DB(100)의 테이블과 컬럼의 한글 명이 저장되어 있는 경우, 저장된 테이블과 컬럼의 한글 명을 추출하여 AS-IS DB(100) 상의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않는 정보를 대체할 수 있다.
한편, 빅데이터 서버(500)는 백업 DB(600) 상에 대응되는 정보가 저장되어 있더라도 잘못된 방법으로 저장되어 있는 경우를 분석하기 분석 대상이 되는 AS-IS DB(100)와 동일한 동일 업종 또는 동일 직업군에 속하는 다른 복수의 AS-IS DB(100)로부터 수신된 테이블과 컬럼의 한글 명에 대해서 동일 업종 또는 동일 직업군 별로 분산 파일 프로그램에 의해 DCS DB에 분산 저장된 수집 데이터인 테이블과 컬럼 각각에 대한 영문 명 또는 한글 명을 백업 DB(600) 상에서 모두 추출한 뒤, 영문 명에 대해서는 한글화를 수행하고, 한글 명에 대해서 각 다른 AS-IS DB(100)에 대해서 AS-IS ERD 생성수단(210)에 의해 생성되어 제공된 도 4와 같은 AS-IS 속성목록에서 각 테이블 명 또는 컬럼 명을 제외한 다른 속성정보 중 적어도 미리 설정된 숫자 이상이 매칭되는 AS-IS 속성목록을 갖는 다른 AS-IS DB(100)의 AS-IS 속성목록에서 가장 빈번하게 생성된 테이블 명 또는 컬럼 명을 추출하여 추출된 테이블 명 또는 컬럼 명으로 AS-IS DB(100)의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우에 해당하는 AS-IS DB(100)의 테이블 명 또는 컬럼 명을 대체할 수 있다.
여기서, 빅데이터 서버(500)는 분산 파일 프로그램에 의해 DCS DB에 분산 저장된 수집 데이터를 AS-IS 속성목록 기반의 머신러닝 알고리즘을 통해 분석하고 추출 명령을 내릴 수 있다. 보다 구체적으로, 빅데이터 서버(500)에서 사용되는 머신러닝 알고리즘은 결정 트리(DT, Decision Tree) 분류 알고리즘, 랜덤 포레스트 분류 알고리즘, SVM(Support Vector Machine) 분류 알고리즘 중 하나일 수 있다.
빅데이터 서버(500)는 분산 파일 프로그램에 의해 DCS DB에 분산 저장된 수집 데이터를 분석하여 그 분석한 결과로 다수의 특징 정보에 해당하는 AS-IS 속성목록에 포함된 각 AS-IS 속성정보를 추출하고 추출된 특징 정보를 복수의 머신러닝 알고리즘 중 적어도 하나 이상을 이용하여 학습하여 학습한 결과로 미리 설정된 수치 이상으로 매칭되는 경우 추출로 판단할 수 있다.
즉, 빅데이터 서버(500)는 추출 분석 결과의 정확도 향상을 위해 다수의 상호 보완적인 머신러닝 알고리즘들로 구성된 앙상블 구조를 적용할 수 있다.
결정 트리 분류 알고리즘은 트리 구조로 학습하여 결과를 도출하는 방식으로 결과 해석 및 이해가 용이하고, 데이터 처리 속도가 빠르며 탐색 트리 기반으로 룰 도출이 가능할 수 있다. DT의 낮은 분류 정확도를 개선하기 위한 방안으로 RF를 적용할 수 있다. 랜덤 포레스트 분류 알고리즘은 다수의 DT를 앙상블로 학습한 결과를 도축하는 방식으로, DT보다 결과 이해가 어려우나 DT보다 결과 정확도가 높을 수 있다. DT 또는 RF 학습을 통해 발생 가능한 과적합의 개선 방안으로 SVM을 적용할 수 있다. SVM 분류 알고리즘은 서로 다른 분류에 속한 데이터를 평면 기반으로 분류하는 방식으로,일반적으로 높은 정확도를 갖고, 구조적으로 과적합(overfitting)에 낮은 민감도를 가질 수 있다.
빅데이터 서버(500)는 상술한 머신러닝 이후 정제된 데이터를 활용해 딥러닝 수행하되, 딥러닝 방식은 대체를 테이블 명 또는 컬럼 명을 추출하는 머신러닝의 패턴 데이터 생성시, 생성된 패턴 데이터별 반복 작업시 하나의 전체 프로세스에 소요되는 시간인 사이클 타임(Cycle time)과, 각 공정시간의 최대 시간인 택트 타임(Tact time)의 감소를 최소화하는 방식으로 각 패턴 데이터별 AS-IS 속성목록에 포함된 AS-IS 속성정보에 대한 변환 및 적용을 위해 수행될 수 있다.
한편, AS-IS ERD 생성수단(210)은 만약 아무런 자료도 얻지 못한다면 컬럼 명을 분해해서 각각의 영문에 대한 한글 명을 정하는 방법으로 하나씩 표준화를 하게 되는데, 정해진 한글은 모든 영문에 자동으로 반영할 수 있기 때문에 수작업과 자동화가 혼합된 작업을 하게 될 수 있다.
이 작업은 결국 TO-BE 표준화와 연결되는 작업이기도 하다. 왜냐하면 이는 단어를 정의하는 과정에 포함되기 때문이다. 또한 컬럼 명 분해 후 한글 명을 정하는 이 작업이 끝나면 자연스럽게 TO-BE 단어가 생성될 수 있다.
위와 같은 과정에 해당하는 AS-IS ERD(10)를 생성하는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 추출, "초기 표준화 과정"과 "코드 프로파일링 과정" 외에 각 테이블 및 컬럼를 기준으로 한 도 4와 같은 AS-IS 속성정보에 대한 수집이 AS-IS ERD 생성수단(210)에 의해 수행되면 AS-IS 속성목록이 완성될 수 있다. 즉, 도 4는 AS-IS 속성목록을 나타내는 도면이다.
한편, AS-IS ERD(10)를 생성하는 위의 첫 번째 단계에서 준비해야 할 또 다른 작업이 코드(공통 코드) 표준화이다. 컬럼의 한글 명을 정하는 표준화 과정에서 해당 속성이 코드인지 여부를 검토해야 한다. 도 4의 속성 명이 구분, 유형, 코드 등으로 끝난다면 코드 후보일 수 있다. 또한, 도 4의 컬럼 명이 TP, TYPE 등으로 끝나도 코드 후보가 된다. 코드는 공통 코드가 아닌 개별 코드도 존재하고 부분 집합 코드 등 복잡한 코드도 존재하므로 분석이 쉽지 않다. 상세한 분석은 TO-BE 모델링 시에도 진행되며 모델링이 완료되는 시점에 코드 분석도 마무리된다.
코드에 대해서는 실제 AS-IS DB(100)에서 사용된 값을 모두 조사해야 하는데 이를 코드 프로파일링이라고 하며, 프로파일링 하기 전에 하는 마지막 작업이 코드 속성에 대해서 사용 여부를 조사하는 것이다. 미사용 코드를 도출하여 프로파일링 작업에서 제외한다.
도 4의 코드여부, 사용여부 항목에 대한 조사가 끝나면 해당 코드 속성에 대해서 코드 프로파일링을 해야 한다. 코드 프로파일링 결과는 아래에서 설명할 테이블에 저장한다.
즉, AS-IS ERD 생성수단(210)은 AS-IS ERD(10)를 생성하기 위해, 컬럼의 한글 명을 정하는 표준화 과정에서 해당 속성이 코드인지 여부를 검토하되, 상기 AS-IS 속성목록의 속성 명이 구분, 유형 및 코드 중 하나로 종료되는 경우 코드 후보로 설정하고, 컬럼 명이 TP, TYPE 등으로 종료되는 경우도 코드 후보로 설정하고, 후보로 설정된 코드에 대해서 실제 AS-IS DB(100)에서 사용된 값을 조사함으로써, 미사용 코드를 제외하는 방식으로 "코드 프로파일링 과정"를 수행할 수 있다.
이를 위해, 본 발명에서는 AS-IS ERD 생성수단(210)은 후보로 설정된 코드에 대해서 실제 AS-IS DB(100)에서 사용된 값을 조사함에 있어서, 각 테이블 상에서 미리 설정된 그룹 카테고리 구분을 위한 코드로 설정되는 경우, 각 테이블 상에서 적어도 한번 이상 사용되는 코드 정보를 각 테이블 상에 별도의 컬럼에 미리 설정된 주기별로 저장함으로써, AS-IS DB(10) 상의 각 테이블의 코드 정보를 구비한 컬럼에 대한 조사를 통해서 신속하게 수행될 수 있다.
이와 같이 "초기 표준화 과정"과 "코드 프로파일링 과정"을 거친 후의 다음 단계는 AS-IS 속성목록으로 AS-IS ERD(10)를 생성하는 것이다. AS-IS ERD(10)는 시스템에서 별도로 관리할 수도 있지만, 대체로 실제 AS-IS DB(100)와는 정보가 일치하지 않아 바로 사용하기에 적절하지 않다. 만약 이미 모델 저장소를 사용하여 AS-IS ERD(10)가 AS-IS DB(100)와 일치되어 있다면 일치되는 AS-IS ERD(10)를 사용하여 다음 단계를 수행하게 된다.
본 발명에서 사용하는 모델링 CASE 툴은 ERWin일 수 있다. 도 4의 AS-IS 속성목록은 ERWin에서 제공하는 API를 통해 AS-IS ERD(10)로 전환된다. ERWin 외의 툴을 사용한다면, 해당 툴을 사용해서 ERWin으로 변환할 수 있기 때문에 본 발명을 적용하는 데는 이상이 없다.
API를 통해 속성목록을 사용해 AS-IS ERD 생성수단(210)에 의해 생성한 AS-IS ERD(10)는 도 5와 같을 수 있다.
AS-IS ERD(10)를 생성할 때 핵심 내용은 AS-IS 정보(AS-IS DB/TABLE/COLUMN/CODE)를 관리한다는 것이다. 도 2에서 도시된 NOTE 부분과 도 6의 NOTE 항목이 이를 의미한다. 코드의 경우 코드값을 관리하기 위해 UDP(User Defined Property) 항목을 관리하는데 UDP도 NOTE의 일부분이다.
완성된 AS-IS ERD(10)의 NOTE 항목에는 도 6과 같이 AS-IS 정보가 관리되며 TO-BE ERD(20)를 설계하면서 TO-BE 모델의 변화에 따라 이 부분을 수정하게 된다. 이렇게 관리된 NOTE 정보는 최종 단계에서 데이터 이행 매핑 정보로서 사용된다.
즉, 도 6은 ERD NOTE를 나타내는 도면이다.
한편, 도 5의 AS-IS ERD(10)를 생성할 때의 또 다른 핵심은 AS-IS ERD 생성모듈(210)에 의해 관계선을 표현하는 것이다. 도 4의 AS-IS 속성목록으로는 엔터티 스키마밖에 생성할 수 없기 때문에 관계선을 생성하기 위해서는 AS-IS ERD 생성수단(210)이 두 가지 작업을 더 하게 된다.
먼저 AS-IS ERD 생성수단(210)은 AS-IS DB(100)에 FK(Foreign Key) 제약이 있다면, SQL을 사용해서 FK 제약을 조회한 후에 API를 사용해서 관계선을 생성한다. 이는 AS-IS DB(100)에 존재하는 명확한 관계이기 때문에 관계선을 반드시 표현해야 한다. AS-IS ERD 생성수단(210)이 관계선을 도출하는 두 번째 방법은 전체 SQL에서 JOIN 구문을 뽑아서 분석하는 것이다. JOIN 구문을 일일이 분석한다는 것은 시간이 오래 걸리기 때문에 JOIN 패턴만을 자동으로 추출한 후에 테이블 간의 관계를 도출한다.
관계선은 1차 관계여야 하는데, 이와 같이 JOIN 구문을 통해서는 테이블 간의 관계를 정확히 도출하기 쉽지 않다. JOIN 구문에 의해 관계선이 복잡하게 도출되는데 이를 검토해서 최종 1차 관계를 찾는 수고는 필요하게 된다. 물론 AS-IS ERD(10)를 생성한 후에 TO-BE ERD(20)를 설계하는 것이기 때문에 JOIN 구문을 그대로 관계선으로 표현한 후 TO-BE 설계 시 하나씩 검토하는 것도 방법이다. JOIN 구문에 의해 생성된 관계선은 미리 설정된 색상(빨간색 등)으로 구분하는 것이 좋다.
이렇게 최종 AS-IS ERD(10)를 생성한 후에는 본격적으로 TO-BE ERD 생성수단(220)이 모델링을 수행할 수 있다.
TO-BE ERD 생성수단(220)이 모델링을 제대로 수행한다는 것을 전제로 모델링 시 본 발명에서 관리해야 할 부분은 NOTE 부분이다. NOTE에는 AS-IS 정보(DB/TABLE/COLUMN)가 저장되어 있는데 이 정보를 훼손하지 않는 것이 중요하다.
또한 TO-BE ERD 생성수단(220)이 TO-BE 모델의 설계 패턴에 따라서 NOTE 정보를 수정해야 한다. TO-BE ERD 생성수단(220)에 의한 TO-BE 모델의 설계 패턴에는 도 7 및 도 8과 같이 11가지가 존재한다.
도 7 및 도 8에서 왼쪽이 AS-IS 모델인 AS-IS ERD(10)이며 오른쪽이 TO-BE 모델인 TO-BE ERD(20)이다. 도 7a의 제 1 패턴의 경우 AS-IS의 두 엔터티를 통합하면 TO-BE의 UNION 형태가 될 수 있다. 이 경우 TO-BE 엔터티와 속성 NOTE에는 하기의 표 1과 같은 기술할 수 있다.
ㅁ 엔터티 NOTE: ASIS_TAB1%AS_TAB2
ㅁ 속성 NOTE: ASIS_TAB1.ASIS_COL1%AS_TAB2.ASIS_COL2
ㅁ 코드 NOTE(UDP): 1|01
TO-BE ERD 생성수단(220)에 의해 수행되는 로직은 추후에 데이터 이행 SQL 생성모듈(230)에 의한 매핑정의서 생성에 사용되고, 나아가 마이그레이션 SQL 작성에 사용된다. TO-BE ERD 생성수단(220)은 TO-BE ERD(20)에 AS-IS ERD(10)에 대한 모든 엔터티와 속성을 저장하면서 모델링을 수행하는 것이 바람직하다. TO-BE ERD 생성수단(220)은 저장되는 속성이 코드 속성인 경우에는 UDP에 코드값 정보도 저장할 수 있다.
이를 위해, TO-BE ERD 생성수단(220)은 TO-BE ERD(20)에 AS-IS ERD(10)에 대한 모든 엔터티와 속성을 저장시, 2차 암호화를 통해 보안을 유지할 수 있다,
즉, TO-BE ERD 생성수단(220)은 AS-IS ERD(10)에 대한 모든 엔터티와 속성을 이진화하여 일렬의 평문 블록화 정보 변환을 수행한 뒤, 미리 설정된 암호키를 이용해 2차 암호화를 수행한다. 즉, TO-BE ERD 생성수단(220)은 암호키에 의한 평문 블록화 정보에 대한 블록 암호화를 적용하여 중간 상수를 생성하는 1단 암호화를 수행한 뒤, 생성된 중간 상수와 각 개별 정보(식별명칭 및 고유 식별번호)별 복수의 평문 블록 각각을 배타적 논리합을 수행하여 2차 암호화된 암호문 블록을 생성함으로써, 보완을 강화할 수 있다.
여기서, 이러한 2차 암호화된 정보에 대해서 후수하는 데이터 이행 SQL 생성수단(230)은 암호키를 TO-BE ERD 생성수단(220)로부터 수신한 뒤, ERD 매핑 정보를 사용하여 데이터 이행 SQL을 생성시 암호화 역순으로 복호화하여 정보에 대한 액세스를 수행하는데 활용할 수 있다.
TO-BE ERD 생성수단(220)에 의해 11개의 패턴에 따라 NOTE 정보를 관리하면서 모델링을 완료한 후에는 데이터 이행 SQL 생성수단(230)이 매핑정의서를 작성하기 위한 작업을 한다. 데이터 이행 SQL 생성수단(230)이 매핑정의서를 작성하기 위한 작업을 하기 위해서는 TO-BE ERD(20)의 정보를 저장하기 위한 테이블과 매핑 정보를 저장하기 위한 테이블, SQL을 작성하기 위한 테이블이 필요하다.
또한 위에서 작업한 코드 프로파일링한 결과를 저장하기 위한 테이블, TO-BE 코드를 저정하기 위한 테이블, TO-BE 코드와 AS-IS 코드와의 매핑을 저정하기 위한 테이블이 필요하다. 도 9가 매핑 설계를 하기 위한 테이블을 나타낸다.
즉, 도 9는 데이터 매핑과 SQL 생성을 위한 개념 모델을 나타내는 도면이다.
데이터 이행 SQL 생성수단(230)에 의해 생성되는 도 9의 컬럼 매핑 부분은 TO-BE ERD(20)에서 엑셀 매크로를 사용해서 데이터를 추출한 후에 도 9 각각의 테이블에 ERD에 대한 정보를 저장한다. 이는 엔터티와 속성에 대한 엑셀 목록으로 ERD를 만드는 것과 같이 ERWin에서 제공하는 API를 사용해서 수행할 수 있다.
이와 같이 생성된 TO-BE ERD(20)이 데이터 이행 SQL 생성수단(230)에 의해 선택된 후 저장이 수행되면 미리 생성한 테이블에 TO-BE ERD(20)의 정보가 생성된다. 데이터 이행 SQL 생성수단(230)은 미리 생성된 테이블을 사용해서 결국은 매핑정의서와 SQL을 생성하게 된다.
코드 매핑에 대한 작업도 위와 유사하다. 코드도 속성이기 때문에 위에서 설명한 ERD 작업을 통해 컬럼 매핑 작업이 이루어지는데, 이런 컬럼 매핑에 추가해야 할 부분이 코드 매핑이다.
데이터 이행 SQL 생성모듈(230)은 코드 매핑을 위해서는 도 4의 단계에서 수행된 코드 프로파일링 과정을 거쳐 나온 데이터를 도 9의 "ASIS컬럼별코드인스턴스 테이블"에 저장하고, TO-BE 코드 정의가 끝나면 "TOBE코드 테이블"에 코드를 저장한다. 이 후의 과정은 컬럼 매핑하는 과정과 유사하게 ERWin API를 사용해서 매핑정의서와 SQL을 생성하게 된다.
한편, 매핑정의서에서 중요한 부분 중 하나가 코드인데, 코드에 대한 매핑정의서의 작성 또한 어렵고 시간이 오래 걸리며, 시스템 구축 프로젝트에서 항상 이슈가 생기 부분이기 때문에 코드 매핑정의와 SQL을 자동으로 생성한다는 점은 매우 커다란 장점일 수 있다.
도 9의 테이블에 데이터를 저장하면 모든 작업은 끝난 것이나 마찬가지다. 저장된 데이터를 가지고 오라클 프로시저를 사용해서 매핑정의서와 SQL을 사용하게 된다. 이에 사용되는 오라클 프로시저 목록은 하기의 표 2와 같다.
ㅁ WM_SP_TABLE_MAPPING: 엔터티매핑정의서 작성
ㅁ WM_SP_COLUMN_MAPPING: 속성매핑정의서 작성
ㅁ WM_SP_CODE_MAPPING: 코드매핑정의서 작성
ㅁ WM_SP_ETL_SQL: ETL SQL 작성
도 3에서 언급한 것처럼 AS-IS DB(110)에서 정보를 추출해서 AS-IS ERD(10)를 생성한 후에 TO-BE 모델을 설계하면서 ERD의 NOTE 부분을 관리하고 이를 토대로 매핑정의서와 마이그레이션 SQL을 추출하는 것이 본 발명의 전체 과정이다.
물론 마이그레이션 SQL은 결점이 없는 최종 상태의 것은 아니다. AS-IS 데이터 품질에 따라 SQL 소스가 더 추가되어야 할 수도 있으며, 자동으로 추출된 것이라 오류에 의한 수작업 보정이 필요할 수 있다. 도 8d의 제 9 유형과 도 8e의 제 10 유형은 데이터가 어떻게 관리되고 있는지에 따라 적용이 힘들 수도 있다. 하지만 초안 상태라도 자동으로 생성한 후에 작업을 시작한다는 것은 커다란 장점이며 대부분의 유형은 오류 없이 데이터 이행이 완료되고 최종 데이터를 검증하는 단계만 거치면 된다.
이렇게 데이터 구축 단계가 처음부터 거의 끝까지 이어진다는 것이 매우 중요하다. 더욱이 데이터 이행이 수행되는 환경을 지원한다는 것은 구축 프로젝트에서 매우 커다란 장점이다.
계정계에 대한 구축 프로젝트를 본 방법론으로 수행했다면 이어서 정보계도 유사한 방법으로 수행할 수 있으며, OLAP으로도 연결될 수 있어 그야말로 데이터 구축의 처음부터 끝까지 연결돼 시간과 비용을 극적으로 줄일 수 있다.
적은 비용으로 빨리 구축한다는 장점보다는 혼선이 없이, 즉 모든 프로젝트에서 예외 없이 발생하는 데이터 관련 크고 작은 이슈 없이 진행할 수 있다는 것과 좋은 품질의 산출물로 이어진다는 점이 더욱 값진 성과가 될 것이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
1 : 하이브리드 ERD 관리 시스템
100 : AS-IS DB
200 : 하이브리드 ERD 관리 모듈
210 : AS-IS ERD 생성수단
220 : TO-BE ERD 생성수단
230 : 데이터 이행 SQL 생성수단
300 : TO-BE DB
400 : 네트워크
500 : 빅데이터 서버
600 : 백업 DB

Claims (3)

  1. AS-IS ERD(10)를 생성하는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 추출하되, SQL 쿼리에 따라 AS-IS DB(110) 상의 테이블의 한글 명과 컬럼의 한글 명을 추출할 뿐만 아니라, PK(Primary Key) 여부와 컬럼 순서를 추출한 뒤, 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우 테이블과 컬럼의 한글 명을 생성하기 위한 과정인 "초기 표준화"를 수행하고, AS-IS ERD(10)를 생성시 전체 SQL에서 JOIN 구문을 뽑아서 분석하되, JOIN 패턴만을 자동으로 추출한 후에 테이블 간의 관계를 도출하는 AS-IS ERD 생성수단(210); 및
    AS-IS ERD 생성수단(210)의 초기 표준화 요청에 따라 AS-IS DB(100)의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않거나, 잘못된 방법으로 저장되어 있는 경우를 해결하기 위해 AS-IS DB(100)에 대한 백업 DB(600) 상의 AS-IS DB(100)의 식별번호와 매칭되는 카테고리를 추출한 뒤, 백업 DB(600)에 대한 테이블과 컬럼에 대한 복구를 위한 데이터 백업 서비스 요청을 전송하는 빅데이터 서버(500); 를 포함하며,
    빅데이터 서버(500)는 데이터 백업 서비스 요청에 따라 네트워크(400)를 통해 AS-IS DB(100)와 백업 DB(600) 모두에 대해서 데이터 세션을 연결하고, 테이블과 컬럼의 한글 명인 COMMENT 정보가 저장된 하나의 AS-IS DB(100)에서 백업 DB(600)로 빅데이터 서버(500)의 중계에 따라 백업 데이터가 저장된 이전 주기 중 가장 최근의 주기로부터 이전 주기로 진행함에 따라 백업 DB(600) 상의 AS-IS DB(100)의 테이블과 컬럼의 한글 명이 저장되어 있는 경우, 저장된 테이블과 컬럼의 한글 명을 추출하여 AS-IS DB(100) 상의 테이블과 컬럼의 한글 명인 COMMENT 정보가 AS-IS DB(110)에 저장되어 있지 않는 정보를 대체하고,
    AS-IS ERD 생성수단(210)이 AS-IS ERD(10)를 생성한 후에는 AS-IS ERD(20)에 대한 모델링을 수행하는 TO-BE ERD 생성수단(220); 을 더 포함하며,
    TO-BE ERD 생성수단(220)에 의해 11개의 패턴에 따라 NOTE 정보를 관리하면서 모델링을 완료하며, TO-BE ERD 생성수단(220)에 의해 수행되는 로직은 추후에 데이터 이행 SQL 생성모듈(230)에 의한 매핑정의서 생성에 사용되고, 나아가 마이그레이션 SQL 작성에 사용되며,
    TO-BE ERD 생성수단(220)은, TO-BE ERD(20)에 AS-IS ERD(10)에 대한 모든 엔터티와 속성을 저장하면서 모델링을 수행하며, 저장되는 속성이 코드 속성인 경우에는 UDP에 코드값 정보도 저장하고,
    AS-IS ERD(10)에서 TO-BE ERD(20)를 생성하는 과정에서의 TO-BE 엔터티와 AS-IS 엔터티의 매핑 정보인 ERD 매핑 정보를 사용하여 데이터 이행 SQL을 생성하는 데이터 이행 SQL 생성수단(230); 을 더 포함하는 것을 특징으로 하는 하이브리드 ERD 관리 시스템.
  2. 청구항 1에 있어서, AS-IS ERD 생성수단(210)은,
    AS-IS ERD(10)를 생성하는 AS-IS DB(110)에 대해서 우선 SQL 쿼리를 사용하여 테이블, 컬럼 목록을 추출과 "초기 표준화 과정" 외에 "코드 프로파일링 과정" 외에 각 테이블 및 컬럼를 기준으로 한 AS-IS 속성정보에 대한 수집이 AS-IS ERD 생성수단(210)에 의해 수행되면 AS-IS 속성목록을 완성하는 것을 특징으로 하는 하이브리드 ERD 관리 시스템.
  3. 청구항 2에 있어서, AS-IS ERD 생성수단(210)이,
    AS-IS ERD(10)를 생성하기 위해, 컬럼의 한글 명을 정하는 표준화 과정에서 해당 속성이 코드인지 여부를 검토하되, 상기 AS-IS 속성목록의 속성 명이 구분, 유형 및 코드 중 하나로 종료되는 경우 코드 후보로 설정하고, 컬럼 명이 TP, TYPE 등으로 종료되는 경우도 코드 후보로 설정하고, 후보로 설정된 코드에 대해서 실제 AS-IS DB(100)에서 사용된 값을 조사함으로써, 미사용 코드를 제외하는 방식으로 "코드 프로파일링 과정"를 수행하는 것을 특징으로 하는 하이브리드 ERD 관리 시스템.
KR1020200024051A 2020-02-27 2020-02-27 하이브리드 erd 관리 시스템 및 그 방법 KR102099069B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200024051A KR102099069B1 (ko) 2020-02-27 2020-02-27 하이브리드 erd 관리 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200024051A KR102099069B1 (ko) 2020-02-27 2020-02-27 하이브리드 erd 관리 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR102099069B1 true KR102099069B1 (ko) 2020-04-08

Family

ID=70275694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200024051A KR102099069B1 (ko) 2020-02-27 2020-02-27 하이브리드 erd 관리 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102099069B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102347203B1 (ko) * 2021-11-24 2022-01-03 조동건 개체-관계 다이어그램 정보에 기초한 프로그램 코드 자동 생성 방법
KR20220127443A (ko) * 2021-03-11 2022-09-20 김기창 데이터 아키텍쳐 관리 시스템
KR102660914B1 (ko) * 2023-11-07 2024-04-24 김기창 대용량 데이터 활용을 위한 공통 코드 정비 및 정제와 설계 방법 및 서버

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031326A (ja) * 2004-07-15 2006-02-02 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
KR100877156B1 (ko) * 2008-04-17 2009-01-07 (주)아이티엑스퍼트그룹 비정형 질의언어에 대한 사전 성능 분석 시스템 및 방법
JP2011258002A (ja) * 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム
KR20160117965A (ko) * 2015-04-01 2016-10-11 삼성에스디에스 주식회사 NoSQL 모델 생성 방법 및 그 장치
KR20190063565A (ko) 2017-11-30 2019-06-10 엘지디스플레이 주식회사 유기 발광 표시 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031326A (ja) * 2004-07-15 2006-02-02 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
KR100877156B1 (ko) * 2008-04-17 2009-01-07 (주)아이티엑스퍼트그룹 비정형 질의언어에 대한 사전 성능 분석 시스템 및 방법
JP2011258002A (ja) * 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム
KR20160117965A (ko) * 2015-04-01 2016-10-11 삼성에스디에스 주식회사 NoSQL 모델 생성 방법 및 그 장치
KR20190063565A (ko) 2017-11-30 2019-06-10 엘지디스플레이 주식회사 유기 발광 표시 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220127443A (ko) * 2021-03-11 2022-09-20 김기창 데이터 아키텍쳐 관리 시스템
KR102639897B1 (ko) * 2021-03-11 2024-02-22 김기창 데이터 아키텍쳐 관리 시스템
KR102347203B1 (ko) * 2021-11-24 2022-01-03 조동건 개체-관계 다이어그램 정보에 기초한 프로그램 코드 자동 생성 방법
KR102660914B1 (ko) * 2023-11-07 2024-04-24 김기창 대용량 데이터 활용을 위한 공통 코드 정비 및 정제와 설계 방법 및 서버

Similar Documents

Publication Publication Date Title
KR102099069B1 (ko) 하이브리드 erd 관리 시스템 및 그 방법
Khayyat et al. Bigdansing: A system for big data cleansing
CN102609402B (zh) 一种基于实时策略的本体模型生成及管理装置及方法
Nguyen et al. Clone-aware configuration management
US20090006302A1 (en) Methods and Apparatus for Capturing and Detecting Inconsistencies in Relational Data Using Conditional Functional Dependencies
US8135702B2 (en) Eliminating unnecessary statistics collections for query optimization
KR102639897B1 (ko) 데이터 아키텍쳐 관리 시스템
CN104268216A (zh) 一种基于互联网信息的数据清洗系统
CN107608732A (zh) 一种基于bug知识图谱的bug搜索定位方法
CN111125758A (zh) 一种基于全语法树解析的动态脱敏方法
Stephan et al. Using mutation analysis for a model-clone detector comparison framework
CN112733156A (zh) 基于代码属性图的软件脆弱性智能检测方法、系统及介质
LU503512B1 (en) Operating method for construction of knowledge graph based on naming rule and caching mechanism
CN117312281B (zh) 一种多源异构数据自动融合方法、系统、设备及存储介质
CN111914066A (zh) 多源数据库全局搜索方法及系统
Romero et al. Describing analytical sessions using a multidimensional algebra
CN117389541B (zh) 基于对话检索生成模板的配置系统及设备
CN112527796B (zh) 数据表处理方法、装置及计算机可读存储介质
CN110633084B (zh) 基于单个样例的代码转换推导方法和装置
Suárez-Cabal et al. Incremental test data generation for database queries
CN114925142A (zh) 一种orm框架的多类型数据库兼容方法、装置、设备及介质
Adedayo et al. Schema reconstruction in database forensics
Guo et al. Automatically Repairing SQL Faults
Cai et al. Application of association rule algorithm in distributed new SQL database design
Saroha et al. Multi-version data warehouse: A survey

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant