KR20170133866A - 데이터 이관 장치 및 방법 - Google Patents

데이터 이관 장치 및 방법 Download PDF

Info

Publication number
KR20170133866A
KR20170133866A KR1020160065184A KR20160065184A KR20170133866A KR 20170133866 A KR20170133866 A KR 20170133866A KR 1020160065184 A KR1020160065184 A KR 1020160065184A KR 20160065184 A KR20160065184 A KR 20160065184A KR 20170133866 A KR20170133866 A KR 20170133866A
Authority
KR
South Korea
Prior art keywords
data
database
transfer
backup
unit
Prior art date
Application number
KR1020160065184A
Other languages
English (en)
Inventor
배성호
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020160065184A priority Critical patent/KR20170133866A/ko
Priority to US15/606,701 priority patent/US20170344433A1/en
Priority to CN201710388684.0A priority patent/CN107436912A/zh
Publication of KR20170133866A publication Critical patent/KR20170133866A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F17/30575
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • 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
    • G06F17/30179
    • G06F17/30185
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Abstract

데이터 이관 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 데이터 이관 장치는 제1 데이터베이스로부터 하나 이상의 이관 대상 데이터와 대응되는 위치 정보를 획득하는 위치 정보 획득부; 상기 제1 데이터베이스에 저장된 데이터에 대한 백업 데이터가 저장되는 백업 디바이스로부터 상기 백업 데이터를 수신하여 복원하는 백업 데이터 복원부; 및 획득된 상기 위치 정보를 이용하여 복원된 상기 백업 데이터 중 상기 이관 대상 데이터를 추출하고, 추출된 상기 이관 대상 데이터를 제2 데이터베이스로 이관하는 데이터 이관부를 포함한다.

Description

데이터 이관 장치 및 방법{APPARATUS AND METHOD FOR DATA MIGRATION}
본 발명의 실시예들은 일 데이터베이스에 저장된 이관 대상 데이터를 타 데이터베이스로 이관하는 기술과 연관된다.
최근 IT 기술이 발달함에 따라 각종 컴퓨팅 장치에서 활용되는 데이터의 양이 방대해졌다. 데이터베이스 내 저장된 데이터의 양이 증가할수록 컴퓨팅 장치가 연산을 수행하는데 소모되는 시간 및 자원도 증가하게 된다. 이에 따라, 데이터베이스의 많은 양의 데이터를 효율적으로 관리하는 솔루션이 요구되었다.
최근, 지속적으로 증가하는 데이터를 효율적으로 관리하기 위한 정보 수명 관리(ILM: information lifecycle management) 기술이 부상하고 있다. 정보 수명 관리 기술에 따르면, 장시간 사용되지 않는 정보만을 별도로 관리할 수 있다. 일 예시로서, 정보 수명 관리 기술은 자주 사용되지 않는 데이터를 별도의 장치로 이관할 수 있다. 데이터베이스 내 자주 사용되지 않는 정보를 제거하여 데이터베이스 내 저장된 데이터의 양을 줄임으로써 컴퓨팅 장치가 필요한 데이터를 신속하게 검색 및 활용할 수 있다.
한국등록특허공보 제10-1547466호(2015.08.20)
본 발명의 실시예들은 데이터베이스 관리 시스템 내 이관 대상 데이터를 효율적으로 이관하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 제1 데이터베이스로부터 하나 이상의 이관 대상 데이터와 대응되는 위치 정보를 획득하는 위치 정보 획득부; 상기 제1 데이터베이스에 저장된 데이터에 대한 백업 데이터가 저장되는 백업 디바이스로부터 상기 백업 데이터를 수신하여 복원하는 백업 데이터 복원부; 및 획득된 상기 위치 정보를 이용하여 복원된 상기 백업 데이터 중 상기 이관 대상 데이터를 추출하고, 추출된 상기 이관 대상 데이터를 제2 데이터베이스로 이관하는 데이터 이관부를 포함하는, 데이터 이관 장치가 제공된다.
상기 데이터 이관부는, 획득된 상기 위치 정보 별로 각각 대응되는 이관 대상 데이터를 추출할 수 있다.
상기 데이터 이관부는, 상기 이관 대상 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출할 수 있다.
상기 데이터 이관부는, 텍스트 또는 바이너리(binary) 형식으로 추출된 상기 이관 대상 데이터를 상기 제2 데이터베이스에 대응되는 포맷으로 변환하여 이관할 수 있다.
상기 제1 데이터베이스로부터 상기 이관 대상 데이터에 대해 발생된 로그 파일을 획득하고, 획득된 상기 로그 파일을 상기 제2 데이터베이스에 저장하는 로그 파일 관리부를 더 포함할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 제1 데이터베이스로부터 하나 이상의 이관 대상 데이터와 대응되는 위치 정보를 획득하는 단계; 상기 제1 데이터베이스에 저장된 데이터에 대한 백업 데이터가 저장된 백업 디바이스로부터 상기 백업 데이터를 수신하여 복원하는 단계; 획득된 상기 위치 정보를 이용하여 복원된 상기 백업 데이터 중 상기 이관 대상 데이터를 추출하는 단계; 및 추출된 상기 이관 대상 데이터를 제2 데이터베이스로 이관하는 단계를 포함하는, 데이터 이관 방법이 제공된다.
상기 이관 대상 데이터를 추출하는 단계는, 획득된 상기 위치 정보 별로 각각 대응되는 이관 대상 데이터를 추출할 수 있다.
상기 이관 대상 데이터를 추출하는 단계는, 상기 이관 대상 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출할 수 있다.
상기 이관 대상 데이터를 추출하는 단계는, 텍스트 또는 바이너리(binary) 형식으로 추출된 상기 이관 대상 데이터를 상기 제2 데이터베이스에 대응되는 포맷으로 변환하여 이관하는 단계를 포함할 수 있다.
상기 제1 데이터베이스로부터 상기 이관 대상 데이터에 대해 발생된 로그 파일을 획득하는 단계; 및 획득된 상기 로그 파일을 상기 제2 데이터베이스에 저장하는 단계를 더 포함 할 수 있다.
본 발명의 실시예들에 따르면, 제1 데이터베이스는 이관 대상 데이터에 관한 위치 정보만을 제공함으로써, 이관 절차에 수반되는 제1 데이터베이스의 메모리의 사용을 최소화할 수 있다. 이에 따라, 운영 중인 제1 데이터베이스의 성능이 이관 절차에 의해 저하되는 것을 방지할 수 있다.
또한 본 발명의 실시예들에 따르면, 데이터 이관 장치가 이관 대상 데이터를 텍스트 형식으로 추출하고, 텍스트 또는 바이너리(binary) 형식으로 추출된 이관 대상 데이터를 제2 데이터베이스에 대응되는 포맷으로 변환하여 저장함으로써, 제2 데이터베이스의 유형에 관계없이 유연하게 이관 대상 데이터를 이관할 수 있다.
또한 본 발명의 실시예들에 따르면, 데이터 이관 장치가 위치 정보 별로 이관 대상 데이터를 추출함으로써 데이터 추출 중 오류가 발생하더라도 오류가 발생한 위치 정보부터 작업을 재개할 수 있고, 이에 따라 작업에 소모되는 시간 및 자원이 절약될 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 이관 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 데이터 이관 장치의 상세 구성을 나타낸 블록도
도 3은 본 발명의 일 실시예에 따른 데이터 이관 장치에서 위치 정보를 이용하여 이관 대상 데이터를 추출하는 과정을 나타낸 예시도
도 4는 본 발명의 일 실시예에 따른 데이터 이관 방법을 설명하기 위한 흐름도
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 이관 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 이관 시스템(100)은 제1 데이터베이스(102), 백업 디바이스(104) 및 데이터 이관 장치(106)를 포함할 수 있다.
제1 데이터베이스(102)는 이관 대상 데이터가 저장되는 데이터베이스이다. 본 발명의 일 실시예에 따른 제1 데이터베이스(102)는 단순히 데이터를 저장하는 데이터베이스만을 포함하는 것이 아니라, 상기 데이터베이스를 관리하고 다수의 응용 프로그램들이 상기 데이터베이스에 저장된 데이터를 공유 및 사용할 수 있는 환경을 제공하도록 운용되는 데이터베이스 관리 시스템(DBMS: database management system)일 수 있다. 즉, 제1 데이터베이스(102)는 데이터의 입출력 등에 관한 명령을 수신하고 이와 관련된 작업을 수행할 수 있다. 여기서, 데이터베이스는 연관된 데이터를 조직적으로 통합하고 구조화한 데이터의 집합체를 의미한다.
제1 데이터베이스(102)는 저장된 데이터 중 이관 대상 데이터에 관한 정보를 입력 받을 수 있다. 구체적으로, 제1 데이터베이스(102)는 관리자에 의해 설정된 데이터 이관 정책을 입력 받을 수 있다. 예를 들어, 데이터 이관 정책은 작성일로부터 특정 기한 이상(예를 들어, 5년) 경과한 데이터, 또는 일정 기간 (예를 들어, 3개월) 이상 사용되지 않은 데이터를 이관한다는 정책을 포함할 수 있다.
제1 데이터베이스(102)는 상술한 데이터 이관 정책에 따라 이관 대상 데이터를 검색할 수 있다. 또한, 제1 데이터베이스(102)는 이관 대상 데이터에 관한 위치 정보를 조회하고, 조회된 이관 대상 데이터의 위치 정보를 후술할 데이터 이관 장치(106)로 전송할 수 있다. 일 실시예에 따르면, 운용 중인 제1 데이터베이스(102)가 직접 이관 대상 데이터를 이관하는 것이 아니라 이관 대상 데이터에 관한 위치 정보만을 조회하고 조회된 위치 정보를 데이터 이관 장치(106)에 전송할 수 있다. 이에 따라, 이관 절차에 의해 사용되는 상기 제1 데이터베이스(102)의 메모리 사용을 최소화할 수 있고, 이관 절차에 의해 제1 데이터베이스(102)의 성능이 저하되는 것을 방지할 수 있다.
백업 디바이스(104)는 데이터의 손실 혹은 분실에 대비하여 원본 데이터의 복사본을 생성한다. 백업 디바이스(104)는 제1 데이터베이스(102) 내 데이터베이스에 저장된 데이터(이하, 백업 데이터)를 백업할 수 있다. 또한, 백업 디바이스(104)는 백업 데이터를 내부에 구비된 저장 장치에 저장할 수 있다. 일 실시예에 따르면, 백업 디바이스(104)는 관리자에 의해 설정된 백업 정책에 따라 상기 데이터를 백업할 수 있다. 여기서, 백업 정책은 백업 주기, 백업 대상 데이터 등에 관한 정보를 포함할 수 있다. 예를 들어, 백업 디바이스(104)는 설정된 시간(예를 들어, 24시간 또는 48시간)마다 백업을 수행할 수 있다. 또한, 백업 디바이스(104)는 설정된 백업 수행 주기마다 제1 데이터베이스(102)에 저장된 모든 데이터를 백업하거나, 또는 이전 회차의 백업 수행 이후 변경된 데이터만을 백업하도록 구성될 수 있다.
데이터 이관 장치(106)는 제1 데이터베이스(102)에 저장된 이관 대상 데이터를 2 데이터베이스(108)로 이관하기 위한 모듈이다. 일 실시예에 따르면, 데이터 이관 장치(106)는 제1 데이터베이스(102)로부터 획득된 위치 정보 및 백업 디바이스(104)로부터 수신하여 복원된 백업 데이터를 이용하여 이관 대상 데이터를 추출할 수 있다.
여기서, 제2 데이터베이스(108)는 이관 대상 데이터를 저장하기 위한 데이터베이스로서, 제1 데이터베이스(102)와 구별되는 데이터 저장 공간일 수 있다. 예를 들어, 제2 데이터베이스(108)는 제1 데이터베이스(102)는 별개의 하드웨어로 구성되거나, 또는 별도의 장소에 구비될 수 있다. 제2 데이터베이스(108) 또한 제1 데이터베이스(102)와 마찬가지로 단순히 데이터가 저장되는 데이터베이스뿐만 아니라, 상기 데이터베이스를 관리하는 넓은 의미의 시스템으로 이해될 수 있다.
도 1을 참조하면, 제2 데이터베이스(108)가 데이터 이관 장치(106)에 포함되는 것으로 도시되었으나, 이는 이해를 돕기 위한 예시일 뿐이며, 제2 데이터베이스(108)는 데이터 이관 장치(106)와 별개의 구성으로 형성될 수도 있다. 데이터 이관 장치(106)의 상세 구성에 관하여 도 2를 참조하여 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 데이터 이관 장치(106)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 이관 장치(106)는 위치 정보 획득부(202), 백업 데이터 복원부(204), 데이터 이관부(206) 및 로그 파일 관리부(208)를 포함할 수 있다.
위치 정보 획득부(202)는 이관 대상 데이터의 위치 정보를 획득하기 위한 모듈이다. 위치 정보 획득부(202)는 운용 중인 제1 데이터베이스(102)에 저장된 이관 대상 데이터에 대응되는 위치 정보를 획득할 수 있다. 구체적으로, 위치 정보 획득부(202)는 제1 데이터베이스(102)로부터 이관 대상 데이터 자체가 아닌 상기 이관 대상 데이터의 위치 정보만을 획득할 수 있다. 일 실시예에 따르면, 상기 위치 정보는 제1 데이터베이스(102)의 종류에 따라 달리 구성될 수 있다. 예를 들어, 위치 정보는 datafile 번호, segment 번호, extent 번호, block 번호 등으로 구성될 수 있다. 여기서, datafile, segment, extent, block 등은 데이터베이스를 구성하는 논리적 공간일 수 있다. 일 예시에서, datafile은 복수의 segment를 포함할 수 있고, segment는 복수의 extent를 포함할 수 있으며, extent는 복수의 block을 포함할 수 있다.
백업 데이터 복원부(204)는 제1 데이터베이스(102)에 저장된 데이터에 대한 백업 데이터를 복원할 수 있다. 구체적으로, 백업 데이터 복원부(204)는 백업 디바이스(104)에 의해 백업된 백업 데이터를 수신하여 복원할 수 있다. 여기서 백업 데이터는 제1 데이터베이스(102)에 저장된 모든 데이터가 백업된 데이터 파일일 수 있으나, 관리자의 설정에 따라 이관 대상 데이터가 백업된 데이터 파일일 수도 있다. 백업 데이터를 복원한다는 것은 데이터 이관 장치(106)가 백업 데이터를 이용 가능하도록 복원한다는 것을 의미한다. 이에 따라, 데이터 이관부(206)는 복원된 백업 데이터 중 이관 대상 데이터를 검색 및 추출할 수 있다.
데이터 이관부(206)는 제1 데이터베이스(102)로부터 획득된 위치 정보를 이용하여 복원된 백업 데이터 중 이관 대상 데이터를 추출할 수 있다. 구체적으로, 데이터 이관부(206)는 복원된 백업 데이터 중에서 위치 정보를 구성하는 각 단위 별로 대응되는 데이터를 순차적으로 추출할 수 있다. 예를 들어, 데이터 이관부(206)는 먼저 복원된 백업 데이터에서 위치 정보 중 datafile 번호에 대응되는 영역을 추출하고, 이후 segment 번호, extent 번호 및 block 번호에 대응되는 영역을 순차적으로 추출할 수 있다. 결국 데이터 이관부(206)는 block 번호에 대응되는 영역에 포함된 데이터를 이관 대상 데이터로 추출할 수 있다.
일 실시예에 따르면, 데이터 이관부(206)는 획득된 상기 위치 정보 별로 각각 대응되는 이관 대상 데이터를 추출할 수 있다. 구체적으로, 데이터 이관부(206)는 하나 이상의 위치 정보를 획득할 수 있으며, 일정한 순서대로 각각의 위치 정보에 대응되는 이관 대상 데이터를 추출할 수 있다.
만약, 이관 대상 데이터를 추출하는 중 오류가 발생하는 경우 데이터 이관부(206)는 상기 오류가 발생한 위치 정보부터 대응되는 상기 이관 대상 데이터를 재추출할 수 있다. 여기서, 이관 대상 데이터 추출 중 오류가 발생하였다는 것은 데이터 이관부(206)에서 위치 정보를 이용하여 이관 대상 데이터의 추출을 시도하였음에도, 데이터 이관부(206)가 대응되는 이관 대상 데이터에 관한 결과값을 획득하지 못한 것을 의미할 수 있다. 이러한 경우, 데이터 이관부(206)는 이관 대상 데이터를 처음부터 다시 추출할 필요 없이, 오류가 발생한 위치 정보와 대응되는 이관 대상 데이터부터 재추출할 수 있다.
한편, 데이터 이관부(206)는 추출된 이관 대상 데이터를 제2 데이터베이스(108)로 이관할 수 있다. 제2 데이터베이스(108)는 제1 데이터베이스(102)와 구별되는 데이터 저장 공간으로서, 이관 대상 데이터를 저장할 수 있다.
일 실시예에 따르면, 데이터 이관부(206)는 이관 대상 데이터를 텍스트(text) 또는 바이너리(binary)형식으로 추출할 수 있다. 여기서 바이너리 형식은 2진수로 표시되는 데이터 형식일 수 있다. 또한, 데이터 이관부(206)는 추출된 텍스트 또는 바이너리(binary) 형식의 이관 대상 데이터를 제2 데이터베이스(108)의 종류 및 유형에 대응되는 포맷으로 변환하여 저장할 수 있다. 이에 따라, 데이터 이관부(206)는 제2 데이터베이스(108)의 종류 및 유형에 관계없이 이관 대상 데이터를 저장할 수 있다. 다시 말해, 제2 데이터베이스(108)는 제1 데이터베이스(102)와 동일한 종류 또는 유형일 필요가 없다.
일 실시예에 따르면, 로그 파일 관리부(208)는 제1 데이터베이스(102)으로부터 이관 대상 데이터에 대해 발생된 로그 파일(logfile)을 획득할 수 있다. 본 발명의 실시예에서, 상기 로그 파일은 상기 이관 대상 데이터의 생성, 수정 또는 삭제와 관련된 메시지를 기록한 파일일 수 있다. 이후, 로그 파일 관리부(208)는 획득된 로그 파일에서 사용자에 의해 추가된 제1 데이터베이스(102)의 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출하여 제2 데이터베이스(108)에 저장할 수 있다. 예를 들어, 로그 파일 관리부(208)는 설정된 주기(12시간 또는 24시간) 또는 로그 파일이 발생될 때마다 상기 로그 파일의 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출하여 제2 데이터베이스에 저장할 수 있다. 로그 파일 관리부(208)는 제2 데이터베이스(108)에 저장된 이관 대상 데이터에 대응되는 로그 파일의 데이터를 지속적으로 추출하여 저장함으로써 자동으로 데이터를 이관하는 기능을 구현함과 함께 이관 대상 데이터와 연관된 장애 발생시 발생된 장애로부터 용이하게 시스템을 복구할 수 있다.
제1 데이터베이스(102)는 이관 대상 데이터에 관한 위치 정보만을 제공함으로써, 이관 절차에 수반되는 제1 데이터베이스(102)의 메모리의 사용을 최소화할 수 있다. 이에 따라, 운영 중인 제1 데이터베이스(102)의 성능이 이관 절차에 의해 저하되는 것을 방지할 수 있다.
한편, 본 발명의 일 실시예에 따른 이관 대상 장치(106)는 반드시 하나의 물리적인 장치로 구성될 필요는 없고, 하나 이상의 물리적인 장치로 구성될 수 있음에 유의한다.
도 3은 본 발명의 일 실시예에 따른 데이터 이관 장치(106)에서 위치 정보를 이용하여 이관 대상 데이터를 추출하는 과정을 나타낸 예시도이다.
일 실시예에 따르면, 제1 데이터베이스(102)로부터 획득된 위치 정보는 제1 데이터베이스(102)의 종류에 따라 달리 구성될 수 있다. 예를 들어, 상기 위치 정보는 10009123003일 수 있고, datafile 번호(100), segment 번호(09), extent 번호(123), block 번호(003)으로 구성될 수 있다.
도 3을 참조하면, 제1 데이터베이스(102)의 데이터는 각각 대응되는 위치 정보와 함께 테이블의 형태로 저장될 수 있다. 제1 데이터베이스(102)는 저장된 데이터 중 원하는 데이터의 위치 정보를 조회할 수 있다. 일 예시에서, 제1 데이터베이스(102)는 저장된 데이터 중 기 설정된 데이터 이관 정책에 따라 데이터 C를 이관 대상 데이터로 판단할 수 있다. 이후, 제1 데이터베이스(102)는 데이터 C의 위치 정보를 조회하고, 상기 위치 정보로서 10009123003을 데이터 이관 장치(106)로 전송할 수 있다.
데이터 이관 장치(106)는 백업 데이터를 복원할 수 있다. 상술한 바와 같이, 백업 디바이스(104)는 제1 데이터베이스(102)에 저장된 데이터를 백업할 수 있다. 여기서, 백업 디바이스(104)에 의해 백업되는 데이터는 제1 데이터베이스(102)에 저장된 모든 데이터 파일일 수 있으나, 관리자의 설정에 따라 이관 대상 데이터 파일만을 포함하도록 설정될 수도 있다.
데이터 이관 장치(106)는 이관 대상 데이터의 위치 정보를 이용하여 복원된 백업 데이터 중 이관 대상 데이터를 추출할 수 있다. 도 3을 참조하면, 데이터 이관 장치(106)는 먼저 복원된 백업 데이터 중 상기 위치 정보의 datafile 번호(100)에 대응되는 데이터 영역을 검출할 수 있다. 다음으로, 데이터 이관 장치(106)는 상기 datafile 번호(100)에 대응되는 영역 중 segment 번호(09)에 대응되는 영역을 검출할 수 있다. 다음으로, 데이터 이관 장치(106)는 상기 segment 번호(09)에 대응되는 영역 중 extent 번호(123)에 대응되는 영역을 검출할 수 있다. 마지막으로, 데이터 이관 장치(106)는 상기 extent 번호(123)에 대응되는 영역 중 block 번호(003)에 대응되는 영역을 검출할 수 있다. 결과적으로, 데이터 이관 장치(106)는 상기 block 번호(003)에 대응되는 영역에 포함된 데이터 C를 검출할 수 있다. 이후, 데이터 이관 장치(106)는 검출된 이관 대상 데이터를 제2 데이터베이스(108)로 이관할 수 있다.
데이터 이관 장치(106)가 위치 정보 별로 이관 대상 데이터를 추출함으로써 데이터 추출 중 오류가 발생하더라도 오류가 발생한 위치 정보부터 작업을 재개할 수 있다. 이에 따라, 작업에 소모되는 시간 및 자원이 절약될 수 있다.
한편, 위치 정보를 이용하여 데이터를 추출하는 방법은 상술한 예에 한정되는 것은 아니며, 상술한 예 외에도 공지된 다른 알고리즘이 이용될 수 있음을 유의하여야 한다.
도 4는 본 발명의 일 실시예에 따른 데이터 이관 방법(400)을 설명하기 위한 흐름도이다. 도 4에 도시된 방법은 예를 들어, 전술한 데이터 이관 장치(106)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
먼저, 위치 정보 획득부(202)는 운용 중인 제1 데이터베이스(102)로부터 이관 대상 데이터와 대응되는 위치 정보를 획득할 수 있다(S402). 이를 위해, 제1 데이터베이스(102)는 저장된 데이터 중 기 설정된 데이터 이관 정책에 따라 이관 대상 데이터를 선별하고, 이관 대상 데이터의 위치 정보를 위치 정보 획득부(202)로 전송할 수 있다.
다음으로, 백업 데이터 복원부(204)는 상기 제1 데이터베이스에 저장된 데이터에 대한 백업 데이터가 저장된 백업 디바이스(104)로부터 상기 백업 데이터를 수신하여 복원할 수 있다(S402). 이를 위해, 백업 디바이스(104)는 제1 데이터베이스(102) 내 저장된 데이터를 설정된 주기마다 백업할 수 있다. 백업 데이터 복원부(204)는 백업 데이터를 이용 가능한 형태로 복원할 수 있다.
다음으로, 데이터 이관부(206)는 획득된 상기 위치 정보를 이용하여 복원된 상기 백업 데이터 중 상기 이관 대상 데이터를 추출할 수 있다(S406). 상술한 바와 같이, 데이터 이관부(206)는 상기 위치 정보 별로 각각 대응되는 이관 대상 데이터를 추출할 수 있다, 또한, 데이터 이관부(206)는 이관 대상 데이터의 추출 중 오류가 발생하는 경우 상기 오류가 발생한 위치 정보부터 대응되는 이관 대상 데이터를 재추출할 수 있다.
다음으로, 데이터 이관부(206)는 추출된 이관 대상 데이터를 제2 데이터베이스로 이관할 수 있다(S408). 일 실시예에 따르면, 데이터 이관부(206)는 상기 이관 대상 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출하며, 추출된 상기 이관 대상 데이터를 상기 제2 데이터베이스(108)에 대응되는 포맷으로 변환하여 저장할 수 있다.
한편, 로그 파일 관리부(208)는 제1 데이터베이스(102)으로부터 이관 대상 데이터와 연관되는 로그 파일(logfile)을 수신할 수 있고, 수신된 로그 파일에서 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출하여 제2 데이터베이스(108)에 저장할 수 있다. 로그 파일 관리부(208)는 제2 데이터베이스(108)에 저장된 이관 대상 데이터에 대응되는 제1 데이터베이스(102)의 데이터를 자동으로 추출하여 제2 데이터베이스(108)에 저장함으로써 자동으로 데이터를 이관하는 기능을 구현함과 함께 이관 대상 데이터와 연관된 장애 발생시 발생된 장애로부터 용이하게 시스템을 복구할 수 있다.
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 제1 데이터베이스(102)일 수 있다. 또한, 컴퓨팅 장치(12)는 백업 디바이스(104)일 수 있다. 또한, 컴퓨팅 장치(12)는 데이터 이관 장치(106)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 데이터 이관 시스템
102: 제1 데이터베이스
104: 백업 디바이스
106: 데이터 이관 장치
108: 제2 데이터베이스
202: 위치 정보 획득부
204: 백업 데이터 복원부
206: 데이터 이관부
208: 로그 파일 관리부

Claims (5)

  1. 제1 데이터베이스로부터 하나 이상의 이관 대상 데이터와 대응되는 위치 정보를 획득하는 위치 정보 획득부;
    상기 제1 데이터베이스에 저장된 데이터에 대한 백업 데이터가 저장되는 백업 디바이스로부터 상기 백업 데이터를 수신하여 복원하는 백업 데이터 복원부; 및
    획득된 상기 위치 정보를 이용하여 복원된 상기 백업 데이터 중 상기 이관 대상 데이터를 추출하고, 추출된 상기 이관 대상 데이터를 제2 데이터베이스로 이관하는 데이터 이관부를 포함하는, 데이터 이관 장치.
  2. 청구항 1에 있어서,
    상기 데이터 이관부는, 획득된 상기 위치 정보 별로 각각 대응되는 이관 대상 데이터를 추출하는, 데이터 이관 장치.
  3. 청구항 1에 있어서,
    상기 데이터 이관부는, 상기 이관 대상 데이터를 텍스트(text) 또는 바이너리(binary) 형식으로 추출하는, 데이터 이관 장치.
  4. 청구항 3에 있어서,
    상기 데이터 이관부는, 텍스트 또는 바이너리(binary) 형식으로 추출된 상기 이관 대상 데이터를 상기 제2 데이터베이스에 대응되는 포맷으로 변환하여 이관하는, 데이터 이관 장치.
  5. 청구항 1에 있어서,
    상기 제1 데이터베이스로부터 상기 이관 대상 데이터에 대해 발생된 로그 파일을 획득하고, 획득된 상기 로그 파일을 상기 제2 데이터베이스에 저장하는 로그 파일 관리부를 더 포함하는, 데이터 이관 장치.
