KR102463665B1 - 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 - Google Patents
원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 Download PDFInfo
- Publication number
- KR102463665B1 KR102463665B1 KR1020210021684A KR20210021684A KR102463665B1 KR 102463665 B1 KR102463665 B1 KR 102463665B1 KR 1020210021684 A KR1020210021684 A KR 1020210021684A KR 20210021684 A KR20210021684 A KR 20210021684A KR 102463665 B1 KR102463665 B1 KR 102463665B1
- Authority
- KR
- South Korea
- Prior art keywords
- dbms
- data
- source
- consistency
- target
- Prior art date
Links
- 238000012795 verification Methods 0.000 claims abstract description 136
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000000605 extraction Methods 0.000 claims description 16
- 230000005012 migration Effects 0.000 abstract description 6
- 238000013508 migration Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 241000921645 Ranunculus auricomus Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 목적은 마이그레이션 작업시 테이블 단위로 빠른 시간 내에 데이터 정합성을 검증하여 운영 서비스 다운타임(Downtime)을 최소화하고, 캐릭터셋이 서로 다른 DBMS의 데이터에 대해서도 운영 DB에 별도의 처리 없이 정합성 검증을 수행하며, 수백 ~ 수천개의 테이블을 수작업으로 정합성 검증하는 절차를 자동화로 수행할 수 있는 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템은, 소스 DBMS; 상기 소스 DBMS와 동종의 타겟 DBMS; 및 상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 1 정합성 검증 툴;을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위해, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템은, 소스 DBMS; 상기 소스 DBMS와 동종의 타겟 DBMS; 및 상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 1 정합성 검증 툴;을 포함하는 것을 특징으로 한다.
Description
본 발명은 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에 관한 것으로, 더욱 상세하게는 동종 또는 이종의 DBMS 시스템에 존재하는 테이블의 데이터를 고속으로 비교하여 테이블의 정합성을 검증하는 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에 관한 것이다.
정보화 시대에 접어들면서 예를 들어, 전자 상거래, 인터넷 금융, 인터넷 쇼핑몰 등의 다양한 분야에서 대용량의 데이터가 발생하고 있고, 그에 따른 다양한 데이터베이스의 사용과 데이터베이스 간 데이터 복제 또는 마이그레이션 작업 등으로 동일 데이터가 여러 데이터베이스에서 업무적으로 사용되고 있다.
이러한 과정에서 데이터의 복제와 마이그레이션 작업 중에 데이터 누락 또는 손상이 발생할 수 있으므로 데이터의 신뢰성을 보장하기 위한 효율적인 운영 방법이 필요하다.
원본 데이터베이스와 타켓 데이터베이스 간 데이터 복제 또는 마이그레이션 시 데이터 정합성의 신뢰성을 보장하기 위해, 통상적으로 원본 데이터베이스와 타켓 데이터베이스의 데이터를 전체 또는 일부를 가져와 행(ROW) 단위로 데이터 전체를 비교하여 데이터 정합성을 체크하여 유지하고 있다.
그런데 이와 같은 ROW 단위의 데이터 정합성 검증 방식은 데이터가 많을수록 검증하는 시간이 증가하는 문제점이 있다.
따라서, 정해진 시간안에 정합성 검증을 완료해야 하는 마이그레이션 작업시에는 ROW 단위의 데이터 정합성 검증 방식의 사용이 불가한 문제점이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위한 본 발명의 목적은 마이그레이션 작업시 테이블 단위로 빠른 시간 내에 데이터 정합성을 검증하여 운영 서비스 다운타임(Downtime)을 최소화하고, 캐릭터셋이 서로 다른 DBMS의 데이터에 대해서도 운영 DB에 별도의 처리 없이 정합성 검증을 수행하며, 수백 ~ 수천개의 테이블을 수작업으로 정합성 검증하는 절차를 자동화로 수행할 수 있는 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템은, 소스 DBMS; 상기 소스 DBMS와 동종의 타겟 DBMS; 및 상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 1 정합성 검증 툴;을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 상기 제 1 정합성 검증 툴은, 상기 소스 DBMS와 상기 타겟 DBMS에 각각 해시 함수를 사용한 쿼리를 요청하는 제 1 요청부; 및 상기 소스 DBMS와 상기 타겟 DBMS로부터 각각 상기 쿼리가 수행되어 추출되는 해시 값을 리턴받아 저장하는 제 1 저장부;를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 상기 제 1 정합성 검증 툴은, 상기 해시 값을 테이블 단위로 비교하여 검증하는 제 1 비교 검증부; 및 검증이 완료된 검증 데이터를 출력하는 제 1 출력부;를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 상기 비교는 병렬(Parallel)로 수행되는 것을 특징으로 한다.
상기 목적을 달성하기 위해, 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템은, 소스 DBMS; 상기 소스 DBMS와 이종의 타겟 DBMS; 및 상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 2 정합성 검증 툴;을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 상기 제 2 정합성 검증 툴은, 상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블에 테이블 데이터의 추출을 요청하는 제 2 요청부; 상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블로부터 추출되는 상기 테이블 데이터를 리턴받아 저장하는 제 2 저장부; 및 각각의 상기 테이블 데이터로부터 해시 값을 연산하는 제 2 연산부;를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 상기 제 2 정합성 검증 툴은, 연산된 해시 값을 추출하는 제 1 추출부; 추출된 상기 해시 값을 비교하여 검증하는 제 2 비교 검증부; 및 검증이 완료된 검증 데이터를 출력하는 제 2 출력부;를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위해, 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템은, 소스 DBMS; 상기 소스 DBMS와 캐릭터셋이 다른 타겟 DBMS; 및 상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 3 정합성 검증 툴;을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 제 3 정합성 검증 툴은, 상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블에 테이블 데이터의 추출을 요청하는 제 3 요청부; 상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블로부터 상기 테이블 데이터의 헥스 코드(Hexcode)로 추출한 데이터를 리턴받아 저장하는 제 3 저장부; 및 저장된 상기 데이터를 상기 소스 DBMS와 상기 타겟 DBMS에 맞는 캐릭터셋으로 인코딩하는 인코딩부;를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서, 상기 제 3 정합성 검증 툴은, 인코딩된 데이터로부터 해시 값을 추출하는 제 2 추출부; 추출된 상기 해시 값을 비교하여 검증하는 제 3 비교 검증부; 및 검증이 완료된 검증 데이터를 출력하는 제 3 출력부;를 포함하는 것을 특징으로 한다.
기타 실시 예의 구체적인 사항은 "발명을 실시하기 위한 구체적인 내용" 및 첨부 "도면"에 포함되어 있다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 각종 실시 예를 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 각 실시 예의 구성만으로 한정되는 것이 아니라 서로 다른 다양한 형태로도 구현될 수도 있으며, 단지 본 명세서에서 개시한 각각의 실시 예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구범위의 각 청구항의 범주에 의해 정의될 뿐임을 알아야 한다.
본 발명에 의하면, 마이그레이션 작업시 테이블 단위로 빠른 시간 내에 데이터 정합성을 검증하여 운영 서비스 다운타임(Downtime)을 최소화하고, 캐릭터셋이 서로 다른 DBMS의 데이터에 대해서도 운영 DB에 별도의 처리 없이 정합성 검증을 수행하며, 수백 ~ 수천개의 테이블을 수작업으로 정합성 검증하는 절차를 자동화로 수행할 수 있는 효과가 있다.
도 1은 본 발명에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 개념을 나타내는 개념도.
도 2는 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도.
도 3은 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 1 정합성 검증 툴의 구성을 나타내는 블록도.
도 4는 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도.
도 5는 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 2 정합성 검증 툴의 구성을 나타내는 블록도.
도 6은 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도.
도 7은 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 3 정합성 검증 툴의 구성을 나타내는 블록도.
도 2는 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도.
도 3은 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 1 정합성 검증 툴의 구성을 나타내는 블록도.
도 4는 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도.
도 5는 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 2 정합성 검증 툴의 구성을 나타내는 블록도.
도 6은 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도.
도 7은 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 3 정합성 검증 툴의 구성을 나타내는 블록도.
본 발명을 상세하게 설명하기 전에, 본 명세서에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 무조건 한정하여 해석되어서는 아니 되며, 본 발명의 발명자가 자신의 발명을 가장 최선의 방법으로 설명하기 위해서 각종 용어의 개념을 적절하게 정의하여 사용할 수 있고, 더 나아가 이들 용어나 단어는 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 함을 알아야 한다.
즉, 본 명세서에서 사용된 용어는 본 발명의 바람직한 실시 예를 설명하기 위해서 사용되는 것일 뿐이고, 본 발명의 내용을 구체적으로 한정하려는 의도로 사용된 것이 아니며, 이들 용어는 본 발명의 여러 가지 가능성을 고려하여 정의된 용어임을 알아야 한다.
또한, 본 명세서에서, 단수의 표현은 문맥상 명확하게 다른 의미로 지시하지 않는 이상, 복수의 표현을 포함할 수 있으며, 유사하게 복수로 표현되어 있다고 하더라도 단수의 의미를 포함할 수 있음을 알아야 한다.
본 명세서의 전체에 걸쳐서 어떤 구성 요소가 다른 구성 요소를 "포함"한다고 기재하는 경우에는, 특별히 반대되는 의미의 기재가 없는 한 임의의 다른 구성 요소를 제외하는 것이 아니라 임의의 다른 구성 요소를 더 포함할 수도 있다는 것을 의미할 수 있다.
더 나아가서, 어떤 구성 요소가 다른 구성 요소의 "내부에 존재하거나, 연결되어 설치된다"라고 기재한 경우에는, 이 구성 요소가 다른 구성 요소와 직접적으로 연결되어 있거나 접촉하여 설치되어 있을 수 있고, 일정한 거리를 두고 이격되어 설치되어 있을 수도 있으며, 일정한 거리를 두고 이격되어 설치되어 있는 경우에 대해서는 해당 구성 요소를 다른 구성 요소에 고정 내지 연결하기 위한 제 3의 구성 요소 또는 수단이 존재할 수 있으며, 이 제 3의 구성 요소 또는 수단에 대한 설명은 생략될 수도 있음을 알아야 한다.
반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결"되어 있다거나, 또는 "직접 접속"되어 있다고 기재되는 경우에는, 제 3의 구성 요소 또는 수단이 존재하지 않는 것으로 이해하여야 한다.
마찬가지로, 각 구성 요소 간의 관계를 설명하는 다른 표현들, 즉 " ~ 사이에"와 "바로 ~ 사이에", 또는 " ~ 에 이웃하는"과 " ~ 에 직접 이웃하는" 등도 마찬가지의 취지를 가지고 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 "일면", "타면", "일측", "타측", "제 1", "제 2" 등의 용어는, 사용된다면, 하나의 구성 요소에 대해서 이 하나의 구성 요소가 다른 구성 요소로부터 명확하게 구별될 수 있도록 하기 위해서 사용되며, 이와 같은 용어에 의해서 해당 구성 요소의 의미가 제한적으로 사용되는 것은 아님을 알아야 한다.
또한, 본 명세서에서 "상", "하", "좌", "우" 등의 위치와 관련된 용어는, 사용된다면, 해당 구성 요소에 대해서 해당 도면에서의 상대적인 위치를 나타내고 있는 것으로 이해하여야 하며, 이들의 위치에 대해서 절대적인 위치를 특정하지 않는 이상은, 이들 위치 관련 용어가 절대적인 위치를 언급하고 있는 것으로 이해하여서는 아니된다.
또한, 본 명세서에서는 각 도면의 각 구성 요소에 대해서 그 도면 부호를 명기함에 있어서, 동일한 구성 요소에 대해서는 이 구성 요소가 비록 다른 도면에 표시되더라도 동일한 도면 부호를 가지고 있도록, 즉 명세서 전체에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 지시하고 있다.
본 명세서에 첨부된 도면에서 본 발명을 구성하는 각 구성 요소의 크기, 위치, 결합 관계 등은 본 발명의 사상을 충분히 명확하게 전달할 수 있도록 하기 위해서 또는 설명의 편의를 위해서 일부 과장 또는 축소되거나 생략되어 기술되어 있을 수 있고, 따라서 그 비례나 축척은 엄밀하지 않을 수 있다.
또한, 이하에서, 본 발명을 설명함에 있어서, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 구성, 예를 들어, 종래 기술을 포함하는 공지 기술에 대해 상세한 설명은 생략될 수도 있다.
이하, 본 발명의 실시 예에 대해 관련 도면들을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 개념을 나타내는 개념도이다.
도 1을 참조하면, 본 발명에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 정합성 검증 툴은 서로 동일한 DBMS, 서로 다른 DBMS, 캐릭터셋이 서로 다른 DBMS에 존재하는 테이블의 데이터를 고속으로 비교하여 테이블의 정합성을 검증하는 기능을 가진다.
이러한 테이블 단위의 데이터를 고속으로 정합성 검증하는 방법으로는 소스 DBMS의 테이블과, 타겟 DBMS의 테이블에서 각각 해시 값을 비교하여 정합성을 검증하게 된다.
이에 대해 도 2 내지 도 7을 참조하여, 좀 더 상세히 설명하도록 한다.
도 2는 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(1000)은 동종 소스 DBMS(10)와, 제 1 정합성 검증 툴(20)과, 동종 타겟 DBMS(30)를 포함한다.
동종 소스 DBMS(10)는 동종 타겟 DBMS(30)로 데이터의 복제를 수행하기 위해 원본 데이터베이스가 포함되어 있는 DBMS이다.
동종 타겟 DBMS(30)는 동종 소스 DBMS(10)의 원본 데이터베이스가 복제되는 대상의 DBMS이다.
제 1 정합성 검증 툴(20)은 동종 소스 DBMS(10)와 동종 타겟 DBMS(30)의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증한다.
예를 들어, 동종 소스 DBMS(10)가 오라클이고, 동종 타겟 DBMS(30)가 오라클일 경우, 오라클 대 오라클(Oracle To Oracle) 데이터 정합성 검증이 수행된다.
도 3은 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 1 정합성 검증 툴의 구성을 나타내는 블록도이다.
도 3을 참조하면, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(1000)에서, 제 1 정합성 검증 툴(20)은 제 1 요청부(21)와, 제 1 저장부(22)와, 제 1 비교 검증부(23)와, 제 1 출력부(24)를 포함한다.
제 1 요청부(21)는 동종 소스 DBMS(10)와 동종 타겟 DBMS(30)에 각각 해시 함수를 사용한 쿼리(Query)를 요청한다.
예를 들어, JDBC(Java Database Connectivity) 방식으로 ORA_HASH를 사용한 쿼리를 각각의 DBMS에 수행 요청할 수도 있다.
여기서, 쿼리란 정보 수집에 대한 요청에 쓰이는 컴퓨터 언어이다.
또한, JDBC는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.
이러한 JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.
제 2 저장부(22)는 동종 소스 DBMS(10)와 동종 타겟 DBMS(30)로부터 각각 상술한 쿼리가 수행되어 추출되는 해시 값을 리턴받아 저장한다.
제 1 비교 검증부(23)는 제 2 저장부(22)에 저장되어 있는 해시 값을 테이블 단위로 비교하여 검증을 수행한다.
제 1 출력부(24)는 제 1 비교 검증부(23)에 의해 검증이 완료된 검증 데이터를 출력한다.
작업자는 제 1 출력부(24)에 의해 출력된 검증 데이터를 확인함으로써, 데이터 정합성 검증 결과를 확인하게 된다.
또한, 본 발명의 제 1 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(1000)에서, 제 1 비교 검증부(23)에 의해 해시 값을 테이블 단위로 비교하여 검증을 시행시 상술한 비교는 병렬(Parallel)로 수행될 수 있다.
환언하면, 동종 DBMS 사이의 데이터 정합성 검증은 다음과 같이 수행된다.
예를 들어, 오라클 대 오라클 데이터 정합성 검증은 오라클에서 제공하는 ORA_HASH 함수를 이용하여 빠르게 테이블 데이터에 대한 해시 값을 추출하여 데이터 정합성의 일치 여부를 확인하게 된다.
또한, 오라클에서 해시 값을 추출함으로써 병렬 수행이 가능하여 더 빠른 데이터 처리가 가능하다.
도 4는 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도이다.
도 4를 참조하면, 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(2000)은, 이종 소스 DBMS(100)와, 제 2 정합성 검증 툴(200)과, 이종 타겟 DBMS(300)를 포함한다.
이종 소스 DBMS(100)는 이종 타겟 DBMS(300)로 데이터의 복제를 수행하기 위해 원본 데이터베이스가 포함되어 있는 DBMS이다.
이종 타겟 DBMS(300)는 이종 소스 DBMS(100)의 원본 데이터베이스가 복제되는 대상의 DBMS이다.
제 2 정합성 검증 툴(200)은 이종 소스 DBMS(100)와 이종 타겟 DBMS(300)의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증한다.
예를 들어, 이종 소스 DBMS(100)가 오라클이고, 이종 타겟 DBMS(300)가 MySQL일 경우, 오라클 대 MySQL(Oracle To MySQL) 데이터 정합성 검증이 수행된다.
즉, 이기종 DBMS 사이의 데이터 정합성 검증을 위해, JDBC를 통하여 데이터를 추출하고, 자바(JAVA)에서 제공하는 해시(Hash) 기능을 이용하여 테이블 데이터에 대한 자바 해시 값(JAVA Hash Value)을 추출하여 데이터 정합성을 검증할 수도 있다.
도 5는 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 2 정합성 검증 툴의 구성을 나타내는 블록도이다.
도 5를 참조하면, 본 발명의 제 2 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(2000)에서, 제 2 정합성 검증 툴(200)은 제 2 요청부(210)와, 제 2 저장부(220)와, 제 2 연산부(230)와, 제 1 추출부(240)와, 제 2 비교 검증부(250)와, 제 2 출력부(260)를 포함한다.
제 2 요청부(210)는 이종 소스 DBMS(100)와 이종 타겟 DBMS(300)의 각각의 테이블에 테이블 데이터의 추출을 요청한다.
제 2 저장부(220)는 이종 소스 DBMS(100)와 이종 타겟 DBMS(300)의 각각의 테이블로부터 추출되는 테이블 데이터를 리턴받아 저장한다.
제 2 연산부(230)는 제 2 저장부(220)에 저장되어 있는 각각의 테이블 데이터로부터 해시 값을 연산한다.
제 1 추출부(240)는 제 2 연산부(230)에 의해 연산된 해시 값을 추출한다.
제 2 비교 검증부(250)는 제 1 추출부(240)에 의해 추출된 해시 값을 비교하여 검증한다.
제 2 출력부(260)는 제 2 비교 검증부(250)에 의해 검증이 완료된 검증 데이터를 출력한다.
작업자는 제 2 출력부(260)에 의해 출력된 검증 데이터를 확인함으로써, 데이터 정합성 검증 결과를 확인하게 된다.
환언하면, 이종 DBMS 사이의 데이터 정합성 검증은 다음과 같이 수행된다.
예를 들어, 오라클 대 MySQL 데이터 정합성 검증과 같이 이기종 DBMS 사이의 데이터 정확성 검증을 위해, JDBC를 통하여 데이터를 추출하고, 자바에서 제공하는 해시 기능을 이용하여 테이블 데이터에 대한 자바 해시 값을 추출하여 데이터 정합성을 검증하게 된다.
이러한 이종 DBMS 사이의 데이터 정합성 검증에는 Oracle, MSSQL, MySQL, MariaDB, PostgreSQL, Informix, DB2, Tibero, Cubrid, Goldilocks, Altibase, GreenPlum, Veritica, PDA(Netizza), TeraDB, EDB(EnterpriseDB Postgres Plus Advanced Server) 등이 사용될 수도 있다.
도 6은 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템의 전체 구성을 나타내는 블록도이다.
도 6을 참조하면, 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(3000)은, 캐릭터셋이 다른 소스 DBMS(400)와, 제 3 정합성 검증 툴(500)과, 캐릭터셋이 다른 타겟 DBMS(600)를 포함한다.
캐릭터셋이 다른 소스 DBMS(400)는 캐릭터셋이 다른 타겟 DBMS(600)로 데이터의 복제를 수행하기 위해 원본 데이터베이스가 포함되어 있는 DBMS이다.
캐릭터셋이 다른 타겟 DBMS(300)는 캐릭터셋이 다른 소스 DBMS(400)의 원본 데이터베이스가 복제되는 대상의 DBMS이다.
제 3 정합성 검증 툴(500)은 캐릭터셋이 다른 소스 DBMS(400)와 캐릭터셋이 다른 타겟 DBMS(600)의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증한다.
예를 들어, 캐릭터셋이 다른 소스 DBMS(400)가 오라클이고, 캐릭터셋이 다른 타겟 DBMS(400)가 오라클일 경우, 오라클 대 오라클 데이터 정합성 검증이 수행된다.
여기서 캐릭터셋은 1983년 디지털 이큅먼트 코퍼레이션(DEC)이 대중적인 VT220 단말기에 사용할 목적으로 만든 문자 인코딩이다.
이는 강세 문자, 통화 기호, 그 밖에 7비트 ASCII에 없는 상형 문자들을 추가한 ASCII의 8비트 확장이다.
단지 VT220 NRCS(National Replacement Character Set)을 위해 구현된 코드 페이지들 가운데 하나이다.
MCS는 1992년 이후로 IBM 코드 페이지 1100(다국적 에뮬레이션)으로 등록되어 있다.
연관된 정렬에 의거하여 오라클은 WE8DEC, N8DEC, DK8DEC, S8DEC, SF8DEC로 부른다.
이와 같이 캐릭터셋이 다른 DBMS 사이의 데이터 정합성 검증을 위해, 데이터 추출시 DBMS에서 제공하는 내부 함수를 이용하여 헥스 코드(Hexcode)로 데이터를 추출하고, 각 DBMS에 맞는 캐릭터셋으로 인코딩하여 추출된 해시 값으로 데이터 정합성을 검증하게 된다.
도 7은 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템에서 제 3 정합성 검증 툴의 구성을 나타내는 블록도이다.
도 7을 참조하면, 본 발명의 제 3 실시예에 따른 원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템(3000)에서, 제 3 정합성 검증 툴(500)은 제 3 요청부(510)와, 제 3 저장부(520)와, 인코딩부(530)와, 제 2 추출부(540)와, 제 3 비교 검증부(550)와, 제 3 출력부(560)를 포함한다.
제 3 요청부(510)는 캐릭터셋이 다른 소스 DBMS(400)와 캐릭터셋이 다른 타겟 DBMS(600)의 각각의 테이블에 테이블 데이터의 추출을 요청한다.
제 3 저장부(520)는 캐릭터셋이 다른 소스 DBMS(400)와 캐릭터셋이 다른 타겟 DBMS(600)의 각각의 테이블로부터 테이블 데이터의 헥스 코드(Hexcode)로 추출한 데이터를 리턴받아 저장한다.
인코딩부(530)는 제 3 저장부(520)에 저장된 데이터를 캐릭터셋이 다른 소스 DBMS(400)와 캐릭터셋이 다른 타겟 DBMS(600)에 맞는 캐릭터셋으로 인코딩한다.
제 2 추출부(540)는 인코딩된 데이터로부터 해시 값을 추출한다.
제 3 비교 검증부(550)는 제 2 추출부(540)에 의해 추출된 해시 값을 비교하여 검증한다.
제 3 출력부(560)는 제 3 비교 검증부(550)에 의해 검증이 완료된 검증 데이터를 출력한다.
작업자는 제 3 출력부(560)에 의해 출력된 검증 데이터를 확인함으로써, 데이터 정합성 검증 결과를 확인하게 된다.
환언하면, 캐릭터셋이 서로 다른 DBMS 사이의 데이터 정합성 검증은 다음과 같이 수행된다.
예를 들어, 캐릭터셋이 서로 다른 DBMS 사이의 데이터 정합성 검증을 위해, 데이터 추출시 DBMS에서 제공하는 내부 함수를 이용하여 헥스 코드로 데이터를 추출하여 각 DBMS에 맞는 캐릭터셋으로 인코딩하여 추출된 해시 값으로 데이터 정합성을 검증하게 된다.
이와 같이 제 1 실시예 내지 제 3 실시예에서 설명한 바와 같은 정합성 검증 툴은 다음과 같은 기능을 더 포함하고 있다.
예를 들어, DBMS의 대용량 테이블에 대한 조건을 추가하여 일정 구간 사이의 데이터를 비교할 수 있다.
또한, LOB(Large Object) 컬럼만 별도로 데이터 비교가 가능하다.
여기서, LOB 타입 데이터는 구조화되지 않은 용량이 큰 데이터를 저장할 수 있는 데이터 타입이다.
예컨대, 오라클 8i버전부터 LOB 데이터 타입이 소개되었고, 그 이전 버전에서는 LONG 타입으로 사용하고 있었다.
LOB 타입은 4가지 타입의 유형으로 나눌 수 있다.
CLOB는 문자 대형 객체(Character)로, 예컨대 오라클은 CLOB와 VARCHAR2 사이에 암시적 변환을 수행한다.
BLOB는 이진 대형 객체(Binary)로, 이미지, 동영상, MP3 등이다.
NCLOB는 내셔널 문자 대형 객체로, 오라클에서 정의되는 National Character set을 따르는 문자이다.
또한, DBMS의 캐릭터셋을 자동 판별하며, 해당 DBMS에 최적화된 옵션을 자동 판별하여 수행이 가능하다.
또한, 소스 DBMS와 타겟 DBMS 사이의 맵핑 기능을 가진다.
이때, 소스 DBMS와 타겟 DBMS 테이블의 스키마 및 테이블명이 다를 경우에도 가능하며, " ~ "의 특정 컬럼만 선택적으로 비교가 가능하다.
여기서, 스키마란 데이터 시스템 언어 회의(CODASYL) 데이터베이스를 기술하기 위해 사용하기 시작한 개념이다.
즉, 데이터베이스의 구조에 관해서 이용자가 보았을 때의 논리 구조와 컴퓨터가 보았을 때의 물리 구조에 대해 기술하고 있다.
데이터 전체의 구조를 정의하는 개념 스키마, 실제로 이용자가 취급하는 데이터 구조를 정의하는 외부 스키마 및 데이터 구조의 형식을 구체적으로 정의하는 내부 스키마 등이 있다.
한편, 검증이 완료된 테이블 보고서가 제공될 수도 있다.
이와 같이 본 발명에 의하면, 마이그레이션 작업시 테이블 단위로 빠른 시간 내에 데이터 정합성을 검증하여 운영 서비스 다운타임(Downtime)을 최소화하고, 캐릭터셋이 서로 다른 DBMS의 데이터에 대해서도 운영 DB에 별도의 처리 없이 정합성 검증을 수행하며, 수백 ~ 수천개의 테이블을 수작업으로 정합성 검증하는 절차를 자동화로 수행할 수 있는 효과가 있다.
이상, 일부 예를 들어서 본 발명의 바람직한 여러 가지 실시 예에 대해서 설명하였지만, 본 "발명을 실시하기 위한 구체적인 내용" 항목에 기재된 여러 가지 다양한 실시 예에 관한 설명은 예시적인 것에 불과한 것이며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이상의 설명으로부터 본 발명을 다양하게 변형하여 실시하거나 본 발명과 균등한 실시를 행할 수 있다는 점을 잘 이해하고 있을 것이다.
또한, 본 발명은 다른 다양한 형태로 구현될 수 있기 때문에 본 발명은 상술한 설명에 의해서 한정되는 것이 아니며, 이상의 설명은 본 발명의 개시 내용이 완전해지도록 하기 위한 것으로 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이며, 본 발명은 청구범위의 각 청구항에 의해서 정의될 뿐임을 알아야 한다.
10 : 동종 소스 DBMS
20 : 제 1 정합성 검증 툴
21 : 제 1 요청부
22 : 제 1 저장부
23 : 제 1 비교 검증부
24 : 제 1 출력부
30 : 동종 타겟 DBMS
100 : 이종 소스 DBMS
200 : 제 2 정합성 검증 툴
210 : 제 2 요청부
220 : 제 2 저장부
230 : 제 2 연산부
240 : 제 1 추출부
250 : 제 2 비교 검증부
260 : 제 2 출력부
300 : 이종 타겟 DBMS
400 : 캐릭터셋이 다른 소스 DBMS
500 : 제 3 정합성 검증 툴
510 : 제 3 요청부
520 : 제 3 저장부
530 : 인코딩부
540 : 제 2 추출부
550 : 제 3 비교 검증부
560 : 제 3 출력부
600 : 캐릭터셋이 다른 타겟 DBMS
1000 : 제 1 정합성 검증 시스템
2000 : 제 2 정합성 검증 시스템
3000 : 제 3 정합성 검증 시스템
20 : 제 1 정합성 검증 툴
21 : 제 1 요청부
22 : 제 1 저장부
23 : 제 1 비교 검증부
24 : 제 1 출력부
30 : 동종 타겟 DBMS
100 : 이종 소스 DBMS
200 : 제 2 정합성 검증 툴
210 : 제 2 요청부
220 : 제 2 저장부
230 : 제 2 연산부
240 : 제 1 추출부
250 : 제 2 비교 검증부
260 : 제 2 출력부
300 : 이종 타겟 DBMS
400 : 캐릭터셋이 다른 소스 DBMS
500 : 제 3 정합성 검증 툴
510 : 제 3 요청부
520 : 제 3 저장부
530 : 인코딩부
540 : 제 2 추출부
550 : 제 3 비교 검증부
560 : 제 3 출력부
600 : 캐릭터셋이 다른 타겟 DBMS
1000 : 제 1 정합성 검증 시스템
2000 : 제 2 정합성 검증 시스템
3000 : 제 3 정합성 검증 시스템
Claims (10)
- 소스 DBMS;
상기 소스 DBMS와 동종의 타겟 DBMS; 및
상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 1 정합성 검증 툴;을 포함하며,
상기 제 1 정합성 검증 툴은,
상기 소스 DBMS와 상기 타겟 DBMS에 각각 해시 함수를 사용한 쿼리를 요청하는 제 1 요청부;
상기 소스 DBMS와 상기 타겟 DBMS로부터 각각 상기 쿼리가 수행되어 추출되는 해시 값을 리턴받아 저장하는 제 1 저장부;
상기 해시 값을 테이블 단위로 비교하여 검증하는 제 1 비교 검증부; 및
검증이 완료된 검증 데이터를 출력하는 제 1 출력부;를 포함하고,
상기 소스 DBMS와 상기 타겟 DBMS의 대용량 테이블에 대한 조건을 추가하여 일정 구간 사이의 데이터를 비교할 수 있고, LOB 컬럼만 별도로 데이터 비교가 가능한 것을 특징으로 하는,
원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템.
- 삭제
- 삭제
- 제 1 항에 있어서,
상기 비교는 병렬(Parallel)로 수행되는 것을 특징으로 하는,
원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템.
- 소스 DBMS;
상기 소스 DBMS와 이종의 타겟 DBMS; 및
상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 2 정합성 검증 툴;을 포함하며,
상기 제 2 정합성 검증 툴은,
상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블에 테이블 데이터의 추출을 요청하는 제 2 요청부;
상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블로부터 추출되는 상기 테이블 데이터를 리턴받아 저장하는 제 2 저장부;
각각의 상기 테이블 데이터로부터 해시 값을 연산하는 제 2 연산부;
연산된 해시 값을 추출하는 제 1 추출부;
추출된 상기 해시 값을 비교하여 검증하는 제 2 비교 검증부; 및
검증이 완료된 검증 데이터를 출력하는 제 2 출력부;를 포함하고,
상기 소스 DBMS와 상기 타겟 DBMS의 대용량 테이블에 대한 조건을 추가하여 일정 구간 사이의 데이터를 비교할 수 있고, LOB 컬럼만 별도로 데이터 비교가 가능한 것을 특징으로 하는,
원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템.
- 삭제
- 삭제
- 소스 DBMS;
상기 소스 DBMS와 캐릭터셋이 다른 타겟 DBMS; 및
상기 소스 DBMS와 상기 타겟 DBMS의 데이터를 테이블 단위로 비교하여 데이터 정합성을 검증하는 제 3 정합성 검증 툴;을 포함하며,
제 3 정합성 검증 툴은,
상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블에 테이블 데이터의 추출을 요청하는 제 3 요청부;
상기 소스 DBMS와 상기 타겟 DBMS의 각각의 테이블로부터 상기 테이블 데이터의 헥스 코드(Hexcode)로 추출한 데이터를 리턴받아 저장하는 제 3 저장부; 및
저장된 상기 데이터를 상기 소스 DBMS와 상기 타겟 DBMS에 맞는 캐릭터셋으로 인코딩하는 인코딩부;를 포함하고,
상기 소스 DBMS와 상기 타겟 DBMS의 대용량 테이블에 대한 조건을 추가하여 일정 구간 사이의 데이터를 비교할 수 있고, LOB 컬럼만 별도로 데이터 비교가 가능한 것을 특징으로 하는,
원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템.
- 삭제
- 제 8 항에 있어서,
상기 제 3 정합성 검증 툴은,
인코딩된 데이터로부터 해시 값을 추출하는 제 2 추출부;
추출된 상기 해시 값을 비교하여 검증하는 제 3 비교 검증부; 및
검증이 완료된 검증 데이터를 출력하는 제 3 출력부;를 포함하는 것을 특징으로 하는,
원격 DBMS 테이블간 고성능 테이블 데이터 정합성 검증 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210021684A KR102463665B1 (ko) | 2021-02-18 | 2021-02-18 | 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 |
US18/264,728 US20240111781A1 (en) | 2021-02-18 | 2022-02-18 | System for verifying high-performance table data consistency between remote dbms tables |
PCT/KR2022/002457 WO2022177368A1 (ko) | 2021-02-18 | 2022-02-18 | 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210021684A KR102463665B1 (ko) | 2021-02-18 | 2021-02-18 | 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220118054A KR20220118054A (ko) | 2022-08-25 |
KR102463665B1 true KR102463665B1 (ko) | 2022-11-09 |
Family
ID=82930982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210021684A KR102463665B1 (ko) | 2021-02-18 | 2021-02-18 | 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240111781A1 (ko) |
KR (1) | KR102463665B1 (ko) |
WO (1) | WO2022177368A1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018014126A (ja) * | 2014-05-20 | 2018-01-25 | イフウィザード コーポレイションIfwizard Corporation | 関係データをトランスポートする方法 |
KR101917807B1 (ko) | 2018-05-31 | 2018-11-13 | 주식회사 웨어밸리 | 원본 데이터베이스의 부하를 최소화한 데이터 정합성 검증 방법 및 시스템 |
WO2020254889A1 (en) * | 2019-06-21 | 2020-12-24 | Datametica Solutions Pvt Ltd | System and method for data reconciliation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090001955A (ko) | 2007-05-30 | 2009-01-09 | 주식회사 신한은행 | 기업업무통합을 이용한 데이터 정합성 관리 방법 및시스템과 이를 위한 기록매체 |
US8510270B2 (en) * | 2010-07-27 | 2013-08-13 | Oracle International Corporation | MYSQL database heterogeneous log based replication |
US9928281B2 (en) * | 2015-03-20 | 2018-03-27 | International Business Machines Corporation | Lightweight table comparison |
KR102273341B1 (ko) * | 2019-04-02 | 2021-07-06 | (주)레몬클라우드 | 이기종 장치 간 데이터를 동기화하는 방법 및 시스템 |
KR102263053B1 (ko) * | 2019-05-30 | 2021-06-10 | 문성욱 | 근거리 영역 네트워크(lan) 환경에서 기기 간 데이터 동기화가 가능한 데이터베이스 구조 및 이를 이용한 데이터 동기화 방법 |
KR102219582B1 (ko) * | 2019-08-05 | 2021-02-24 | 여태환 | 블록체인에 기반하여 진료비 정보를 공유하기 위한 방법 및 장치 |
US11625503B2 (en) * | 2020-07-01 | 2023-04-11 | Salesforce.Com, Inc. | Data integrity procedure |
-
2021
- 2021-02-18 KR KR1020210021684A patent/KR102463665B1/ko active IP Right Grant
-
2022
- 2022-02-18 WO PCT/KR2022/002457 patent/WO2022177368A1/ko active Application Filing
- 2022-02-18 US US18/264,728 patent/US20240111781A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018014126A (ja) * | 2014-05-20 | 2018-01-25 | イフウィザード コーポレイションIfwizard Corporation | 関係データをトランスポートする方法 |
KR101917807B1 (ko) | 2018-05-31 | 2018-11-13 | 주식회사 웨어밸리 | 원본 데이터베이스의 부하를 최소화한 데이터 정합성 검증 방법 및 시스템 |
WO2020254889A1 (en) * | 2019-06-21 | 2020-12-24 | Datametica Solutions Pvt Ltd | System and method for data reconciliation |
Also Published As
Publication number | Publication date |
---|---|
US20240111781A1 (en) | 2024-04-04 |
WO2022177368A1 (ko) | 2022-08-25 |
KR20220118054A (ko) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475034B2 (en) | Schemaless to relational representation conversion | |
US11212358B2 (en) | Techniques for compact data storage of network traffic and efficient search thereof | |
US10095717B2 (en) | Data archive vault in big data platform | |
US9600513B2 (en) | Database table comparison | |
US20170322930A1 (en) | Document based query and information retrieval systems and methods | |
US10628492B2 (en) | Distributed graph database writes | |
US20210327110A1 (en) | Computerized systems and methods for graph data modeling | |
US9460142B2 (en) | Detecting renaming operations | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
US10628421B2 (en) | Managing a single database management system | |
US20080195610A1 (en) | Adaptive query expression builder for an on-demand data service | |
US12026172B2 (en) | System and method for automatically validating data stored in multiple locations | |
US10754859B2 (en) | Encoding edges in graph databases | |
KR102463665B1 (ko) | 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 | |
CN111506761B (zh) | 一种相似图片查询方法、装置、系统及存储介质 | |
JP2018014036A (ja) | データベースシステム、データ処理プログラム、及びデータ処理方法 | |
CN112765136B (zh) | 医学编码词典的存储方法、升级方法和装置 | |
CN117009430A (zh) | 数据管理方法、装置和存储介质及电子设备 | |
US20210174012A1 (en) | Information processing apparatus and non-transitory computer readable medium storing program | |
CN113434413A (zh) | 基于数据差异的数据测试方法、装置、设备及存储介质 | |
US20190114371A1 (en) | System and method for managing contact names that identify the same person | |
EP4357929A1 (en) | Data quality assurance for heterogenous data migration in clouds | |
CN111427938B (zh) | 数据转存的方法和装置 | |
US20220377088A1 (en) | Data management computer and data management method | |
US20230334231A1 (en) | Labeled clustering preprocessing for natural language processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |