KR102125010B1 - System and method for analyzing database migration - Google Patents

System and method for analyzing database migration Download PDF

Info

Publication number
KR102125010B1
KR102125010B1 KR1020200032672A KR20200032672A KR102125010B1 KR 102125010 B1 KR102125010 B1 KR 102125010B1 KR 1020200032672 A KR1020200032672 A KR 1020200032672A KR 20200032672 A KR20200032672 A KR 20200032672A KR 102125010 B1 KR102125010 B1 KR 102125010B1
Authority
KR
South Korea
Prior art keywords
sql
database
information
conversion
unit
Prior art date
Application number
KR1020200032672A
Other languages
Korean (ko)
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 KR1020200032672A priority Critical patent/KR102125010B1/en
Application granted granted Critical
Publication of KR102125010B1 publication Critical patent/KR102125010B1/en

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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24526Internal representations for queries
    • 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

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)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a system for analyzing a database migration, which is capable of significantly reducing the analysis cost and time required to perform a database migration project. The system for analyzing a database migration includes a SQL extraction unit for extracting structured query language (SQL) information from an original database and an original application; an object analysis unit for analyzing an object from the extracted SQL information; a syntax analysis unit for analyzing an SQL statement from the extracted SQL information; and a migration cost calculation unit for calculating man-hours or costs required for database migration by using the analysis result of the object analysis unit and the syntax analysis unit, wherein the SQL extraction unit extracts SQL information from meta information of the original database including information on an internal object of the original database and a source code of the original application, the object analysis unit and the syntax analysis unit classify the object and SQL syntax analyzed from the extracted SQL information into a case where it is officially confirmed that the object and SQL syntax are basically incompatible with a target database or a target application and a case where it is not officially confirmed that the object and SQL syntax are incompatible with a target database or a target application other than basic, and the migration cost calculation unit calculates the man-hours or costs required for database migration by setting weights differently for the case of basic incompatibility and the case of non-compliance not officially confirmed.

Description

데이터베이스 전환 분석 시스템 및 방법{System and method for analyzing database migration}System and method for analyzing database migration}

본 발명은 데이터베이스 전환 비용 분석 시스템 및 방법에 관한 것으로서, 원본 데이터베이스 시스템을 대상 데이터베이스 시스템으로 전환하는 프로젝트를 안정적이고 효율적으로 수행할 수 있도록 데이터베이스 전환 프로젝트 수행의 사전 단계에 예상되는 공수 및 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어질 수 있도록 한다.The present invention relates to a system and method for analyzing a database conversion cost, and calculates expected airlifts and costs in a preliminary stage of a database conversion project to stably and efficiently perform a project for converting a source database system to a target database system. Plan review for management of these projects can be made.

데이터베이스의 변경 도입시 수반되는 어플리케이션 전환과 데이터베이스 마이그레이션 프로젝트에 대한 사전 단계에 예상되는 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 단기간에 수행되어야 하는데, 종래에는 소수의 컨설팅 인력이 개별적인 기준에 따라 수작업으로 질의, 취합, 검토, 보고 등의 형태로 수행하고 있다.In the early stages of application conversion and database migration projects that are involved in the introduction of database changes, estimated costs are calculated and plans for managing these projects need to be performed in a short period of time. It is performed in the form of inquiries, collection, review, and reporting by hand.

또한 단기간에 다수의 데이터베이스 시스템의 전환에 대한 평가를 하는 경우 이러한 평가에 투입되는 인력별 능력 편차로 인하여 서로 일관적인 기준이 반영되지 못하여 프로젝트의 비용 산출에 오류가 발생할 가능성이 높다.In addition, when evaluating the conversion of multiple database systems in a short period of time, there is a high possibility that an error will occur in calculating the cost of the project due to the inconsistent standard of each other due to the variation in the ability of each manpower used for the evaluation.

또한 데이터베이스 시스템의 전환에 대한 평가를 하는 경우 대상 데이터베이스와 동일한 모의 환경에서 평가가 이루어지지 못하여 오류가 발생할 가능성이 높다.In addition, when evaluating the conversion of the database system, it is highly likely that an error will occur because the evaluation cannot be performed in the same simulation environment as the target database.

또한 어플리케이션 전환과 데이터베이스 마이그레이션 프로젝트의 실제 수행 경험이 데이터베이스에 축적되지 못하여 결과의 신뢰성 확보가 어렵다.In addition, it is difficult to secure the reliability of the results because the actual experience of application conversion and database migration project is not accumulated in the database.

등록특허공보 제10-0928382호는 메인프레임 시스템의 데이터베이스를 개방형 시스템에 적합한 데이터베이스로 변환하는 마이그레이션 장치 및 그 방법에 관한 것으로서 코드 체계로 인한 오류를 최소화하고 보다 신속하게 메인프레임 시스템에서 사용되고 있는 데이터베이스를 개방형 시스템에 적합한 데이터베이스로 변환하기 위하여 코드 변환 모듈을 포함하고 있으나, 사전에 코드 체계에 대한 조사가 어떻게 이루어지는지 나타나 있지 아니하여 사전 단계에 예상되는 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어지기 어렵다는 문제점이 있다.Registered Patent Publication No. 10-0928382 relates to a migration apparatus and method for converting a database of a mainframe system to a database suitable for an open system, and minimizes errors due to a code system and more quickly uses a database used in the mainframe system. It includes a code conversion module to convert to a database suitable for an open system, but it does not show how the code system is investigated beforehand, so it is possible to calculate the expected cost in advance and review the plan for the management of these projects. There is a problem that it is difficult to achieve.

일본 공개특허공보 제2009-223851호는 데이터베이스 시스템의 마이그레이션 방법에 관한 것으로서, 원본 데이터베이스 시스템을 분석하여 변환용 테이블을 생성한 후 상기 변환용 테이블을 사용하여 데이터베이스 시스템의 마이그레이션을 수행하고, 상기 변환용 테이블에 대해서 반복적으로 업데이트를 수행하여 변환 오류를 방지하고 있으나, 사전에 코드 체계에 대한 조사가 어떻게 이루어지는지 나타나 있지 아니하여 사전 단계에 예상되는 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어지기 어렵다는 문제점이 있다.Japanese Unexamined Patent Publication No. 2009-223851 relates to a method of migrating a database system, analyzes an original database system to generate a table for conversion, and then performs migration of the database system using the table for conversion, and for the conversion The table is repeatedly updated to prevent conversion errors, but it does not show how to investigate the code system in advance, so it calculates the expected cost in the preliminary stage and reviews plans for management of these projects. There is a problem that it is difficult to lose.

일본 공개특허공보 제2017-162152호는 데이터 마이그레이션 시스템 및 제어 방법에 관한 것으로서, 고객의 데이터를 각 고객 전용 공간에 세입자의 단위로 관리하는 시스템에서 원본 시스템과 대상 시스템을 병행 가동하면서 세입자 단위로 단계적으로 데이터베이스 마이그레이션을 수행하는 경우에 데이터의 집계 처리와 같은 일괄 처리가 수행되지 않도록 제어하여 세입자의 원본 시스템의 데이터가 업데이트되지 않도록 하고 있으나, 사전에 코드 체계에 대한 조사가 어떻게 이루어지는지 나타나 있지 아니하여 사전 단계에 예상되는 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어지기 어렵다는 문제점이 있다.Japanese Patent Application Publication No. 2017-162152 relates to a data migration system and a control method, in which a source system and a target system are operated in parallel in a system that manages customer data in tenant units in each customer-only space, step by step in tenant units In the case of performing database migration, it is prevented from updating data of the tenant's original system by controlling not to perform batch processing such as data aggregation, but it does not show how the investigation of the code system is done in advance. There is a problem in that it is difficult to calculate an expected cost in a preliminary stage and to review a plan for managing such a project.

일본 공개특허공보 제2018-109898호는 데이터 마이그레이션 시스템에 관한 것으로서, 구조형 데이터베이스 시스템을 관계형 데이터베이스 시스템으로 전환할 때 데이터베이스 마이그레이션을 체계적이고 단계적으로 수행할 수 있도록 구조형 데이터베이스의 레코드 데이터 항목과 관계형 데이터베이스의 테이블과 필드를 연결 유지하고 있으나, 사전에 코드 체계에 대한 조사가 어떻게 이루어지는지 나타나 있지 아니하여 사전 단계에 예상되는 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어지기 어렵다는 문제점이 있다.Japanese Patent Application Publication No. 2018-109898 relates to a data migration system, and records data items of the structured database and tables of the relational database so that database migration can be systematically and step-by-step when the structured database system is converted to a relational database system. Although the and fields are maintained, there is a problem in that it is difficult to calculate the expected cost in the preliminary stage and to review the plan for the management of these projects because it does not show how the investigation of the code system is performed in advance.

등록특허공보 제10-0928382호Registered Patent Publication No. 10-0928382 일본 공개특허공보 제2009-223851호Japanese Patent Application Publication No. 2009-223851 일본 공개특허공보 제2017-162152호Japanese Patent Application Publication No. 2017-162152 일본 공개특허공보 제2018-109898호Japanese Patent Application Publication No. 2018-109898

본 발명은 원본 데이터베이스 시스템을 대상 데이터베이스 시스템으로 전환하는 프로젝트를 안정적이고 효율적으로 수행할 수 있도록 데이터베이스 전환 프로젝트 수행의 사전 단계에 예상되는 공수 및 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어질 수 있도록 하는 것을 목적으로 한다.The present invention calculates expected airlifts and costs in the preliminary stages of performing the database conversion project so that the project for converting the source database system to the target database system can be performed stably and efficiently, and a plan review for the management of these projects can be made. It is aimed at making it possible.

또한 본 발명의 다른 목적은 데이터베이스 전환 프로젝트의 수행을 위한 분석 비용과 소요 시간을 대폭 감소할 수 있도록 하는 것을 목적으로 한다.In addition, another object of the present invention is to make it possible to significantly reduce the analysis cost and time required to perform the database conversion project.

또한 본 발명의 다른 목적은, 데이터베이스 전환 프로젝트의 수행을 위한 평가시에 데이터베이스 기반의 규칙을 적용함에 따라 일정한 품질의 평가 작업 수행이 가능하도록 하는 것이다.In addition, another object of the present invention, to apply a database-based rules when evaluating to perform a database conversion project to enable the performance of evaluation work of a certain quality.

또한 본 발명의 다른 목적은, 데이터베이스 전환을 위한 규칙의 변경 및 추가를 규칙 데이터베이스에 즉각 반영하여 데이터베이스 전환을 위한 환경 변환에 신속하게 대응하여 품질 유지의 기반을 마련하는 것이다.Another object of the present invention is to provide a basis for maintaining quality by promptly responding to an environment change for database conversion by immediately reflecting changes and additions of rules for database conversion to the rule database.

또한 본 발명의 다른 목적은, 데이터베이스 전환을 위한 지식을 공유할 수 있도록 하여 프로젝트 수행 인력의 능력 편차로 인한 공수 변화에 대응할 수 있는 기반을 마련하는 것이다.In addition, another object of the present invention is to provide a basis for responding to the change in airborne due to the deviation in the ability of the project execution personnel by allowing knowledge to be shared for database conversion.

본 발명이 해결하고자 하는 과제는 상기 목적으로만 제한하지 아니하고, 위에서 명시적으로 나타내지 아니한 다른 기술적 과제는 이하 본 발명의 구성 및 작용을 통하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 쉽게 이해할 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned purposes only, and other technical problems not explicitly indicated above are easily understood by those of ordinary skill in the art to which the present invention pertains through the configuration and operation of the present invention. Will be able to.

본 발명에서는, 상기 과제를 해결하기 위하여 이하의 구성을 포함한다.In this invention, the following structures are included in order to solve the said subject.

본 발명은 데이터베이스 전환 분석 시스템에 관한 것으로서, 원본 데이터베이스와 원본 애플리케이션으로부터 SQL(Structured Query Language) 정보를 추출하는 SQL 추출부; 상기 추출된 SQL 정보로부터 객체(object)를 분석하는 객체 분석부; 상기 추출된 SQL 정보로부터 SQL 구문을 분석하는 구문 분석부; 상기 객체 분석부와 상기 구문 분석부의 분석 결과를 사용하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하는 전환 비용 산정부;를 포함하고, 상기 SQL 추출부는 상기 원본 데이터베이스의 내부 객체(object)에 관한 정보를 포함하고 있는 상기 원본 데이터베이스의 메타정보와 상기 원본 애플리케이션의 소스 코드로부터 SQL 정보를 추출하고, 상기 객체 분석부와 상기 구분 분석부는 상기 추출된 SQL 정보로부터 분석된 객체(object) 및 SQL 구문이 대상 데이터베이스 또는 대상 애플리케이션과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우로 구분하고, 상기 전환 비용 산정부는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우에 대해서 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 한다.The present invention relates to a database conversion analysis system, a SQL extraction unit for extracting SQL (Structured Query Language) information from the original database and the original application; An object analysis unit analyzing an object from the extracted SQL information; A parsing unit parsing the SQL syntax from the extracted SQL information; The object analysis unit and the parsing unit using the analysis results of the conversion cost calculation to calculate the required airborne or cost for the database conversion; includes, The SQL extraction unit includes information about the internal object (object) of the original database SQL information is extracted from the source information of the original application and the meta information of the original database, and the object analysis unit and the classification analysis unit are analyzed by the object and SQL syntax from the extracted SQL information. Or, if it is incompatible with the target application, it is divided into a basic incompatible case that is officially confirmed and a non-basically incompatible case that is not officially confirmed. It is characterized by setting the weights differently for incompatible cases other than the basic, so that the airlift or cost required for database conversion can be calculated.

상기 객체 분석부는 상기 추출된 SQL 정보로부터 분석된 객체(object)가 대상 데이터베이스와 비호환되는 경우 기본 비호환되는 객체(object)를 먼저 등록하고 기본 외 비호환되는 객체(object)를 추가하도록 하여 상기 기본 외 비호환되는 객체(object)에 대하여 업데이트가 가능하도록 하는 것을 특징으로 한다.When the object analyzed from the extracted SQL information is incompatible with the target database, the object analysis unit first registers a basic incompatible object and adds a non-default incompatible object. It is characterized in that it is possible to update non-basic non-compatible objects.

본 발명의 상기 전환 비용 산정부는 상기 추출된 SQL 정보로부터 분석된 SQL 구문에 대하여 SQL 구문의 길이, 조인(JOIN) 참조 테이블 수, 서브 쿼리 구현 횟수 중 적어도 어느 하나에 따라 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 한다.The conversion cost estimator of the present invention sets the weight differently according to at least one of the length of the SQL syntax, the number of join (JOIN) reference tables, and the number of sub-query implementations for the SQL syntax analyzed from the extracted SQL information. It is characterized by being able to calculate the airlift or cost required for conversion.

본 발명의 상기 전환 비용 산정부는 상기 추출된 SQL 정보로부터 분석된 SQL 구문에 대하여 쿼리 유형에 따라 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 한다.The conversion cost calculation unit of the present invention is characterized in that it is possible to calculate the required air or cost for database conversion by setting different weights according to the query type for the SQL syntax analyzed from the extracted SQL information.

본 발명의 상기 SQL 추출부는 공식적으로 확인되는 규칙에 따라 SQL 정보를 추출하거나, 공식적으로 확인되는 규칙이 없는 경우 SQL 정보의 시작 키워드 문장을 판별하는 코드를 유추하여 SQL 정보를 추출하는 것을 특징으로 한다.The SQL extracting unit of the present invention is characterized in that it extracts SQL information according to a rule that is officially confirmed, or extracts SQL information by inferring a code for determining a starting keyword sentence of SQL information when there is no officially confirmed rule. .

또한 본 발명은 데이터베이스 전환 분석 방법에 관한 것으로서, SQL 추출부에서 원본 데이터베이스와 원본 애플리케이션으로부터 SQL(Structured Query Language) 정보를 추출하는 단계; 객체 분석부에서 상기 추출된 SQL 정보로부터 객체(object)를 분석하는 단계; 구문 분석부에서 상기 추출된 SQL 정보로부터 SQL 구문을 분석하는 단계; 전환 비용 산정부에서 상기 객체 분석부와 상기 구문 분석부의 분석 결과를 사용하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하는 단계;를 포함하고, 상기 SQL 추출부는 상기 원본 데이터베이스의 내부 객체에 관한 정보를 포함하고 있는 상기 원본 데이터베이스의 메타정보와 상기 원본 애플리케이션의 소스 코드로부터 SQL 정보를 추출하고, 상기 객체 분석부와 상기 구분 분석부는 상기 추출된 SQL 정보로부터 분석된 객체(object) 및 SQL 구문이 대상 데이터베이스 또는 대상 애플리케이션과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우로 구분하고, 상기 전환 비용 산정부는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우에 대해서 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 한다.In addition, the present invention relates to a database conversion analysis method, extracting SQL (Structured Query Language) information from the original database and the original application in the SQL extraction unit; Analyzing an object from the extracted SQL information in an object analysis unit; Parsing the SQL syntax from the extracted SQL information in the parsing unit; In the conversion cost calculation unit using the analysis results of the object analysis unit and the parsing unit to calculate the required number or cost for the database conversion; includes, The SQL extraction unit includes information about the internal object of the original database Extracting the SQL information from the source information of the original application and the meta information of the original database, and the object analysis unit and the classification analysis unit are analyzed by the object (object) and SQL syntax from the extracted SQL information target database or In the case of incompatibility with the target application, it is divided into basic incompatible cases that are officially confirmed and non-basically incompatible cases that are not officially confirmed. Other than that, it is characterized by setting the weights differently for incompatible cases so that the airlift or cost required for database conversion can be calculated.

또한 본 발명은 상기 데이터베이스 전환 분석 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램일 수 있다.In addition, the present invention may be a computer program stored in a medium to execute the database conversion analysis method.

본 발명의 효과는 원본 데이터베이스 시스템을 대상 데이터베이스 시스템으로 전환하는 프로젝트를 안정적이고 효율적으로 수행할 수 있도록 데이터베이스 전환 프로젝트 수행의 사전 단계에 예상되는 공수 및 비용을 산출하고 이러한 프로젝트의 관리를 위한 계획 검토가 이루어질 수 있도록 하는 것이다.The effect of the present invention is to calculate the expected airlift and cost in the preliminary stages of performing the database conversion project so that the project of converting the source database system to the target database system can be performed stably and efficiently. To make it happen.

또한 본 발명의 다른 효과는 데이터베이스 전환 프로젝트의 수행을 위한 분석 비용과 소요 시간을 대폭 감소할 수 있도록 하는 것이다.In addition, another effect of the present invention is to significantly reduce the analysis cost and time required to perform the database conversion project.

또한 본 발명의 다른 효과는 데이터베이스 전환 프로젝트의 수행을 위한 평가시에 데이터베이스 기반의 규칙을 적용함에 따라 일정한 품질의 평가 작업 수행이 가능하도록 하는 것이다.In addition, another effect of the present invention is to make it possible to perform evaluation work of a constant quality by applying a database-based rule when evaluating a database conversion project.

또한 본 발명의 다른 효과는 데이터베이스 전환을 위한 규칙의 변경 및 추가를 규칙 데이터베이스에 즉각 반영하여 데이터베이스 전환을 위한 환경 변환에 신속하게 대응하여 품질 유지의 기반을 마련하는 것이다.In addition, another effect of the present invention is to provide a basis for maintaining quality by promptly responding to changes in the environment for database conversion by immediately reflecting changes and additions of rules for database conversion to the rules database.

또한 본 발명의 다른 효과는 데이터베이스 전환을 위한 지식을 공유할 수 있도록 하여 프로젝트 수행 인력의 능력 편차로 인한 공수 변화에 대응할 수 있는 기반을 마련하는 것이다.In addition, another effect of the present invention is to provide a basis for responding to a change in airborne due to a deviation in the ability of a project execution manpower by allowing knowledge to be shared for database conversion.

본 발명에 의한 효과는 상기 효과로만 제한하지 아니하고, 위에서 명시적으로 나타내지 아니한 다른 효과는 이하 본 발명의 구성 및 작용을 통하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 쉽게 이해할 수 있을 것이다.The effects of the present invention are not limited to the above effects, and other effects not explicitly indicated above will be easily understood by those of ordinary skill in the art to which the present invention pertains through the configuration and operation of the present invention.

도 1은 본 발명의 데이터베이스 전환 분석 시스템, 데이터베이스 전환 프로젝트 수행 시스템, 데이터베이스 운영 관리 시스템을 포함하는 전체적인 구성의 개략도를 도시한다.
도 2는 본 발명의 데이터베이스 전환 분석 시스템과 데이터베이스 전환 프로젝트 수행 시스템의 구체적인 내부 구성도를 도시한다.
도 3은 본 발명의 데이터베이스 전환 분석 방법의 구체적인 흐름도를 도시한다.
1 shows a schematic diagram of an overall configuration including a database conversion analysis system, a database conversion project execution system, and a database operation management system of the present invention.
2 shows a detailed internal configuration diagram of the database conversion analysis system and the database conversion project execution system of the present invention.
Figure 3 shows a specific flow chart of the database conversion analysis method of the present invention.

이하 본 발명의 바람직한 실시예에 따른 전체적인 구성 및 작용에 대해 설명하기로 한다. 이러한 실시예는 예시적인 것으로서 본 발명의 구성 및 작용을 제한하지는 아니하고, 실시예에서 명시적으로 나타내지 아니한 다른 구성 및 작용도 이하 본 발명의 실시예를 통하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 쉽게 이해할 수 있는 경우는 본 발명의 기술적 사상으로 볼 수 있을 것이다.Hereinafter, the overall configuration and operation according to a preferred embodiment of the present invention will be described. These examples are exemplary, and do not limit the configuration and operation of the present invention, and other configurations and operations not explicitly indicated in the embodiments will also be described in the art to which the present invention pertains through the embodiments of the present invention. If the person having the understanding can easily understand it will be seen as a technical idea of the present invention.

데이터베이스의 객체에는 테이블(table), 뷰(view), 인덱스(index) 등 여러 종류가 있으며, 원본 데이터베이스에는 대상 데이터베이스와 서로 호환되지 않는 비호환 객체(object)가 있을 수 있으며, 오러클, 마이크로소프트 등 데이터베이스 시스템의 제공업체는 공식 문서를 발간하여 호환 객체(object)와 비호환 객체(object)를 공지하는 것이 일반적이다.There are several types of objects in the database, such as tables, views, indexes, etc. In the source database, there may be incompatible objects that are incompatible with the target database, Oracle, Microsoft, etc. It is common practice for database system providers to publish official documents to announce compatible and incompatible objects.

한편, 상기 제공업체의 공식 문서에 공지된 호환 객체(object)와 비호환 객체(object)에 대하여 본 발명의 발명자는 데이터베이스 전환 프로젝트 수행시에 실제와는 차이점이 있음을 발견하게 되어 이에 따라, 상기 공식 문서에 비호환 객체(object)로 공지되고 실제로도 비호환 객체(object)인 경우에는 기본 비호환 객체(object)로 분류하고, 상기 공식 문서에 호환 객체(object)로 공지되었으나 실제로는 비호환 객체(object)인 경우에는 기본 외 비호환 객체(object)로 분류하고 있다.On the other hand, the inventors of the present invention have found that there is a difference from the actual when performing a database conversion project with respect to compatible objects and incompatible objects known in the official document of the provider. It is known as an incompatible object in the official document, and in fact, in the case of an incompatible object, it is classified as a basic incompatible object, and it is known as a compatible object in the official document, but is actually an incompatible object. In the case of (object), it is classified as a non-basic object.

