KR20250059146A - Method and Device for migrating data using Artificial Intelligence - Google Patents
Method and Device for migrating data using Artificial Intelligence Download PDFInfo
- Publication number
- KR20250059146A KR20250059146A KR1020230143168A KR20230143168A KR20250059146A KR 20250059146 A KR20250059146 A KR 20250059146A KR 1020230143168 A KR1020230143168 A KR 1020230143168A KR 20230143168 A KR20230143168 A KR 20230143168A KR 20250059146 A KR20250059146 A KR 20250059146A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- rdbms
- graphdbms
- unit
- tables
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 바람직한 일 실시예에서는 관계형 데이터 베이스 관리시스템(Relational Database Management System: RDBMS)에 저장된 데이터를 그래프 데이터베이스 관리시스템(GraphDBMS)으로 이전하는 방법을 제안한다.In a preferred embodiment of the present invention, a method of transferring data stored in a relational database management system (RDBMS) to a graph database management system (GraphDBMS) is proposed.
Description
본 발명은 기계학습을 통해 RDBMS의 데이터를 GraphDBMS로 원활하게 이전하는 방법에 관한 것이다.The present invention relates to a method for smoothly transferring data from an RDBMS to a GraphDBMS through machine learning.
데이터베이스는 전산화된 정보 저장 및 검색 시스템이다. 관계 데이터베이스 관리 시스템(Relational Database Management system: RDBMS)은 데이터를 저장 및 검색하기 위한 관계 기법을 사용하는 데이터베이스 관리 시스템(DBMS)이다.A database is a computerized information storage and retrieval system. A relational database management system (RDBMS) is a database management system (DBMS) that uses relational techniques to store and retrieve data.
본 발명의 바람직한 일 실시예에서는 관계형 데이터 베이스 관리시스템(Relational Database Management System: RDBMS)에 저장된 데이터를 그래프 데이터베이스 관리시스템(GraphDBMS)으로 이전하고자 한다.In a preferred embodiment of the present invention, data stored in a relational database management system (RDBMS) is to be transferred to a graph database management system (GraphDBMS).
본 발명의 바람직한 일 실시예로서, AI기반데이터이관장치는 RDBMS의 스키마를 분석하여 테이블, 상기 테이블을 구성하는 레코드, 복수의 테이블 각각의 레코드 간의 관계를 나타내는 외래키를 식별하는 전처리부; 상기 RDBMS의 스키마에 명시적으로 정의되지 않은 데이터에 대하여 상기 복수의 테이블 각각을 구성하는 레코드들 간의 데이터 특징을 생성하고, 생성된 데이터 특징을 기초로 상기 복수의 테이블 간의 관계를 추론하는 기계학습부; 상기 전처리부에서 식별된 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 상기 외래키를 GraphDBMS의 릴레이션쉽에 각각 매핑하는 제 1 매핑부; 상기 기계학습부에서 추론된 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 상기 외래키를 GraphDBMS의 릴레이션쉽에 자동으로 각각 매핑하는 제 2 매핑부;및 상기 제 1 매핑부 및 상기 제 2 매핑부의 매핑에 따라 RDBMS의 데이터를 GraphDBMS로 이관하는 데이터변환부;를 포함하는 것을 특징으로 한다. As a preferred embodiment of the present invention, an AI-based data transfer device includes: a preprocessing unit that analyzes a schema of an RDBMS to identify tables, records constituting the tables, and foreign keys indicating relationships between records of each of a plurality of tables; a machine learning unit that generates data characteristics between records constituting each of the plurality of tables for data not explicitly defined in the schema of the RDBMS and infers relationships between the plurality of tables based on the generated data characteristics; a first mapping unit that maps the tables of the RDBMS identified in the preprocessing unit to labels of the GraphDBMS, the records of the RDBMS to nodes of the GraphDBMS, and the foreign keys of the RDBMS to relationships of the GraphDBMS, respectively; It is characterized by including a second mapping unit that automatically maps the table of the RDBMS inferred in the machine learning unit to the label of the GraphDBMS, the record of the RDBMS to the node of the GraphDBMS, and the foreign key of the RDBMS to the relation of the GraphDBMS; and a data conversion unit that transfers data of the RDBMS to the GraphDBMS according to the mapping of the first mapping unit and the second mapping unit.
본 발명의 바람직한 일 실시예로서, AI기반데이터이관장치는 상기 데이터변환부에서 데이터를 이관할 때 데이터의 불일치 또는 누락을 식별하고 수정하는 데이터검증부;를 더 포함하는 것을 특징으로 한다. As a preferred embodiment of the present invention, the AI-based data transfer device is characterized by further including a data verification unit that identifies and corrects data inconsistencies or omissions when transferring data from the data conversion unit.
본 발명의 바람직한 일 실시예로서, 상기 데이터변환부는 RDBMS의 SQL 쿼리를 GraphDBMS의 쿼리 언어 또는 Cypher 쿼리 언어로 번역하는 번역부;를 더 포함하는 것을 특징으로 한다.As a preferred embodiment of the present invention, the data conversion unit is characterized by further including a translation unit that translates an SQL query of an RDBMS into a query language of a GraphDBMS or a Cypher query language.
본 발명의 바람직한 일 실시예에서는 관계형 데이터 베이스 관리시스템(Relational Database Management System: RDBMS)에 저장된 데이터를 그래프 데이터베이스 관리시스템(GraphDBMS)으로 이전할 때, 기계학습을 통해 자동으로 데이터패턴을 파악하여 데이터 변환을 수행함으로써 데이터 이관에 필요한 자원을 크게 줄일 수 있는 효과가 있다. 또한 데이터 이관 과정에서 발생하는 무결성을 AI알고리즘을 통해 자동으로 보완함으로써 데이터 이관의 정확성을 개선시킬 수 있는 효과가 있다.In a preferred embodiment of the present invention, when transferring data stored in a relational database management system (RDBMS) to a graph database management system (GraphDBMS), data patterns are automatically identified through machine learning and data conversion is performed, thereby significantly reducing the resources required for data transfer. In addition, the accuracy of data transfer can be improved by automatically supplementing the integrity occurring during the data transfer process through an AI algorithm.
도 1 은 RDMBS 의 테이블의 일 예를 도시한다.
도 2 는 본 발명의 바람직한 일 실시예로서, AI기반데이터이관장치(200)의 내부 구성도를 도시한다.
도 3 은 본 발명의 바람직한 일 실시예로서, AI기반데이터이관장치(200)에서 기계학습을 통해 어플리케이션의 실행결과 데이터로부터 데이터특징을 추출한 후, GraphDBMS로 변환한 일 예를 도시한다.
도 4 는 본 발명의 바람직한 일 실시예로서, 도 1 에 도시된 RDBMS의 데이터를 GraphDBMS로 자동으로 변환하도록 매핑하는 일 예를 도시한다. Figure 1 illustrates an example of a table of RDMBS.
FIG. 2 illustrates an internal configuration diagram of an AI-based data transfer device (200) as a preferred embodiment of the present invention.
FIG. 3 illustrates an example of a preferred embodiment of the present invention in which data features are extracted from the execution result data of an application through machine learning in an AI-based data transfer device (200) and then converted into GraphDBMS.
FIG. 4 illustrates an example of mapping data of RDBMS illustrated in FIG. 1 to be automatically converted into GraphDBMS, as a preferred embodiment of the present invention.
이하에서는 첨부된 도면을 참조하여 본 발명의 여러 가지 실시 예들을 보다 상세히 설명하도록 하겠다. 나아가, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "부", 및 "장치"는 단순히 본 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 상기 "부", 및 "장치"는 서로 혼용되어 사용될 수 있으며, 실시 예에 따라 하드웨어 또는 소프트웨어로 설계 가능하다. 나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, various embodiments of the present invention will be described in more detail with reference to the attached drawings. Furthermore, the suffixes “part” and “device” for components used in the following description are simply given in consideration of the ease of writing this specification, and the “part” and “device” may be used interchangeably with each other, and may be designed as hardware or software depending on the embodiment. Furthermore, embodiments of the present invention will be described in detail with reference to the attached drawings and the contents described in the attached drawings, but the present invention is not limited or restricted by the embodiments.
도 1 은 RDMBS 의 테이블의 일 예를 도시한다. Figure 1 illustrates an example of a table of RDMBS.
관계형 데이터 베이스 관리시스템(Relational Database Management System: RDBMS)은 데이터의 행(rows) 및 열(columns)로 이루어진 테이블로 구성된다. RDBMS에서는 테이블(110, 120, 130), 테이블 내의 레코드 및 복수의 테이블 각각(110, 120, 130)의 레코드 간의 관계를 나타내는 외래키(S131a~S133a,S131b~S133b) 를 이용하여 데이터와 관계(Relationship)을 저장하고 관리한다. 테이블 스키마는 테이블 정의에 따라 만들어진 데이터 구조를 나타낸다. 예를 들어, R(A1, A2,...,An)의 테이블 스키마가 있는 경우를 가정한다. R은 테이블의 이름을 나타내고, A1, A2,...,An 각각은 필드들의 이름을 나타낸다.A relational database management system (RDBMS) consists of tables consisting of rows and columns of data. In an RDBMS, data and relationships are stored and managed using tables (110, 120, 130), records within the tables, and foreign keys (S131a~S133a, S131b~S133b) that represent relationships between records in each of multiple tables (110, 120, 130). A table schema represents a data structure created according to a table definition. For example, assume a table schema of R(A1, A2,...,An). R represents the name of the table, and A1, A2,...,An each represent the names of fields.
도 1을 참고하면, RDBMS에서 데이터는 테이블(110, 120, 130)의 형태로 관리된다. 제 1 테이블(110), 제 2 테이블(120) 및 제 3 테이블(130)은 각각 9개의 레코드로 구성되어 있다. Referring to Figure 1, data in the RDBMS is managed in the form of tables (110, 120, 130). The first table (110), the second table (120), and the third table (130) each consist of 9 records.
제 1 테이블(110)의 레코드(S111)는 직원을 식별하는 기본키(primary key, PK) 필드(111)와 직원의 이름(112) 필드를 포함한다. 직원을 식별하는 기본키 필드의 데이터는 101~109이다. 직원의 이름 필드(112)의 데이터는 John, Jane, Mark, Emily, David, Sarah, Laura, Chris 및 Jessica 이다. The record (S111) of the first table (110) includes a primary key (PK) field (111) that identifies an employee and an employee name (112) field. The data of the primary key field that identifies an employee are 101 to 109. The data of the employee name field (112) are John, Jane, Mark, Emily, David, Sarah, Laura, Chris, and Jessica.
제 2 테이블(120)을 구성하는 각 레코드는 부서를 식별하는 기본키 필드(121)와 부서명 필드(122) 데이터를 포함한다. 부서를 식별하는 기본키 필드(121)의 데이터는 801~809이다. 부서명 필드(122)의 데이터는 HR, Tech, R&D, Marketing, Finance, QA, Customer Care, Sales 및 Operation 이다.Each record constituting the second table (120) includes a primary key field (121) that identifies a department and a department name field (122) data. The data of the primary key field (121) that identifies a department is 801 to 809. The data of the department name field (122) is HR, Tech, R&D, Marketing, Finance, QA, Customer Care, Sales, and Operation.
제 3 테이블(130)을 구성하는 각 레코드는 직원과 회사의 부서간의 관계를 나타내는 데이터를 포함한다. 제 3 테이블(130)은 회사에서 부서를 이동한 직원에 대한 데이터를 저장한다. 제 3 테이블(130)은 직원의 고유 식별 번호 키를 참조하는 제1 참조키(Foreign Key, FK)(135)와 부서의 고유 식별 번호 키를 참조하는 제 2 참조키(FK)(136)로 구성된다. 제 1 참조키(135)는 반드시 제 1 테이블에 포함된직원을 식별하는 기본키 필드(111) 내의 값을 가져야 한다. 제 2 참조키(136)는 반드시 제 2 테이블에 포함된직원을 식별하는 기본키 필드(121) 내의 값을 가져야 한다. Each record constituting the third table (130) includes data representing a relationship between an employee and a department in the company. The third table (130) stores data on an employee who has moved between departments in the company. The third table (130) is composed of a first reference key (Foreign Key, FK) (135) referencing the unique identification number key of the employee and a second reference key (FK) (136) referencing the unique identification number key of the department. The first reference key (135) must have a value in the primary key field (111) that identifies the employee included in the first table. The second reference key (136) must have a value in the primary key field (121) that identifies the employee included in the second table.
제 3 테이블(130)은 외래키(Foreign Key, FK)를 이용하여 한 테이블의 필드 중 다른 테이블의 행을 식별한다. 예를 들어, 직원을 식별하는 기본키 필드의 데이터가 104인 경우 제 1테이블(110)의 "104 Emily" 를 식별한다. 그리고, 기본키 필드의 데이터가 104인 레코드(S131a, S132a, S133a) 내의 다른 필드의 데이터 802, 803, 806 각각(S131b, S132b, S133b)에 대응하는 테이블의 행을 식별한다. 예를 들어, "802 Tech", "803 R&D", 그리고 "806 QA"를 식별한다. Emily 직원은 회사의 Tech, R&D 및 QA 부서에서 근무한 이력을 확인할 수 있다.The third table (130) identifies rows of fields in one table among fields in another table by using a foreign key (FK). For example, if the data of the primary key field that identifies an employee is 104, it identifies "104 Emily" in the first table (110). Then, it identifies rows in the table corresponding to
본 발명의 또 다른 바람직한 일 실시예에서, 제 3 테이블(130)은 도 1에는 표시되어 있지 않지만 Emily가 근무한 이력이 있는 모든 부서와 각 부서에서 근무한 기간과 같은 추가 데이터를 더 포함할 수 있다. In another preferred embodiment of the present invention, the third table (130) may further include additional data, not shown in FIG. 1, such as all departments in which Emily has worked and the length of time she worked in each department.
도 2 는 본 발명의 바람직한 일 실시예로서, AI기반데이터이관장치(200)의 내부 구성도를 도시한다.FIG. 2 illustrates an internal configuration diagram of an AI-based data transfer device (200) as a preferred embodiment of the present invention.
AI기반데이터이관장치(200)는 전처리부(210), 기계학습부(220), 매핑부(230) 및 데이터변환부(240)를 포함한다. 또한, AI기반데이터이관장치(200)는 데이터검증부(250)를 더 포함할 수 있다. The AI-based data transfer device (200) includes a preprocessing unit (210), a machine learning unit (220), a mapping unit (230), and a data conversion unit (240). In addition, the AI-based data transfer device (200) may further include a data verification unit (250).
전처리부(210)는 도 1 의 예시와 같이 RDMBS의 테이블 스키마를 분석하여 테이블, 상기 테이블을 구성하는 레코드, 복수의 테이블 각각의 레코드 간의 관계를 나타내는 외래키를 식별한다.The preprocessing unit (210) analyzes the table schema of the RDMBS as in the example of Fig. 1 to identify tables, records constituting the tables, and foreign keys indicating relationships between records of each of the multiple tables.
기계학습부(220)는 RDBMS의 스키마에 명시적으로 정의되지 않은 데이터에 대하여 상기 복수의 테이블 각각을 구성하는 레코드들 간의 데이터 특징을 생성하고, 생성된 데이터 특징을 기초로 상기 복수의 테이블 간의 관계를 추론한다.The machine learning unit (220) generates data features between records constituting each of the plurality of tables for data not explicitly defined in the schema of the RDBMS, and infers relationships between the plurality of tables based on the generated data features.
기계학습부(220)는 또한 데이터분석 어플리케이션 실행결과물에서 파악한 데이터에 대하여 상기 복수의 테이블 각각을 구성하는 레코드들 간의 데이터 특징을 생성하고, 생성된 데이터 특징을 기초로 상기 복수의 테이블 간의 관계를 추론할 수 있다. 이에 대한 일 실시예는 도 3을 참고한다. The machine learning unit (220) can also generate data features between records constituting each of the plurality of tables based on data identified from the execution results of the data analysis application, and infer relationships between the plurality of tables based on the generated data features. One example of this is shown in FIG. 3.
매핑부(230)는 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 외래키를 GraphDBMS의 릴레이션쉽에 매핑한다. The mapping unit (230) maps tables of the RDBMS to labels of the GraphDBMS, records of the RDBMS to nodes of the GraphDBMS, and foreign keys of the RDBMS to relationships of the GraphDBMS.
본 발명의 또 다른 바람직한 일 실시예로서, 매핑부(230)는 제 1 매핑부(232)와 제 2 매핑부(234)를 포함할 수 있다. As another preferred embodiment of the present invention, the mapping unit (230) may include a first mapping unit (232) and a second mapping unit (234).
제 1 매핑부(232)는 전처리부(210)에서 받은 결과를 기초로 매핑을 수행하고, 제 2 매핑부(234)는 기계학습부(220)에서 받은 결과를 기초로 매핑을 수행한다. The first mapping unit (232) performs mapping based on the results received from the preprocessing unit (210), and the second mapping unit (234) performs mapping based on the results received from the machine learning unit (220).
제 1 매핑부(232)에서 도 1과 같은 RDBMS의 SQL 로그를 입력받아 도 4와 같이 GraphDBMS의 Cypher로그로 출력하는 예를 설명하면 다음과 같다. An example of receiving an SQL log of an RDBMS like Fig. 1 in the first mapping section (232) and outputting it as a Cypher log of a GraphDBMS like Fig. 4 is explained as follows.
제 1 매핑부(232)는 전처리부(210)에서 테이블 스키마를 기초로 식별된 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 외래키를 GraphDBMS의 릴레이션쉽에 각각 매핑한다. The first mapping unit (232) maps the table of the RDBMS identified based on the table schema in the preprocessing unit (210) to the label of the GraphDBMS, the record of the RDBMS to the node of the GraphDBMS, and the foreign key of the RDBMS to the relation of the GraphDBMS.
RDBMS의 제 1 테이블(110)과 제 2 테이블(120)을 GraphDBMS의 제 1 레이블(Label)(410) 및 제 2 레이블(420)에 매핑한다. RDBMS의 레코드 각각을 GraphDBMS의 노드 각각으로 매핑한다.The first table (110) and the second table (120) of the RDBMS are mapped to the first label (410) and the second label (420) of the GraphDBMS. Each record of the RDBMS is mapped to each node of the GraphDBMS.
제 1 매핑부(232)는 참조키로 구성된 제 3 테이블로부터 직원ID와 부서ID와의 관계를 기초로, 직원ID를 가진 GraphDBMS의 노드와 부서ID를 가진 GraphDBMS 노드의 관계를 형성한다. 관계는 GraphDBMS의 제공하는 명령어를 통하여 관계와 관계와 관련된 속성을 정의한다. 관련된 속성의 일 예로는 발령일, 담당업무 등이 있다.The first mapping unit (232) forms a relationship between a node of GraphDBMS with an employee ID and a node of GraphDBMS with a department ID based on the relationship between the employee ID and the department ID from the third table composed of reference keys. The relationship defines the relationship and the attributes related to the relationship through commands provided by GraphDBMS. Examples of related attributes include the date of appointment and the job in charge.
제 2 매핑부(232)는 기계학습부(220)에서 추론된 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 상기 외래키를 GraphDBMS의 릴레이션쉽에 자동으로 각각 매핑한다. The second mapping unit (232) automatically maps the table of the RDBMS inferred by the machine learning unit (220) to the label of the GraphDBMS, the record of the RDBMS to the node of the GraphDBMS, and the foreign key of the RDBMS to the relation of the GraphDBMS.
제 2 매핑부(232)는 또한 기계학습부(220)에서 도 3의 일 예와 같이 어플리케이션 실행 결과로부터 확보한 데이터로부터 추론된 데이터패턴을 기초로 매핑을 수행할 수 있다. The second mapping unit (232) can also perform mapping based on a data pattern inferred from data obtained from an application execution result, as in the example of FIG. 3, in the machine learning unit (220).
도 3 은 본 발명의 바람직한 일 실시예로서, AI기반데이터이관장치(200)에서 기계학습을 통해 어플리케이션의 실행결과 데이터로부터 데이터특징을 추출한 후, GraphDBMS로 변환한 일 예를 도시한다.FIG. 3 illustrates an example of a preferred embodiment of the present invention in which data features are extracted from the execution result data of an application through machine learning in an AI-based data transfer device (200) and then converted into GraphDBMS.
데이터변환부(240)는 제 1 매핑부(231) 및 제 2 매핑부의 매핑에 따라 RDBMS의 데이터를 GraphDBMS로 이관한다. 데이터변환부(240)는 RDBMS에서 GraphDBMS로 데이터를 이관할 때 AI알고리즘을 이용하여 데이터의 불일치 또는 누락을 식별하고 수정하는 데이터검증부를 더 포함할 수 있다.The data conversion unit (240) transfers data from the RDBMS to the GraphDBMS according to the mapping of the first mapping unit (231) and the second mapping unit. The data conversion unit (240) may further include a data verification unit that uses an AI algorithm to identify and correct data inconsistencies or omissions when transferring data from the RDBMS to the GraphDBMS.
데이터변환부(240)는 또한 RDBMS의 SQL 쿼리를 GraphDBMS의 쿼리 언어 또는 Cypher 쿼리 언어로 번역하는 번역부를 더 포함한다. The data conversion unit (240) also includes a translation unit that translates SQL queries of the RDBMS into a query language of the GraphDBMS or a Cypher query language.
도 3 은 본 발명의 바람직한 일 실시예로서, 기계학습부에서 RDBMS의 스키마에 명시적으로 정의되지 않은 데이터에 대하여 상기 복수의 테이블 각각을 구성하는 레코드들 간의 데이터 특징을 생성하고, 생성된 데이터 특징을 기초로 상기 복수의 테이블 간의 관계를 추론한 일 예를 도시한다. FIG. 3 illustrates an example of a preferred embodiment of the present invention in which a machine learning unit generates data features between records constituting each of the plurality of tables for data not explicitly defined in the schema of an RDBMS, and infers relationships between the plurality of tables based on the generated data features.
기계학습부는 어플리케이션 실행 결과 화면의 데이터가 표시된 테이블의 각 열(310, 320, 330, 340) 간의 관계를 추론할 수 있다. 도 3의 일 예에서, 기계학습부는 직원이름(310)필드와 부서명(320) 필드간의 관계를 추론하고, 직원 이름 필드(310)의 Emily(311), Emily(312),...,Sarah(313) 및 Chris(314)를 각각 GraphDBMS의 노드(315, 313a, 314a)로 변환할 수 있다. 그리고, 부서명(320) 필드의 Tech(321), R&D(322), Q&A(323) 및 Sales(324)를 또한 노드(321a, 322a, 323a, 324a)로 변환할 수 있다. 이 경우, Emily(311)와 Tech(321) 그리고 Emily(312)와 R&D(322)의 직원-부서관계가 생성되며, Emily(311, 312)가 중복되므로 Emily(315)하나에 Tech(321)와 R&D(322) 두 개의 직원-부서 관계를 생성할 수 있다. The machine learning unit can infer the relationship between each column (310, 320, 330, 340) of the table in which the data of the application execution result screen is displayed. In the example of Fig. 3, the machine learning unit can infer the relationship between the employee name (310) field and the department name (320) field, and convert Emily (311), Emily (312), ..., Sarah (313), and Chris (314) of the employee name field (310) into nodes (315, 313a, 314a) of GraphDBMS, respectively. In addition, Tech (321), R&D (322), Q&A (323), and Sales (324) of the department name (320) field can also be converted into nodes (321a, 322a, 323a, 324a). In this case, employee-department relationships are created for Emily (311) and Tech (321) and Emily (312) and R&D (322), and since Emily (311, 312) overlap, two employee-department relationships can be created for one Emily (315), Tech (321) and R&D (322).
그리고, 다른 필드(330, 340)를 참고하여 Emily(315)가 Tech(321)부서에 2020년 1월 3일에 발령되어 Engineer를 담당하고 2022년 3월 3일에 R&D(322)부서에 발령되어 Developer 업무를 담당하였음을 파악할 수 있다. And, by referring to other fields (330, 340), it can be determined that Emily (315) was assigned to the Tech (321) department on January 3, 2020 and was in charge of Engineer work, and was assigned to the R&D (322) department on March 3, 2022 and was in charge of Developer work.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the embodiments of the present invention may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., either singly or in combination. The program commands recorded on the medium may be those specifically designed and configured for the present invention or may be those known to and usable by those skilled in the art of computer software.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.Although the present invention has been described above by means of limited embodiments and drawings, the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains can make various modifications and variations based on this description.
Claims (3)
상기 RDBMS의 스키마에 명시적으로 정의되지 않은 데이터에 대하여 상기 복수의 테이블 각각을 구성하는 레코드들 간의 데이터 특징을 생성하고, 생성된 데이터 특징을 기초로 상기 복수의 테이블 간의 관계를 추론하는 기계학습부;
상기 전처리부에서 식별된 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 상기 외래키를 GraphDBMS의 릴레이션쉽에 각각 매핑하는 제 1 매핑부;
상기 기계학습부에서 추론된 RDBMS의 테이블을 GraphDBMS의 레이블(Label)로, RDBMS의 레코드를 GraphDBMS의 노드로, 그리고 RDBMS의 상기 외래키를 GraphDBMS의 릴레이션쉽에 자동으로 각각 매핑하는 제 2 매핑부;및
상기 제 1 매핑부 및 상기 제 2 매핑부의 매핑에 따라 RDBMS의 데이터를 GraphDBMS로 이관하는 데이터변환부;를 포함하는 것을 특징으로 하는 AI기반데이터이관장치. A preprocessing unit that analyzes the schema of an RDBMS to identify tables, records constituting the tables, and foreign keys indicating relationships between records in each of multiple tables;
A machine learning unit that generates data features between records constituting each of the plurality of tables for data not explicitly defined in the schema of the RDBMS, and infers relationships between the plurality of tables based on the generated data features;
A first mapping unit that maps the table of the RDBMS identified in the above preprocessing unit to the label of the GraphDBMS, the record of the RDBMS to the node of the GraphDBMS, and the foreign key of the RDBMS to the relation of the GraphDBMS, respectively;
A second mapping unit that automatically maps the RDBMS table inferred in the machine learning unit to the GraphDBMS label, the RDBMS record to the GraphDBMS node, and the RDBMS foreign key to the GraphDBMS relation; and
An AI-based data transfer device, characterized by including a data conversion unit that transfers data of an RDBMS to a GraphDBMS according to the mapping of the first mapping unit and the second mapping unit.
상기 데이터변환부에서 데이터를 이관할 때 데이터의 불일치 또는 누락을 식별하고 수정하는 데이터검증부;를 더 포함하는 것을 특징으로 하는 AI기반데이터이관장치. In paragraph 1,
An AI-based data transfer device characterized by further including a data verification unit that identifies and corrects data inconsistencies or omissions when transferring data from the data conversion unit.
RDBMS의 SQL 쿼리를 GraphDBMS의 쿼리 언어 또는 Cypher 쿼리 언어로 번역하는 번역부;를 더 포함하는 것을 특징으로 하는 AI기반데이터이관장치. In the first paragraph, the data conversion unit
An AI-based data transfer device further comprising a translation unit that translates an SQL query of an RDBMS into a query language of a GraphDBMS or a Cypher query language.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230143168A KR20250059146A (en) | 2023-10-24 | 2023-10-24 | Method and Device for migrating data using Artificial Intelligence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230143168A KR20250059146A (en) | 2023-10-24 | 2023-10-24 | Method and Device for migrating data using Artificial Intelligence |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20250059146A true KR20250059146A (en) | 2025-05-02 |
Family
ID=95707221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230143168A Pending KR20250059146A (en) | 2023-10-24 | 2023-10-24 | Method and Device for migrating data using Artificial Intelligence |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20250059146A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10169409B2 (en) | 2015-10-01 | 2019-01-01 | International Business Machines Corporation | System and method for transferring data between RDBMS and big data platform |
-
2023
- 2023-10-24 KR KR1020230143168A patent/KR20250059146A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10169409B2 (en) | 2015-10-01 | 2019-01-01 | International Business Machines Corporation | System and method for transferring data between RDBMS and big data platform |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8131744B2 (en) | Well organized query result sets | |
US6662188B1 (en) | Metadata model | |
US6611838B1 (en) | Metadata exchange | |
US7680862B2 (en) | Rewriting table functions as SQL strings | |
US8886617B2 (en) | Query-based searching using a virtual table | |
US20020107840A1 (en) | Database querying system and method | |
US20060271528A1 (en) | Method and system for facilitating data retrieval from a plurality of data sources | |
US20090055418A1 (en) | Automatic cascading copy operations in a database with referential integrity | |
Zhou et al. | Data Integration and Warehousing Using H2O. | |
US7890532B2 (en) | Complex data access | |
US20080250003A1 (en) | Peer to peer (p2p) concept query abstraction model augmentation with federated access only elements | |
US10977284B2 (en) | Text search of database with one-pass indexing including filtering | |
Teorey et al. | Database design: know it all | |
Orel et al. | Property oriented relational-to-graph database conversion | |
Carme et al. | A model-driven heuristic approach for detecting multidimensional facts in relational data sources | |
KR20250059146A (en) | Method and Device for migrating data using Artificial Intelligence | |
Chakraborty et al. | A survey on the semi-structured data models | |
Vaidya | RDBMS In-Depth | |
Kalinichenko | Effective support of databases with ontological dependencies: Relational languages instead of description logics | |
US20200394193A1 (en) | Text search of database with one-pass indexing | |
Jensen et al. | Evolving relations | |
Boutsinas | On defining OLAP formulations | |
SEM | Database Management Systems | |
Baragoin et al. | DB2 OLAP server theory and practices | |
Raghu et al. | Database Management System 2nd edition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20231024 |
|
PG1501 | Laying open of application |