KR1020160065184A 2016-05-27 2016-05-27 데이터 이관 장치 및 방법 KR20170133866A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160065184A KR20170133866A (ko) 2016-05-27 2016-05-27 데이터 이관 장치 및 방법
US15/606,701 US20170344433A1 (en) 2016-05-27 2017-05-26 Apparatus and method for data migration
CN201710388684.0A CN107436912A (zh) 2016-05-27 2017-05-27 数据迁移装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160065184A KR20170133866A (ko) 2016-05-27 2016-05-27 데이터 이관 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20170133866A true KR20170133866A (ko) 2017-12-06

Family

ID=60417937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160065184A KR20170133866A (ko) 2016-05-27 2016-05-27 데이터 이관 장치 및 방법

Country Status (3)

Country Link
US (1) US20170344433A1 (ko)
KR (1) KR20170133866A (ko)
CN (1) CN107436912A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975998B1 (ko) 2018-11-22 2019-08-28 (주)씨앤텍시스템즈 Sql 구문 기반의 데이터 이관 장치 및 방법
WO2020105785A1 (ko) * 2018-11-23 2020-05-28 연세대학교 산학협력단 스냅샷을 이용한 인메모리 데이터베이스의 데이터 처리 방법 및 인메모리 데이터베이스
KR20200143100A (ko) * 2019-06-14 2020-12-23 지성씨엔에스 주식회사 전자기록물의 이관 시스템 및 그 구동방법
KR102336813B1 (ko) * 2020-09-18 2021-12-08 주식회사 아미크 사업분할에 따라 조직 데이터를 선별적으로 분리하는 방법 및 시스템
WO2022059941A1 (ko) * 2020-09-18 2022-03-24 주식회사 아미크 기업분할 시 조직 데이터를 선별하여 이관하는 방법 및 시스템

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921065A (zh) * 2018-06-21 2018-11-30 北京陌上花科技有限公司 建立特征数据库的方法和装置
CN109359085A (zh) * 2018-08-23 2019-02-19 平安科技(深圳)有限公司 文件迁移方法、装置、计算机设备及存储介质
CN109684298B (zh) * 2018-09-07 2024-02-20 平安科技(深圳)有限公司 数据库迁移方法、装置、设备及存储介质
CN110968574B (zh) * 2018-09-30 2023-09-22 青岛海信移动通信技术有限公司 一种数据迁移方法及终端
CN109450997B (zh) * 2018-10-26 2022-09-30 平安科技(深圳)有限公司 数据跨终端迁移方法、装置、计算机设备及存储介质
US11520784B2 (en) * 2019-10-25 2022-12-06 Accenture Global Solutions Limited Utilizing neural network and machine learning models to generate a query after migrating data from a source data structure to a target data structure
CN111143280B (zh) * 2019-12-31 2023-10-10 广州广电运通信息科技有限公司 一种数据调度方法、系统、装置及存储介质
US20210303404A1 (en) * 2020-03-30 2021-09-30 Microstrategy Incorporated Systems and methods for database migration
US20230342373A1 (en) * 2022-04-20 2023-10-26 Rubrik, Inc. Computing resource migration across cloud environments

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US5564037A (en) * 1995-03-29 1996-10-08 Cheyenne Software International Sales Corp. Real time data migration system and method employing sparse files
AU2003279251A1 (en) * 2002-10-10 2004-05-04 Action Engine Corporation Backing up a wireless computing device
US7941459B1 (en) * 2007-03-29 2011-05-10 Symantec Corporation Selectable use of single-instance store backup methodology in combination with other methods
US8452930B2 (en) * 2009-03-27 2013-05-28 Hitachi, Ltd. Methods and apparatus for backup and restore of thin provisioning volume
US8316057B2 (en) * 2010-12-17 2012-11-20 International Business Machines Corporation Restoring deduplicated data objects from sequential backup devices
US9460097B2 (en) * 2013-07-02 2016-10-04 Hitachi Data Systems Engineering UK Limited Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system
JP5975473B2 (ja) * 2014-08-29 2016-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation バックアップ方法、リストア方法、ストレージ・システムおよびプログラム
CN104899161B (zh) * 2015-06-12 2018-01-05 华中科技大学 一种基于云存储环境的连续数据保护的缓存方法
CN105224676A (zh) * 2015-10-13 2016-01-06 北京奇虎科技有限公司 移动终端中文件迁移的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975998B1 (ko) 2018-11-22 2019-08-28 (주)씨앤텍시스템즈 Sql 구문 기반의 데이터 이관 장치 및 방법
WO2020105785A1 (ko) * 2018-11-23 2020-05-28 연세대학교 산학협력단 스냅샷을 이용한 인메모리 데이터베이스의 데이터 처리 방법 및 인메모리 데이터베이스
KR20200143100A (ko) * 2019-06-14 2020-12-23 지성씨엔에스 주식회사 전자기록물의 이관 시스템 및 그 구동방법
KR102336813B1 (ko) * 2020-09-18 2021-12-08 주식회사 아미크 사업분할에 따라 조직 데이터를 선별적으로 분리하는 방법 및 시스템
KR102370857B1 (ko) * 2020-09-18 2022-03-07 주식회사 아미크 기업분할 시 조직 데이터를 선별하여 이관하는 방법 및 시스템
WO2022059940A1 (ko) * 2020-09-18 2022-03-24 주식회사 아미크 사업분할에 따라 조직 데이터를 선별적으로 분리하는 방법 및 시스템
WO2022059941A1 (ko) * 2020-09-18 2022-03-24 주식회사 아미크 기업분할 시 조직 데이터를 선별하여 이관하는 방법 및 시스템
US11500896B2 (en) 2020-09-18 2022-11-15 Armiq Co. Ltd. Method and system for selectively separating organization data according to business division