많은 데이터베이스 관련 프로그램들에서는 구조화된 질의어(SQL: Structured Query Language)를 표준으로 채택하고 있으며, 일반적으로 데이터베이스 메타정보와 상기 데이터베이스를 직접 또는 간접적으로 조작하는 애플리케이션의 소스 코드에는 SQL이 포함되어 있다.Structured Query Language (SQL) is adopted as a standard in many database-related programs, and SQL is included in database meta information and the source code of an application that directly or indirectly manipulates the database.

상기 데이터베이스 메타정보에는 프로시저(Procedure), 함수(Function) 코드와 데이터 정의어(DDL: Data Definition Language)가 포함되는 것이 일반적인데 상기 프로시저(Procedure), 함수(Function) 코드에 SQL이 포함되어 있고 DDL은 SQL의 한 종류이며, 이로부터 데이터베이스의 객체(object)가 추출되고 분석될 수 있다.The database meta information generally includes a procedure, function code, and data definition language (DDL). SQL is included in the procedure and function code. DDL is a kind of SQL, from which objects in the database can be extracted and analyzed.

상기 애플리케이션의 제공업체에 의하여 공지되는 규칙에 기반하여 상기 애플리케이션의 소스 코드에 SQL이 포함될 수 있고 상기 제공업체에 의하여 규칙이 공지되지 않더라도 상기 애플리케이션의 소스 코드에 SQL이 포함되는 것이 일반적이다.It is common to include SQL in the source code of the application based on rules notified by the provider of the application, and include SQL in the source code of the application even if the rules are not announced by the provider.

SQL 구문에 있어서도 원본 데이터베이스에는 대상 데이터베이스와 서로 호환되지 않는 비호환 SQL 구문이 있을 수 있으며, 오러클, 마이크로소프트 등 데이터베이스 시스템의 제공업체는 공식 문서를 발간하여 호환 SQL 구문과 비호환 SQL 구문을 공지하는 것이 일반적이다.Even in the case of SQL syntax, the source database may have incompatible SQL syntax that is incompatible with the target database. Providers of database systems such as Oracle and Microsoft publish official documents to announce compatible and incompatible SQL syntax. It is common.

이에 대해서도 상기 제공업체의 공식 문서에 공지된 호환 SQL 구문과 비호환 SQL 구문에 대하여 본 발명의 발명자는 데이터베이스 프로젝트 수행시에 실제와는 차이점이 있음을 발견하게 되어 이에 따라, 상기 공식 문서에 비호환 SQL 구문으로 공지되고 실제로도 비호환 SQL 구문인 경우에는 기본 난이도를 갖는 SQL 구문으로 분류하고, 상기 공식 문서에 호환 SQL 구문으로 공지되었으나 실제로는 비호환 SQL 구문인 경우에는 복합 난이도를 갖는 SQL 구문으로 분류하고 있다.In this regard, the inventors of the present invention have found that there is a difference from the actual when performing a database project with respect to the compatible SQL syntax and incompatible SQL syntax known in the official document of the provider. Known as SQL syntax, and if it is actually incompatible SQL syntax, it is classified as SQL syntax having basic difficulty, and in the official document, it is known as compatible SQL syntax, but when it is actually incompatible SQL syntax, it is classified as SQL syntax having complex difficulty. Doing.

도 1은 본 발명의 데이터베이스 전환 분석 시스템, 데이터베이스 전환 프로젝트 수행 시스템, 데이터베이스 운영 관리 시스템을 포함하는 전체적인 구성의 개략도를 도시한다.1 shows a schematic diagram of an overall configuration including a database conversion analysis system, a database conversion project execution system, and a database operation management system of the present invention.

도 1을 참조하면, 원본 데이터베이스(41)와 원본 애플리케이션(42)을 대상 데이터베이스(51)와 대상 애플리케이션(52)으로 전환하고 운영 및 관리하기 위하여 본 발명은 데이터베이스(DB: Database) 전환 분석 시스템(10), 데이터베이스(DB: Database) 전환 프로젝트 수행 시스템(20), 데이터베이스(DB: Database) 운영 관리 시스템(30)을 포함하고 있다.Referring to Figure 1, the original database 41 and the original application 42 to the target database 51 and the target application 52 to convert, operate and manage the present invention database (DB: Database) conversion analysis system ( 10), database (DB: Database) conversion project execution system 20, and includes a database (DB: Database) operation management system 30.

특히, 본 발명의 DB 전환 분석 시스템(10)은 원본 데이터베이스(41)와 원본 애플리케이션(42)을 대상 데이터베이스(51)와 대상 애플리케이션(52)으로 전환하는 프로젝트를 수행하기 전에 먼저 이러한 프로젝트를 수행하기 위한 공수 또는 비용을 산정하고 위험을 분석하게 된다. 공수는 작업에 필요한 인원수 또는 노동시간을 의미한다.In particular, the DB conversion analysis system 10 of the present invention first performs such a project before performing a project of converting the source database 41 and the source application 42 to the target database 51 and the target application 52. Calculate the airlift or cost for the project and analyze the risk. Karate means the number of people required for work or working hours.

본 발명의 DB 전환 프로젝트 수행 시스템(20)은 사전에 수행된 공수 또는 비용 산정과 위험 분석을 통하여 실제 DB 전환 프로젝트 수행의 일정을 단축할 수 있고 공수 또는 비용 산정과 위험 분석을 통하여 전환 가이드를 마련하여 표준화된 규칙을 제공할 수 있고 업무 효율화를 추구할 수 있게 된다.The DB conversion project execution system 20 of the present invention can shorten the schedule of actual DB conversion project execution through previously performed karate or cost estimation and risk analysis, and prepares a conversion guide through karate or cost estimation and risk analysis As a result, standardized rules can be provided and work efficiency can be pursued.

또한 본 발명의 DB 운영 관리 시스템(30)은 DB 전환 분석 시스템(10)과 DB 전환 프로젝트 수행 시스템(20)에 의한 DB 전환 프로젝트 수행 후에 안정적인 DB 사용을 가능하게 하고 간소화된 작업을 추구할 수 있게 된다.In addition, the DB operation management system 30 of the present invention enables stable use of DB and pursues a simplified operation after performing the DB conversion project by the DB conversion analysis system 10 and the DB conversion project execution system 20. do.

도 2는 본 발명의 데이터베이스 전환 분석 시스템과 데이터베이스 전환 프로젝트 수행 시스템의 구체적인 내부 구성도를 도시한다.2 shows a detailed internal configuration diagram of the database conversion analysis system and the database conversion project execution system of the present invention.

도 2를 참조하면, 본 발명의 데이터베이스 전환 분석 시스템(10)은 SQL 추출부(110), 객체 분석부(120), 구문 분석부(130), 전환 비용 산정부(140)를 포함하고, 본 발명의 데이터베이스 전환 프로젝트 수행 시스템(20)은 전환 가이드 제공부(210), 전환 검증 수행부(220), 전환 진척 관리부(230)를 포함하고 있다.Referring to FIG. 2, the database conversion analysis system 10 of the present invention includes an SQL extraction unit 110, an object analysis unit 120, a parsing unit 130, and a conversion cost calculation unit 140. The database conversion project execution system 20 of the present invention includes a conversion guide providing unit 210, a conversion verification execution unit 220, and a conversion progress management unit 230.

상기 SQL 추출부(110)는 원본 데이터베이스(41)와 원본 애플리케이션(42)으로부터 SQL(Structured Query Language) 정보를 추출하기 위하여 상기 원본 데이터베이스(41)의 내부 객체(object)에 관한 정보를 포함하고 있는 상기 원본 데이터베이스(41)의 메타정보와 상기 원본 애플리케이션(42)의 소스 코드로부터 SQL 정보를 감지하게 된다.The SQL extraction unit 110 includes information about an internal object of the original database 41 to extract structured query language (SQL) information from the original database 41 and the original application 42. SQL information is sensed from the meta information of the original database 41 and the source code of the original application 42.

상기 원본 데이터베이스(41)의 메타정보에는 프로시저(Procedure), 함수(Function) 코드와 데이터 정의어(DDL: Data Definition Language) 정보가 포함되는 것이 일반적인데 상기 프로시저(Procedure), 함수(Function) 코드에 SQL 정보가 포함되어 있고 DDL은 SQL의 한 종류이므로 상기 원본 데이터베이스(41)의 메타정보로부터 SQL 정보를 감지할 수 있게 된다.The meta information of the original database 41 generally includes a procedure, function code, and data definition language (DDL) information. The procedure, function Since SQL information is included in the code and DDL is a type of SQL, it is possible to detect SQL information from meta information of the original database 41.

제공업체에 의하여 공지되는 규칙에 기반하여 상기 원본 애플리케이션(42)의 소스 코드에 SQL 정보가 포함될 수 있고 상기 제공업체에 의하여 규칙이 공지되지 않더라도 상기 원본 애플리케이션(42)의 소스 코드에 SQL 정보가 포함되는 것이 일반적이다.SQL information may be included in the source code of the original application 42 based on a rule announced by a provider, and SQL information is included in the source code of the original application 42 even if the rule is not announced by the provider It is common.

상기 객체 분석부(120)는 상기 데이터베이스 메타정보로부터 추출되는 SQL 정보로부터 객체(object)를 분석할 수 있고, 상기 객체(object)는 대상 데이터베이스(51) 또는 대상 애플리케이션(52)과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우로 구분하게 된다.The object analysis unit 120 may analyze an object from SQL information extracted from the database meta information, and the object is incompatible with the target database 51 or the target application 52 In this case, the basic incompatibilities that are officially confirmed and the non-basic incompatibilities that are not officially confirmed are classified.

결국 기본 비호환 객체(object)에 부여되는 가중치보다 기본 외 비호환 객체(object)에 부여되는 가중치를 크게 설정하여 기본 비호환 객체(object)보다 기본 외 비호환 객체(object)에 대하여 필요한 공수 또는 비용을 크게 산정하도록 할 수 있다.Eventually, by setting the weight given to the non-basic non-compatible object larger than the weight given to the basic non-compatible object, the required karate or non-basic non-compatible object than the basic non-compatible object You can make it costly.

상기 구문 분석부(130)는 상기 추출된 SQL 정보로부터 분석된 SQL 구문이 대상 데이터베이스(51) 또는 대상 애플리케이션(52)과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우로 구분하고 기본 비호환 SQL 구문보다 기본 외 비호환 SQL 구문에 대하여 필요한 공수 또는 비용을 크게 산정하도록 할 수 있다.The parsing unit 130 is a basic incompatible case that is officially confirmed when the SQL syntax analyzed from the extracted SQL information is incompatible with the target database 51 or the target application 52 and is not officially confirmed. It can be classified into non-basic non-compatible cases, and it is possible to calculate the required airlift or cost for non-basic non-basic SQL statements rather than basic non-compatible SQL statements.

또한 원본 데이터베이스(41)와 원본 애플리케이션(42)으로부터 SQL 정보를 추출하게 되면 상기 추출된 SQL 정보는 경로 정보, 파일명, SQL ID 등을 포함하여 저장하게 되며, 비호환 객체(object)는 그 개수에 따라 비호환 객체(object)명으로 저장될 수 있고, 상기 비호환 객체(object)에 대하여 사용된 SQL 내역도 저장될 수 있다. 또한 추출된 SQL 정보는 후처리가 용이하도록 SQL 구문별로 분리되어 각각의 파일 기반으로 저장할 수 있다.Also, when SQL information is extracted from the original database 41 and the original application 42, the extracted SQL information is stored including path information, file name, SQL ID, and the like, and incompatible objects are stored in the number. Accordingly, it may be stored as an incompatible object name, and the SQL history used for the incompatible object may also be stored. Also, the extracted SQL information can be separated for each SQL statement and stored on a file-by-file basis for easy post-processing.

상기 전환 비용 산정부(140)는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우에 대해서 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하게 된다.The conversion cost calculation unit 140 calculates the airlift or cost required for database conversion by setting different weights for the basic incompatibility and the non-basic incompatibility that is not officially confirmed.

또한 상기 전환 비용 산정부(140)는 SQL 구문의 복잡도를 계산하여 복잡도에 따라 가중치를 서로 달리 설정할 수 있는데, SQL 구문의 길이, SQL 구문 내에 참조 테이블 수, SQL 구문 내에 포함되는 서브쿼리의 구현 횟수 등을 고려하게 된다.In addition, the conversion cost calculator 140 may calculate the complexity of the SQL statement and set different weights according to the complexity. The length of the SQL statement, the number of reference tables in the SQL statement, and the number of implementations of subqueries included in the SQL statement And so on.

예를 들면, SQL 구문의 길이가 250 byte인 경우가 일반적인데 SQL 구문의 길이가 아주 긴 경우는 3,000 ~ 4,000 byte인 경우도 있는바, SQL 구문의 길이가 길어지면 복잡도가 높아지도록 가중치도 높게 설정할 수 있고, SQL 구문 내에 참조 테이블 수가 많아짐에 따라 그리고 서브쿼리의 구현 휫수가 많아짐에 따라 복잡도가 높아지도록 가중치도 높게 설정할 수 있다.For example, the length of the SQL statement is usually 250 bytes, and the length of the SQL statement is very long, sometimes in the range of 3,000 to 4,000 bytes. If the length of the SQL statement is long, the weight is set high to increase the complexity. In addition, as the number of reference tables in the SQL statement increases, and as the number of implementations of subqueries increases, the weight can be set high to increase complexity.

또한 쿼리 유형별로 가중치를 서로 달리 설정할 수도 있는데, OLTP(Online Transaction Processing)성 쿼리, OLAP(Online Analytical Processing)성 쿼리, 계층형 쿼리, 스칼라 함수 사용 쿼리를 구분하고, 예를 들면 OLTP성 쿼리에 대해서 기본적인 가중치를 설정하고 OLAP성 쿼리, 계층형 쿼리, 스칼라 함수 사용 쿼리에 대해서 가중치를 높게 설정하여 데이터베이스 전환에 필요한 공수 또는 비용이 높게 계산되도록 하게 된다.In addition, the weights can be set differently for each type of query. Online transaction processing (OLTP) queries, online analytical processing (OLAP) queries, hierarchical queries, and queries using scalar functions are classified, for example, for OLTP queries. By setting the basic weights and setting the weights high for OLAP queries, hierarchical queries, and queries using scalar functions, the airlift or cost required for database conversion is calculated high.

또한 상기 객체 분석부(120)는 상기 추출된 SQL로부터 분석된 객체(object)가 대상 데이터베이스와 비호환되는 경우 기본 비호환 객체(object)를 먼저 등록한 이후에 기본 외 비호환 객체(object)를 추가하도록 하여 상기 기본 외 비호환 객체(object)에 대하여 업데이트가 가능하도록 하는 것이 바람직하다.In addition, when the object analyzed from the extracted SQL is incompatible with the target database, the object analysis unit 120 first registers a basic non-compatible object, and then adds a non-basic non-basic object. It is desirable to make it possible to update the non-basic incompatible object.

상기 전환 가이드 제공부(210)는 상기 비호환 객체(object)와 상기 비호환 SQL 구문 중심의 전환 가이드를 제공하고, 상기 전환 검증 수행부(220)는 상기 비호환 객체(object)와 상기 비호환 SQL 구문에 대하여 파라미터를 입력하고 쿼리를 실행한 후 수행 결과를 검증함으로써 기능 및 데이터를 검증하며, 상기 전환 진척 관리부(230)는 상기 비호환 객체(object)와 상기 비호환 SQL 구문에 대하여 전환 대상 파일의 전환, 전환 소스 업로드, 테스트 담당 지정, 테스트 완료에 대하여 단계별로 진척 관리하게 된다.The conversion guide providing unit 210 provides the conversion guide based on the incompatible object and the incompatible SQL syntax, and the conversion verification performing unit 220 is compatible with the incompatible object. The function and data are verified by entering parameters for the SQL syntax and executing the query and verifying the execution result, and the conversion progress management unit 230 converts the incompatible object and the incompatible SQL syntax Progress will be managed step-by-step for conversion of files, upload of conversion sources, designation of test staff, and completion of tests.