Also Published As

Publication number Publication date
US20170344433A1 (en) 2017-11-30
CN107436912A (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
KR20170133866A (ko) 데이터 이관 장치 및 방법
US11829255B2 (en) Information management security health monitoring system
US20200174894A1 (en) Virtual server cloud file system for virtual machine restore to cloud operations
US10055148B1 (en) Storing application data as an enhanced copy
US9804934B1 (en) Production recovery using a point in time snapshot
US9875160B2 (en) Efficiently providing virtual machine reference points
US10853189B2 (en) Image restore from incremental backup
US20220292188A1 (en) Detecting ransomware in secondary copies of client computing devices
US20130166505A1 (en) Monitoring replication lag between geographically dispersed sites
US10146637B1 (en) Intelligent snapshot rollbacks
US10204021B2 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
US20220179757A1 (en) Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system
US9075809B1 (en) Methods and systems for application cluster virtual nodes
US10387262B1 (en) Federated restore of single instance databases and availability group database replicas
US10402275B2 (en) Backup to and restore from an offsite backup location
JP6287308B2 (ja) レプリケーション制御システム、レプリケーション制御方法、及び、レプリケーション制御プログラム
CN111488117A (zh) 用于管理元数据的方法、电子设备和计算机可读介质
US10402276B2 (en) Backup to and clone from an offsite backup location
US11262934B2 (en) Deletion of stored data
US9940378B1 (en) Optimizing replication of similar backup datasets
US11099948B2 (en) Persistent storage segment caching for data recovery
US11455292B2 (en) Brokering persisted and unpersisted log records
US9152817B1 (en) Methods and systems for performing data protection operations
US9870289B2 (en) Notifying a backup application of a backup key change
WO2017064775A1 (ja) 分散メモリ処理システム及び分散メモリ処理方法