한편, 원본 데이터베이스(41)와 원본 애플리케이션(42)으로부터 대상 데이터베이스(51)와 대상 애플리케이션(52)으로 전환이 불가능한 경우가 있을 수 있는데, 이때는 구문을 조정하거나 대체 구문을 고안하기 위한 공수 및 비용을 산정하도록 한다.On the other hand, there may be a case where it is not possible to switch from the source database 41 and the source application 42 to the target database 51 and the target application 52. In this case, the effort and cost to adjust the syntax or devise an alternative syntax Try to calculate.

또한 전환이 불가능한 부분에 대해서 추가 평가를 수행할 수 있는데, 추가 평가에서는 대상 데이터베이스(51)에서 SQL 구문을 모의 수행하여 추가 평가에 따른 보정값을 저장하고 공수 및 비용 산정시 이를 반영할 수 있도록 한다.In addition, an additional evaluation can be performed on the part that cannot be converted. In the additional evaluation, SQL statements are simulated in the target database 51 to store the correction values according to the additional evaluation and to reflect them when calculating the cost and cost. .

도 3은 본 발명의 데이터베이스 전환 분석 방법의 구체적인 흐름도를 도시한다.Figure 3 shows a specific flow chart of the database conversion analysis method of the present invention.

도 3을 참조하면, 본 발명의 데이터베이스 전환 분석 방법은 먼저 SQL 추출부(110)에서 원본 데이터베이스(41)와 원본 애플리케이션(42)으로부터 SQL(Structured Query Language) 정보를 추출하는 단계(S100)를 수행한다.Referring to Figure 3, the database conversion analysis method of the present invention first performs a step (S100) of extracting SQL (Structured Query Language) information from the original database 41 and the original application 42 in the SQL extraction unit 110 do.

상기 SQL 추출부(110)는 원본 데이터베이스(41)와 원본 애플리케이션(42)으로부터 SQL(Structured Query Language) 정보를 추출하기 위하여 상기 원본 데이터베이스(41)의 내부 객체(object)에 관한 정보를 포함하고 있는 상기 원본 데이터베이스(41)의 메타정보와 상기 원본 애플리케이션(42)의 소스 코드로부터 SQL 정보를 감지하게 된다.The SQL extraction unit 110 includes information about an internal object of the original database 41 to extract structured query language (SQL) information from the original database 41 and the original application 42. SQL information is sensed from the meta information of the original database 41 and the source code of the original application 42.

상기 원본 데이터베이스(41)의 메타정보에는 프로시저(Procedure), 함수(Function) 코드와 데이터 정의어(DDL: Data Definition Language) 정보가 포함되는 것이 일반적인데 상기 프로시저(Procedure), 함수(Function) 코드에 SQL 정보가 포함되어 있고 DDL은 SQL의 한 종류이므로 상기 원본 데이터베이스(41)의 메타정보로부터 SQL 정보를 감지할 수 있게 된다.The meta information of the original database 41 generally includes a procedure, function code, and data definition language (DDL) information. The procedure, function Since SQL information is included in the code and DDL is a type of SQL, it is possible to detect SQL information from meta information of the original database 41.

제공업체에 의하여 공지되는 규칙에 기반하여 상기 원본 애플리케이션(42)의 소스 코드에 SQL 정보가 포함될 수 있고 상기 제공업체에 의하여 규칙이 공지되지 않더라도 상기 원본 애플리케이션(42)의 소스 코드에 SQL 정보가 포함되는 것이 일반적이다.SQL information may be included in the source code of the original application 42 based on a rule announced by a provider, and SQL information is included in the source code of the original application 42 even if the rule is not announced by the provider It is common.

그 다음은, 객체 분석부(120)에서 상기 추출된 SQL 정보로부터 객체(object)를 분석하는 단계(S200)를 수행하게 된다.Next, the object analysis unit 120 analyzes an object from the extracted SQL information (S200).

상기 객체 분석부(120)는 상기 데이터베이스 메타정보로부터 추출되는 SQL 정보로부터 객체(object)를 분석할 수 있고, 상기 객체(object)는 대상 데이터베이스(51) 또는 대상 애플리케이션(52)과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우로 구분하게 된다.The object analysis unit 120 may analyze an object from SQL information extracted from the database meta information, and the object is incompatible with the target database 51 or the target application 52 In this case, the basic incompatibilities that are officially confirmed and the non-basic incompatibilities that are not officially confirmed are classified.

결국 기본 비호환 객체(object)에 부여되는 가중치보다 기본 외 비호환 객체(object)에 부여되는 가중치를 크게 설정하여 기본 비호환 객체(object)보다 기본 외 비호환 객체(object)에 대하여 필요한 공수 또는 비용을 크게 산정하도록 할 수 있다.Eventually, by setting the weight given to the non-basic non-compatible object larger than the weight given to the basic non-compatible object, the required karate or non-basic non-compatible object than the basic non-compatible object You can make it costly.

그 다음은, 구문 분석부(130)에서 상기 추출된 SQL 정보로부터 SQL 구문을 분석하는 단계(S300)를 수행하게 된다.Next, the parsing unit 130 analyzes the SQL syntax from the extracted SQL information (S300).

상기 구문 분석부(130)는 상기 추출된 SQL 정보로부터 분석된 SQL 구문이 대상 데이터베이스(51) 또는 대상 애플리케이션(52)과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우로 구분하고 기본 비호환 SQL 구문보다 기본 외 비호환 SQL 구문에 대하여 필요한 공수 또는 비용을 크게 산정하도록 할 수 있다.The parsing unit 130 is a basic incompatible case that is officially confirmed when the SQL syntax analyzed from the extracted SQL information is incompatible with the target database 51 or the target application 52 and is not officially confirmed. It can be classified into non-basic non-compatible cases, and it is possible to calculate the required airlift or cost for non-basic non-basic SQL statements rather than basic non-compatible SQL statements.

그 다음은, 전환 비용 산정부(140)에서 상기 객체 분석부와 상기 구문 분석부의 분석 결과를 사용하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하는 단계를 수행하게 된다.Next, the conversion cost calculating unit 140 performs the step of calculating the airlift or cost required for the database conversion using the analysis results of the object analysis unit and the syntax analysis unit.

상기 전환 비용 산정부(140)는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우에 대해서 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하게 된다.The conversion cost calculation unit 140 calculates the airlift or cost required for database conversion by setting different weights for the basic incompatibility and the non-basic incompatibility that is not officially confirmed.

또한 상기 전환 비용 산정부(140)는 SQL 구문의 복잡도를 계산하여 복잡도에 따라 가중치를 서로 달리 설정할 수 있는데, SQL 구문의 길이, SQL 구문 내에 참조 테이블 수, SQL 구문 내에 포함되는 서브쿼리의 구현 횟수 등을 고려하게 된다.In addition, the conversion cost calculator 140 may calculate the complexity of the SQL statement and set different weights according to the complexity. The length of the SQL statement, the number of reference tables in the SQL statement, and the number of implementations of subqueries included in the SQL statement And so on.

예를 들면, SQL 구문의 길이가 250 byte인 경우가 일반적인데 SQL 구문의 길이가 아주 긴 경우는 3,000 ~ 4,000 byte인 경우도 있는바, SQL 구문의 길이가 길어지면 복잡도가 높아지도록 가중치도 높게 설정할 수 있고, SQL 구문 내에 참조 테이블 수가 많아짐에 따라 그리고 서브쿼리의 구현 휫수가 많아짐에 따라 복잡도가 높아지도록 가중치도 높게 설정할 수 있다.For example, the length of the SQL statement is usually 250 bytes, and the length of the SQL statement is very long, sometimes in the range of 3,000 to 4,000 bytes. If the length of the SQL statement is long, the weight is set high to increase the complexity. In addition, as the number of reference tables in the SQL statement increases, and as the number of implementations of subqueries increases, the weight can be set high to increase complexity.

또한 쿼리 유형별로 가중치를 서로 달리 설정할 수도 있는데, OLTP(Online Transaction Processing)성 쿼리, OLAP(Online Analytical Processing)성 쿼리, 계층형 쿼리, 스칼라 함수 사용 쿼리를 구분하고, 예를 들면 OLTP성 쿼리에 대해서 기본적인 가중치를 설정하고 OLAP성 쿼리, 계층형 쿼리, 스칼라 함수 사용 쿼리에 대해서 가중치를 높게 설정하여 데이터베이스 전환에 필요한 공수 또는 비용이 높게 계산되도록 하게 된다.In addition, the weights can be set differently for each type of query. Online transaction processing (OLTP) queries, online analytical processing (OLAP) queries, hierarchical queries, and queries using scalar functions are classified, for example, for OLTP queries. By setting the basic weights and setting the weights high for OLAP queries, hierarchical queries, and queries using scalar functions, the airlift or cost required for database conversion is calculated high.

또한 상기 데이터베이스 전환 분석 방법은 저장매체에 저장되어 이를 실행시킬 수 있도록 컴퓨터프로그램의 형태가 될 수 있다.In addition, the database conversion analysis method may be in the form of a computer program to be stored on a storage medium and executed.

10: DB 전환 분석 시스템
20: DB 전환 프로젝트 수행 시스템
30: DB 운영 관리 시스템
41: 원본 데이터베이스
42: 원본 애플리케이션
51: 대상 데이터베이스
52: 대상 애플리케이션
110: SQL 추출부
120: 객체 분석부
130: 구문 분석부
140: 전환 비용 산정부
210: 전환 가이드 제공부
220: 전환 검증 수행부
230: 전환 진척 관리부
10: DB conversion analysis system
20: DB conversion project execution system
30: DB operation management system
41: Source database
42: original application
51: target database
52: target application
110: SQL extraction unit
120: object analysis unit
130: parsing unit
140: Conversion cost calculation
210: Conversion guide provider
220: conversion verification execution unit
230: transition progress management

Claims (7)

데이터베이스 전환 분석 시스템에 있어서,
원본 데이터베이스와 원본 애플리케이션으로부터 SQL(Structured Query Language) 정보를 추출하는 SQL 추출부;
상기 추출된 SQL 정보로부터 객체(object)를 분석하는 객체 분석부;
상기 추출된 SQL 정보로부터 SQL 구문을 분석하는 구문 분석부;
상기 객체 분석부와 상기 구문 분석부의 분석 결과를 사용하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하는 전환 비용 산정부;를 포함하고,
상기 SQL 추출부는 상기 원본 데이터베이스의 내부 객체(object)에 관한 정보를 포함하고 있는 상기 원본 데이터베이스의 메타정보와 상기 원본 애플리케이션의 소스 코드로부터 SQL 정보를 추출하고,
상기 객체 분석부와 상기 구문 분석부는 상기 추출된 SQL 정보로부터 분석된 객체(object) 및 SQL 구문이 대상 데이터베이스 또는 대상 애플리케이션과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우 - 기본 비호환되는 경우는 데이터베이스 시스템의 제공업체에 의하여 비호환되는 경우로 공지된 것이고, 기본 외 비호환되는 경우는 호환되는 경우로 공지되었으나 실제로는 비호환되는 경우로 판별된 경우이다 - 로 구분하고,
상기 전환 비용 산정부는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우에 대해서 가중치를 서로 달리 설정하여 데이터베이스 전환 프로젝트 수행 이전에 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 하는 데이터베이스 전환 분석 시스템.
In the database conversion analysis system,
A SQL extraction unit that extracts structured query language (SQL) information from the original database and the original application;
An object analysis unit for analyzing an object from the extracted SQL information;
A parsing unit parsing the SQL syntax from the extracted SQL information;
It includes; the conversion cost calculation unit for calculating the required air or cost for the database conversion using the analysis results of the object analysis unit and the parsing unit;
The SQL extracting unit extracts SQL information from the meta-information of the original database and the source code of the original application, which includes information about an internal object of the original database,
The object analysis unit and the parsing unit are officially confirmed when the object and SQL syntax analyzed from the extracted SQL information are incompatible with the target database or target application. Non-basic non-compliant cases-Basic non-compatible cases are known as incompatible cases by the provider of the database system, and non-basic non-compatible cases are known as compatible cases, but are actually incompatible cases. It is a case of discrimination-
The conversion cost calculation unit sets the weights differently for the basic incompatibility case and the non-basic incompatibility case which is not officially confirmed, so that it is possible to calculate the airlift or cost required for the database conversion before performing the database conversion project. Database conversion analysis system.
제 1 항에 있어서,
상기 객체 분석부는 상기 추출된 SQL 정보로부터 분석된 객체(object)가 대상 데이터베이스와 비호환되는 경우 기본 비호환되는 객체(object)를 먼저 등록하고 기본 외 비호환되는 객체(object)를 추가하도록 하여 상기 기본 외 비호환되는 객체(object)에 대하여 업데이트가 가능하도록 하는 것을 특징으로 하는 데이터베이스 전환 분석 시스템.
According to claim 1,
When the object analyzed from the extracted SQL information is incompatible with the target database, the object analysis unit first registers a basic incompatible object and adds a non-default incompatible object. Database conversion analysis system characterized in that it is possible to update for non-basic non-compatible objects.
제 1 항에 있어서,
상기 전환 비용 산정부는 상기 추출된 SQL 정보로부터 분석된 SQL 구문에 대하여 SQL 구문의 길이, 조인(JOIN) 참조 테이블 수, 서브 쿼리 구현 횟수 중 적어도 어느 하나에 따라 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 하는 데이터베이스 전환 분석 시스템.
According to claim 1,
The conversion cost estimator needs to set the weight differently according to at least one of the length of the SQL syntax, the number of join (JOIN) reference tables, and the number of sub-query implementations for the SQL syntax analyzed from the extracted SQL information. Database conversion analysis system, characterized in that it is possible to calculate the airborne or cost.
제 1 항에 있어서,
상기 전환 비용 산정부는 상기 추출된 SQL 정보로부터 분석된 SQL 구문에 대하여 쿼리 유형에 따라 가중치를 서로 달리 설정하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 하는 데이터베이스 전환 분석 시스템.
According to claim 1,
The conversion cost estimator is a database conversion analysis system, characterized in that to set the weight according to the query type for the SQL syntax analyzed from the extracted SQL information differently to calculate the required air or cost for the database conversion.
제 1 항에 있어서,
상기 SQL 추출부는 공식적으로 확인되는 규칙에 따라 SQL 정보를 추출하거나, 공식적으로 확인되는 규칙이 없는 경우 SQL 정보의 시작 키워드 문장을 판별하는 코드를 검색하여 SQL 정보를 추출하는 것을 특징으로 하는 데이터베이스 전환 분석 시스템.
According to claim 1,
The SQL extracting unit extracts SQL information according to officially confirmed rules or, if there is no officially confirmed rule, searches for a code to determine the starting keyword sentence of SQL information and extracts SQL information. system.
데이터베이스 전환 분석 방법에 있어서,
SQL 추출부에서 원본 데이터베이스와 원본 애플리케이션으로부터 SQL(Structured Query Language) 정보를 추출하는 단계;
객체 분석부에서 상기 추출된 SQL 정보로부터 객체(object)를 분석하는 단계; 구문 분석부에서 상기 추출된 SQL 정보로부터 SQL 구문을 분석하는 단계;
전환 비용 산정부에서 상기 객체 분석부와 상기 구문 분석부의 분석 결과를 사용하여 데이터베이스 전환에 필요한 공수 또는 비용을 계산하는 단계;를 포함하고,
상기 SQL 추출부는 상기 원본 데이터베이스의 내부 객체에 관한 정보를 포함하고 있는 상기 원본 데이터베이스의 메타정보와 상기 원본 애플리케이션의 소스 코드로부터 SQL 정보를 추출하고,
상기 객체 분석부와 상기 구문 분석부는 상기 추출된 SQL 정보로부터 분석된 객체(object) 및 SQL 구문이 대상 데이터베이스 또는 대상 애플리케이션과 비호환되는 경우에 공식적으로 확인되는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우 - 기본 비호환되는 경우는 데이터베이스 시스템의 제공업체에 의하여 비호환되는 경우로 공지된 것이고, 기본 외 비호환되는 경우는 호환되는 경우로 공지되었으나 실제로는 비호환되는 경우로 판별된 경우이다 - 로 구분하고,
상기 전환 비용 산정부는 기본 비호환되는 경우와 공식적으로 확인되지 않는 기본 외 비호환되는 경우에 대해서 가중치를 서로 달리 설정하여 데이터베이스 전환 프로젝트 수행 이전에 데이터베이스 전환에 필요한 공수 또는 비용을 계산할 수 있도록 하는 것을 특징으로 하는 데이터베이스 전환 분석 방법.
In the database conversion analysis method,
Extracting structured query language (SQL) information from the original database and the original application in the SQL extraction unit;
Analyzing an object from the extracted SQL information in an object analysis unit; Parsing the SQL syntax from the extracted SQL information in the parsing unit;
Including the conversion cost calculation step of calculating the karate or cost required for the database conversion using the analysis results of the object analysis unit and the parser;
The SQL extraction unit extracts SQL information from the source information of the original application and the meta information of the original database, which contains information about the internal object of the original database,
The object analysis unit and the parsing unit are officially confirmed when the object and SQL syntax analyzed from the extracted SQL information are incompatible with the target database or target application. Non-basic non-compliant cases-Basic non-compatible cases are known as incompatible cases by the provider of the database system. Non-basic non-compatible cases are known as compatible cases, but are actually incompatible cases. It is a case of discrimination-
The conversion cost calculation unit sets the weights differently for basic incompatibility and non-basic incompatibility cases that are not officially confirmed, so that it is possible to calculate the airlift or cost required for database conversion before performing the database conversion project. Database conversion analysis method.
제 6 항의 데이터베이스 전환 분석 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램.A computer program stored in a medium to execute the method for analyzing a database conversion of claim 6.
KR1020200032672A 2020-03-17 2020-03-17 System and method for analyzing database migration KR102125010B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200032672A KR102125010B1 (en) 2020-03-17 2020-03-17 System and method for analyzing database migration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200032672A KR102125010B1 (en) 2020-03-17 2020-03-17 System and method for analyzing database migration

Publications (1)

Publication Number Publication Date
KR102125010B1 true KR102125010B1 (en) 2020-06-19

Family

ID=71137366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200032672A KR102125010B1 (en) 2020-03-17 2020-03-17 System and method for analyzing database migration

Country Status (1)

Country Link
KR (1) KR102125010B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022254487A1 (en) * 2021-05-31 2022-12-08 富士通株式会社 Information processing program, information processing method, and information processing device

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328920A (en) * 1991-04-26 1992-11-17 Toyo Commun Equip Co Ltd Spread spectrum communication method
JP2009223851A (en) 2008-03-19 2009-10-01 Inforce Co Ltd Method for migrating database system
KR100928382B1 (en) 2006-10-17 2009-11-23 삼성에스디에스 주식회사 Migration apparatus which convert database of mainframe system into database of open system and method for thereof
JP2009295013A (en) * 2008-06-06 2009-12-17 Hitachi Ltd Method, apparatus and program for database management
JP5071478B2 (en) * 2007-05-11 2012-11-14 日本電気株式会社 Database structuring support system
KR20160136922A (en) * 2015-05-21 2016-11-30 삼성에스디에스 주식회사 Apparatus and method for verifying sql campatibility
KR101731579B1 (en) * 2016-09-07 2017-05-12 주식회사 비트나인 Database capable of intergrated query processing and data processing method thereof
JP2017162152A (en) 2016-03-09 2017-09-14 キヤノン株式会社 Data migration system, and method for controlling data migration system
JP2018109898A (en) 2017-01-05 2018-07-12 株式会社日立製作所 Data migration system
KR101919771B1 (en) * 2017-06-12 2019-02-11 주식회사 티맥스데이터 Optimization technique for database application
JP6628455B2 (en) * 2015-11-30 2020-01-08 華為技術有限公司Huawei Technologies Co.,Ltd. Data inquiry method and apparatus, and database system
JP2020021417A (en) * 2018-08-03 2020-02-06 株式会社日立製作所 Database management system and method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328920A (en) * 1991-04-26 1992-11-17 Toyo Commun Equip Co Ltd Spread spectrum communication method
KR100928382B1 (en) 2006-10-17 2009-11-23 삼성에스디에스 주식회사 Migration apparatus which convert database of mainframe system into database of open system and method for thereof
JP5071478B2 (en) * 2007-05-11 2012-11-14 日本電気株式会社 Database structuring support system
JP2009223851A (en) 2008-03-19 2009-10-01 Inforce Co Ltd Method for migrating database system
JP2009295013A (en) * 2008-06-06 2009-12-17 Hitachi Ltd Method, apparatus and program for database management
KR20160136922A (en) * 2015-05-21 2016-11-30 삼성에스디에스 주식회사 Apparatus and method for verifying sql campatibility
JP6628455B2 (en) * 2015-11-30 2020-01-08 華為技術有限公司Huawei Technologies Co.,Ltd. Data inquiry method and apparatus, and database system
JP2017162152A (en) 2016-03-09 2017-09-14 キヤノン株式会社 Data migration system, and method for controlling data migration system
KR101731579B1 (en) * 2016-09-07 2017-05-12 주식회사 비트나인 Database capable of intergrated query processing and data processing method thereof
JP2018109898A (en) 2017-01-05 2018-07-12 株式会社日立製作所 Data migration system
KR101919771B1 (en) * 2017-06-12 2019-02-11 주식회사 티맥스데이터 Optimization technique for database application
JP2020021417A (en) * 2018-08-03 2020-02-06 株式会社日立製作所 Database management system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
데이터베이스 구축 비용 산정기준, https://www.kdata.or.kr/info/info_01_view.html?field=&keyword=&page=24&dbnum=11&mode=detail&type= *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022254487A1 (en) * 2021-05-31 2022-12-08 富士通株式会社 Information processing program, information processing method, and information processing device

Similar Documents

Publication Publication Date Title
US11436213B1 (en) Analysis of database query logs
US11409764B2 (en) System for data management in a large scale data repository
Deng et al. The Data Civilizer System.
US11294869B1 (en) Expressing complexity of migration to a database candidate
US9886482B2 (en) Data management system with stored procedures
US9996558B2 (en) Method and system for accessing a set of data tables in a source database
Pan et al. Guided test generation for database applications via synthesized database interactions
CN111611458A (en) Method for realizing system data architecture combing based on metadata and data analysis technology in big data management
US8135702B2 (en) Eliminating unnecessary statistics collections for query optimization
CN112100200A (en) Method for automatically generating SQL (structured query language) statements based on dimension model
US10474675B2 (en) Explain tool for optimizing SPARQL queries
US11789931B2 (en) User-interactive defect analysis for root cause
KR100877156B1 (en) System and method of access path analysis for dynamic sql before executed
Pan et al. Program-input generation for testing database applications using existing database states
KR102125010B1 (en) System and method for analyzing database migration
CN114238338A (en) Multi-dimensional DevOps measurement index acquisition method
CN110580170B (en) Method and device for identifying software performance risk
CN117667991A (en) Structured query language generation method, verification method and device
KR102259073B1 (en) Data Standardization Management System
Brkić et al. A time-constrained algorithm for integration testing in a data warehouse environment
CN107402920A (en) The method and apparatus for determining relation database table connection complexity factor
KR20110099319A (en) Automatic data store architecture detection
Manousis et al. Extraction of embedded queries via static analysis of host code
CN116401177B (en) DDL correctness detection method, device and medium
Xin et al. MEET DB2: automated database migration evaluation

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant