KR20190139043A - 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법 - Google Patents

분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법 Download PDF

Info

Publication number
KR20190139043A
KR20190139043A KR1020180065544A KR20180065544A KR20190139043A KR 20190139043 A KR20190139043 A KR 20190139043A KR 1020180065544 A KR1020180065544 A KR 1020180065544A KR 20180065544 A KR20180065544 A KR 20180065544A KR 20190139043 A KR20190139043 A KR 20190139043A
Authority
KR
South Korea
Prior art keywords
distributed
data
database
region
specific
Prior art date
Application number
KR1020180065544A
Other languages
English (en)
Other versions
KR102064472B1 (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 KR1020180065544A priority Critical patent/KR102064472B1/ko
Publication of KR20190139043A publication Critical patent/KR20190139043A/ko
Application granted granted Critical
Publication of KR102064472B1 publication Critical patent/KR102064472B1/ko

Links

Images

Classifications

    • 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/1464Management of the backup or restore process for networked environments
    • 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/182Distributed file systems

Landscapes

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

Abstract

본 발명은 분산 DB에서의 필수적인 투명성은 기존처럼 동일하게 보장하면서도, 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB를 실현하는 기술에 관한 것이다.

Description

분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법{DISTRIBUTED DATABASE SYSTEM AND SERVICE METHOF THEREOF, CENTRAL DATABASE APPARATUS AND CONTROL METHOD THEREOF}
본 발명은, 분산 데이터베이스(DB: Data Base) 기술에 관한 것으로, 보다 구체적으로는 분산 DB에서의 필수적 투명성은 기존처럼 동일하게 보장하면서도 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB에 관한 것이다.
클라이언트가 이용하는 서비스를 위해서는, 그 서비스를 제공하기 위해 필요한 수 많은 데이터들이 저장/관리되어야 하며 이를 위해 서비스사이트(혹은, 서비스제공자) 측에서는 서비스와 관련된 각종 데이터를 저장/관리하는 데이터베이스(DB: Data Base)를 구축/운영하게 된다.
한편, 최근에는 클라이언트장치에 제공하는 서비스의 형태가 다양화되고 초고속/초고품질의 서비스를 원하는 클라이언트의 니즈(Needs)가 강조되는 등 서비스 환경의 변화 뿐 아니라, 데이터베이스의 시스템 장애 시 전체 서비스에 장애가 발생할 수 있는 문제점 등으로 인해, 서비스사이트가 하나의 데이터베이스(이하, 중앙형 DB)를 운영하는 중앙 집중화된 데이터베이스 구조에서 지역 별로 분산하여 데이터베이스를 운영하는 구조(이하, 분산 DB)로 변화하고 있다.
분산 DB는, 하나의 논리적 데이터베이스가 네트워크 상에서 여러 컴퓨터에 물리적으로 분산되어 있지만 클라이언트가 하나의 데이터베이스처럼 인식할 수 있도록 논리적으로 통합되어 공유되는 데이터베이스 구조를 의미한다.
헌데, 기존의 분산 DB 구현 방식은, 각 지역에 데이터베이스를 새롭게 구축하면서 기존 중앙형 DB의 구조를 완전히 재구성하여, 중앙형 DB가 갖는 데이터베이스 내 오브젝트(Table, Index, Procedure 등)의 스키마(schema)를 변경하여야만 하는 방식이다.
따라서, 중앙형 DB를 운영하고 있던 서비스사이트 즉 서비스제공자 측에서는, 분산 DB로 변경하고자 하는 경우, 기존 중앙형 DB의 구조를 완전히 재구성하는 대규모의 절차를 진행해야 하기 때문에 구축 일정/비용 등의 소모자원이 막대하게 투입되는 것이 부담스러운 요인으로 작용할 수 밖에 없다.
이에, 본 발명에서는, 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB를 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 분산 DB 구조를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 데이터베이스 시스템은, 특정 서비스와 관련하여, 각 지역 별로 분산되는 데이터를 저장하고 있는 각 지역의 분산 데이터베이스장치; 및 상기 각 지역의 분산 데이터베이스장치 모두에 저장된 지역별 분산 데이터를 저장하고 있는 중앙 데이터베이스장치를 포함하며; 상기 중앙 데이터베이스장치는, 상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행한다.
구체적으로, 상기 각 지역의 분산 데이터베이스장치 및 상기 중앙 데이터베이스장치는, 내부에 저장된 데이터의 스키마(schema)가 동일할 수 있다.
구체적으로, 상기 특정 서비스에 접근하는 클라이언트장치에 대하여, 상기 클라이언트장치에 대해 지정되는 특정 분산 데이터베이스장치에 접근하여 상기 특정 서비스를 이용할 수 있게 하는 접속정보를 상기 클라이언트장치에 제공하며, 상기 특정 분산 데이터베이스장치의 장애 확인 시, 상기 접속정보 대신 상기 중앙 데이터베이스장치에 접근하여 상기 특정 서비스를 이용할 수 있게 하는 임시 접속정보를 상기 클라이언트장치로 제공하여, 상기 중앙 데이터베이스장치가 상기 특정 서비스의 백업 기능을 수행할 수 있게 하는 GSLB(Global Service Load Balancing) 장치를 더 포함할 수도 있다.
구체적으로, 상기 각 지역의 분산 데이터베이스장치는, 내부의 분산 데이터 변경 발생 시 상기 변경된 분산 데이터에 대한 변경내역을 상기 중앙 데이터베이스장치로 전달하여, 상기 중앙 데이터베이스장치 내 상기 지역별 분산 데이터에 상기 변경된 분산 데이터가 반영되도록 할 수 있다.
구체적으로, 상기 분산 데이터의 변경은, 새로운 분산 데이터가 저장되는 경우, 또는 저장된 분산 데이터가 삭제되는 경우, 또는 저장된 분산 데이터가 수정되는 경우 발생할 수 있다.
구체적으로, 제1 분산 데이터베이스장치에 저장된 특정 분산 데이터를 제2 분산 데이터베이스장치로 이동하는 이동 이벤트 발생 시, 상기 제2 분산 데이터베이스장치는, 상기 중앙 데이터베이스장치 내 지역별 분산 데이터 중 상기 제1 분산 데이터베이스장치의 분산 데이터에서 상기 특정 분산 데이터를 복사하여 저장하고, 상기 제1 분산 데이터베이스장치는, 내부 저장된 상기 특정 분산 데이터를 삭제할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 중앙 데이터베이스장치는, 특정 서비스와 관련하여, 각 지역의 분산 데이터베이스장치에 분산 저장되는 분산 데이터를 모두 포함하는 지역별 분산 데이터를 저장하는 데이터베이스부; 및 상기 데이터베이스부에 저장된 데이터를 근거로, 클라이언트장치에 상기 특정 서비스를 제공하는 제어부를 포함하며; 상기 제어부는, 상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행한다.
구체적으로, 상기 데이터베이스부 및 상기 각 지역의 분산 데이터베이스장치는, 상기 특정 서비스와 관련하여 지역과 무관하게 공통되는 특정 데이터를 더 저장할 수 있다.
구체적으로, 상기 제어부는, 상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치에서 분산 데이터 변경 발생 시, 상기 분산 데이터 변경에 따른 변경내역에 근거하여, 상기 데이터베이스부 내 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 변경할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 데이터베이스 서비스 방법은, 특정 서비스와 관련하여, 각 지역의 분산 데이터베이스장치에 각 지역 별로 분산되는 데이터를 저장하는 단계; 중앙 데이터베이스장치에 상기 각 지역의 분산 데이터베이스장치 모두에 저장된 지역별 분산 데이터를 저장하는 단계; 상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 중앙 데이터페이스장치가 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행하는 단계를 포함한다.
구체적으로, 상기 각 지역의 분산 데이터베이스장치 및 상기 중앙 데이터베이스장치는, 내부에 저장된 데이터의 스키마(schema)가 동일할 수 있다.
구체적으로, 상기 각 지역의 분산 데이터베이스장치 중 내부의 분산 데이터 변경이 발생한 분산 데이터베이스장치가, 상기 변경된 분산 데이터에 대한 변경내역을 상기 중앙 데이터베이스장치로 전달하는 단계; 및 상기 중앙 데이터베이스장치가, 상기 변경내역에 따라 상기 지역별 분산 데이터 중 상기 분산 데이터베이스장치의 분산 데이터를 변경하는 단계를 더 포함할 수 있다.
구체적으로, 상기 각 지역의 분산 데이터베이스장치 중 제1 분산 데이터베이스장치에 저장된 특정 분산 데이터를 제2 분산 데이터베이스장치로 이동하는 이동 이벤트 발생 시, 상기 제2 분산 데이터베이스장치가, 상기 중앙 데이터베이스장치 내 지역별 분산 데이터 중 상기 제1 분산 데이터베이스장치의 분산 데이터에서 상기 특정 분산 데이터를 복사하여 저장하는 단계; 상기 제1 분산 데이터베이스장치가, 내부 저장된 상기 특정 분산 데이터를 삭제하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 중앙 데이터베이스장치의 동작 방법은, 특정 서비스와 관련하여, 각 지역의 분산 데이터베이스장치에 분산 저장되는 분산 데이터를 모두 포함하는 지역별 분산 데이터를 저장하는 단계; 및 상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행하는 단계를 포함한다.
구체적으로, 상기 중앙 데이터베이스장치 및 상기 각 지역의 분산 데이터베이스장치는, 상기 특정 서비스와 관련하여 지역과 무관하게 공통되는 특정 데이터를 더 저장할 수 있다.
구체적으로, 상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치에서 분산 데이터 변경 발생 시, 상기 분산 데이터 변경에 따른 변경내역에 근거하여 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 변경하는 단계를 더 포함할 수 있다.
본 발명의 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법에 따르면, 분산 DB에서의 필수적인 투명성은 기존처럼 동일하게 보장하면서도, 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB를 실현하는 효과를 도출한다.
도 1은 기존의 중앙형 DB를 근거로 서비스하는 환경을 보여주는 예시도이다.
도 2는 기존의 분산DB 구조를 보여주는 예시도이다.
도 3은 본 발명의 일 실시예에 따른 분산 데이터베이스 시스템을 근거로 서비스하는 환경을 보여주는 예시도이다.
도 4는 본 발명의 분산 데이터베이스 시스템에서 중앙/분산의 데이터 동일성이 유지되는 시나리오를 보여주는 예시도이다.
도 5는 본 발명의 일 실시예에 따른 중앙 데이터베이스장치의 계략적인 구성도이다.
도 6은 본 발명의 일 실시예에 따른 중앙 데이터베이스장치의 동작 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.
본 발명은, 분산 데이터베이스(DB: Data Base) 기술에 관한 것이다.
이에, 첨부된 도면을 참조하여 기존의 DB 기술에 대하여 먼저 간략하게 설명하겠다.
먼저, 도 1을 참조하여, 기존의 중앙형 DB를 근거로 서비스하는 환경을 설명하면 다음과 같다.
도 1에 도시된 바와 같이, 기존의 중앙형 DB를 근거로 서비스하는 환경에서는, 서비스사이트(혹은, 서비스제공자) 측이 서비스를 제공하기 위해 필요한 각종 데이터를 저장/관리하는 데이터베이스(DB: Data Base)를 구축한 데이터베이스장치(20)를 운영하게 된다.
도 1에 도시된 바와 같이, 데이터베이스장치(20)는, 서비스와 관련된 각종 데이터를 저장/관리하는 DB, 인터넷 상에서 클라이언트장치(10)에 애플리케이션을 수행해 주는 미들웨어로서의 WAS(Web Application Server)로 구성될 수 있다.
이에, 서비스사이트(혹은, 서비스제공자)에서는, 서비스에 접근하는 클라이언트장치(10)에 대하여 데이터베이스장치(20)에 저장된 데이터를 근거로 해당 서비스를 제공할 수 있게 된다.
한편, 최근에는 클라이언트장치에 제공하는 서비스의 형태가 다양화되고 초고속/초고품질의 서비스를 원하는 클라이언트의 니즈(Needs)가 강조되는 등 서비스 환경의 변화 뿐 아니라, 데이터베이스의 시스템 장애 시 전체 서비스에 장애가 발생할 수 있는 문제점 등으로 인해, 하나의 데이터베이스 즉 중앙형 DB를 운영하는 중앙 집중화된 데이터베이스 구조(도 1)에서 지역 별로 분산하여 데이터베이스를 운영하는 구조(이하, 분산 DB)로 변화하고 있다.
분산 DB는, 하나의 논리적 데이터베이스가 네트워크 상에서 여러 컴퓨터에 물리적으로 분산되어 있지만 클라이언트가 하나의 데이터베이스처럼 인식할 수 있도록 논리적으로 통합되어 공유되는 데이터베이스 구조를 의미한다.
헌데, 기존의 분산 DB 구현 방식은, 각 지역에 데이터베이스를 새롭게 구축하면서 기존 중앙형 DB의 구조를 완전히 재구성해야 하는 방식이다.
즉, 도 2에 도시된 바와 같이, 중앙형 DB가 갖는 데이터베이스 내 오브젝트(Table, Index, Procedure 등)의 기존 스키마(schema)를, 전역 스키마(Global schema), 지역 독립적인 스키마, 할당 스키마(Fragment schema), 지역 스키마(Local schema)로 완전히 재구성하여 변경해야만 하는 방식이다.
따라서, 중앙형 DB를 운영하고 있던 서비스사이트 즉 서비스제공자 측에서는, 분산 DB로 변경하고자 하는 경우, 기존 중앙형 DB의 구조를 완전히 재구성하는 대규모의 절차를 진행해야 하기 때문에 구축 일정/비용 등의 소모자원이 막대하게 투입되는 것이 부담스러운 요인으로 작용할 수 밖에 없다.
이에, 본 발명에서는, 기존의 분산 DB 구조 대비, 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB를 제안하고자 한다.
이하에서는, 본 발명에서 제안하는 새로운 분산 DB 구조를 실현하는 분산 데이터베이스 시스템에 대하여 구체적으로 설명하겠다.
본 발명의 일 실시예에 따른 분산 데이터베이스 시스템은, 물리적으로 분산되는 데이터베이스장치들, 즉 각 지역의 분산 데이터베이스장치와 중앙 데이터베이스장치로 구성되며, 이는 기본적인 분산 DB의 구조에 해당된다.
여기서 주목할 점은, 본 발명의 일 실시예에 따른 분산 데이터베이스 시스템에서는, 각 지역의 분산 데이터베이스장치 및 중앙 데이터베이스장치는, 내부에 저장된 데이터의 스키마(schema)가 동일한 구성을 갖는 것이다.
즉, 본 발명의 일 실시예에 따른 분산 데이터베이스 시스템은, 각 지역의 분산 데이터베이스장치와 중앙 데이터베이스장치로 구성되되, 각 지역의 분산 데이터베이스장치 및 중앙 데이터베이스장치는, 내부에 저장된 데이터의 스키마(schema)가 동일한 구성을 갖도록 구현된다.
이에, 도 3을 참조하여, 본 발명의 일 실시예에 따른 분산 데이터베이스 시스템(분산 DB 구조)을 근거로 서비스하는 환경을 설명하면 다음과 같다.
도 3에 도시된 바와 같이, 본 발명의 분산 데이터베이스 시스템(분산 DB)를 근거로 서비스하는 환경에서는, 서비스사이트(혹은, 서비스제공자) 측이 서비스를 제공하기 위해 필요한 각종 데이터를 저장/관리하는 데이터베이스(DB: Data Base)를 분산 구축하여 운영하게 된다.
구체적으로, 본 발명의 분산 데이터베이스 시스템(분산 DB)은, 특정 서비스 즉 본 발명의 분산 DB를 이용하는 서비스사이트(혹은, 서비스제공자) 측이 제공하는 서비스와 관련하여, 각 지역 별로 분산되는 데이터를 저장하고 있는 각 지역의 분산 데이터베이스장치(100,300)와, 각 지역의 분산 데이터베이스장치(100,300) 모두에 저장된 지역별 분산 데이터를 저장하고 있는 중앙 데이터베이스장치(200)를 포함하여 구현된다.
도 3에 도시된 바와 같이, 본 발명에서 각 지역의 분산 데이터베이스장치(100,300)는, 서비스와 관련하여 해당 지역에 필요한 분산 데이터, 서비스와 관련하여 지역과 무관하게 공통적으로 필요한 특정 데이터(이하, 공통 데이터)를 저장/관리하는 DB, 장치에서 DB 내 데이터를 근거로 서비스를 제공하는 미들웨어로서의 WAS로 구성될 수 있다.
여기서, 해당 지역에 필요한 분산 데이터란, 해당 지역에서 서비스를 이용하는 클라이언트들에 대한 고객정보(예: 로그인 인증정보, 가입정보 등), 해당 지역에 특화된 광고정보 등일 수 있다.
또한, 공통 데이터란, 서비스 제공을 위해 지역과 무관하게 필요한 상품정보, 가격정보, 이미지정보 등일 수 있다.
아울러, 도 3에 도시된 바와 같이, 본 발명에서 중앙 데이터베이스장치(200)는, 지역별 분산 데이터(분산 데이터1+2+...+n) 및 전술의 공통 데이터를 저장/관리하는 DB(220), 장치에서 DB(220) 내 데이터를 근거로 서비스를 제공하는 미들웨어로서의 Central WAS(210)로 구성될 수 있다.
본 발명에서 각 지역의 분산 데이터베이스장치는, 다수의 분산 데이터베이스장치(1,2,.. n)일 수 있으며, 다만 도 3에서는 도면의 간략화를 위해 2개로 도시하고 있을 뿐이다.
본 발명의 분산 데이터베이스 시스템(분산 DB)에서, 중앙 데이터베이스장치(200)는, 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치의 장애 시, 내부 저장된 지역별 분산 데이터 중 장애가 발생한 특정 분산 데이터베이스장치의 분산 데이터를 근거로 서비스의 백업(Backup) 기능을 수행할 수 있다.
앞서 언급한 바 있듯이, 본 발명의 분산 데이터베이스 시스템(분산 DB)에서, 각 지역의 분산 데이터베이스장치(100,300) 및 중앙 데이터베이스장치(200)는, 내부에 저장된 데이터 즉 데이터베이스 내 오브젝트(Table, Index, Procedure 등)의 스키마(schema)가 동일한 구성을 갖도록 구현된다.
이처럼 각 지역의 분산 데이터베이스장치(100,300) 및 중앙 데이터베이스장치(200) 내부에 저장된 데이터 즉 데이터베이스 내 오브젝트(Table, Index, Procedure 등)의 스키마(schema)가 동일하기 때문에, 중앙 데이터베이스장치(200)는, 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치의 장애 시, 장애가 발생한 특정 분산 데이터베이스장치 대신 서비스의 백업(Backup) 기능을 수행할 수 있게 된다.
중앙 데이터베이스장치(200)가 서비스의 백업 기능을 수행하는 구체적인 구성에 대해서는 후술에서 다시 언급하겠다.
한편, 기존의 중앙형 DB에서 본 발명의 분산 데이터베이스 시스템(분산 DB)을 구현하는 경우, 각 지역에 데이터베이스장치(100,300)를 새롭게 구축하면서 기존 중앙형 DB를 본 발명에서의 중앙 데이터베이스장치(200)로 구성할 수 있으며, 이 경우 기존 중앙형 DB가 갖는 데이터의 스키마를 변경하지 않거나 변경을 최소화하여 중앙 데이터베이스장치(200)가 갖는 데이터의 스키마를 구성할 수 있다.
이러한 경우라면, 본 발명의 분산 데이터베이스 시스템(분산 DB)에서, 각 지역의 분산 데이터베이스장치(100,300) 및 중앙 데이터베이스장치(200)는, 내부에 저장된 데이터의 스키마(schema)를 기존 중앙형 DB가 갖는 데이터의 스키마/모델과 동일한 구성 또는 변경을 최소화한 구성을 갖도록 구현될 것이다.
이렇게 본 발명의 경우, 기존 중앙형 DB가 갖는 스키마를 완전히 재구성/변경하지 않아도 되는 분산 DB 구조를 실현하기 때문에, 분산 DB 구현 관점에서 볼 때 기존의 분산 DB 구조 대비, 구현을 위한 구축 일정/비용 등 소모자원을 획기적으로 감소시킬 수 있는 효과를 도출한다.
이하에서는, 중앙 데이터베이스장치(200)가 서비스의 백업 기능을 수행하는 실시예에 대하여 설명하겠다.
먼저 제1 실시예에 따르면, 본 발명의 분산 데이터베이스 시스템(분산 DB)은, GSLB(Global Service Load Balancing) 장치(50)를 더 포함할 수 있다.
GSLB 장치(50)는, 서비스에 접근하는 클라이언트장치에 대하여, 클라이언트장치에 대해 지정되는 특정 분산 데이터베이스장치에 접근하여 서비스를 이용할 수 있게 하는 접속정보를 클라이언트장치에 제공한다.
예를 들어, 클라이언트장치1이 도메인을 근거로 서비스에 접근하고자 하는 경우, GSLB 장치(50)는 해당 도메인의 서비스사이트에 등록된 각 지역의 분산 데이터베이스장치(100,300) 중 클라이언트장치1에 대하여 지정되는 특정 분산 데이터베이스장치 예컨대 클라이언트장치1이 위치한 지역의 분산 데이터베이스장치(100)에 접근하여 서비스를 이용할 수 있게 하는 접속정보(예: IP, Port 등)를 클라이언트장치에 제공할 수 있다.
이렇게 되면, 도메인을 근거로 서비스에 접근 시도하는 클라이언트장치1은, 접속정보(예: IP, Port 등)를 근거로 분산 데이터베이스장치(100)에 접근하여 서비스사이트에서 제공되는 서비스를 이용할 수 있을 것이다.
한편, 기본적으로 GSLB 장치(50)는, 각 지역의 분산 데이터베이스장치(100,300)에 대한 헬스 체크(Health Check) 기능을 갖는다.
이에, GSLB 장치(50)는, 헬스 체크(Health Check) 기능을 통해 각 지역의 분산 데이터베이스장치(100,300)에 대한 장애 여부를 모니터링할 수 있고, 분산 데이터베이스장치 내 WAS 또는 DB 장애 시 이를 확인할 수 있다.
이에, GSLB 장치(50)는, 클라이언트장치1이 도메인을 근거로 서비스에 접근하고자 하는 시점에, 클라이언트장치1이 위치한 지역의 특정 분산 데이터베이스장치(100)의 장애 확인 시, 특정 분산 데이터베이스장치(100)에 대한 접속정보 대신, 중앙 데이터베이스장치(200)에 접근하여 서비스를 이용할 수 있게 하는 임시 접속정보(예: IP, Port 등)를 클라이언트장치1로 제공할 수 있다.
이렇게 되면, 중앙 데이터베이스장치(200)는 장애가 발생한 특정 분산 데이터베이스장치(100)의 분산 데이터(지역별 분산 데이터)를 저장하고 있고 이를 근거로 하는 서비스 백업(Backup) 기능을 수행하기 때문에, 클라이언트장치1은 임시 접속정보(예: IP, Port 등)를 근거로 중앙 데이터베이스장치(200)에 접근하여 서비스사이트에서 제공되는 서비스를 이용할 수 있을 것이다.
한편, 제2 실시예에 따르면, 각 클라이언트장치는, 장치 내 WAS 설정 기능에서 서비스사이트의 도메인을 근거로 하는 접근 시도 시 우선순위로 특정 분산 데이터베이스장치의 접속정보를 설정하고, 차선순위로 중앙 데이터베이스장치(200)의 접속정보를 설정해둘 수 있다.
이에, 예를 들어 클라이언트장치1이 도메인을 근거로 서비스에 접근하고자 하는 경우, 클라이언트장치1은 WAS 설정 기능에 따라 우선순위로 설정된 특정 분산 데이터베이스장치(100)의 접속정보(예: IP, Port 등)를 근거로 분산 데이터베이스장치(100)에 접근하여 서비스사이트에서 제공되는 서비스를 이용할 수 있을 것이다.
만약, 분산 데이터베이스장치(100) 내 WAS 장애 시, 클라이언트장치1은 분산 데이터베이스장치(100)에 접근하여 정상적인 서비스 응답을 받지 못할 것이다.
클라이언트장치1은 분산 데이터베이스장치(100)에 접근하여 정상적인 서비스 응답을 받지 못하는 경우, WAS 설정 기능에 따라 차선순위로 설정된 중앙 데이터베이스장치(200)의 접속정보를 근거로 분산 데이터베이스장치(100)에 접근할 수 있다.
이렇게 되면, 중앙 데이터베이스장치(200)는 장애가 발생한 특정 분산 데이터베이스장치(100)의 분산 데이터(지역별 분산 데이터)를 저장하고 있고 이를 근거로 하는 서비스 백업(Backup) 기능을 수행하기 때문에, 클라이언트장치1은 차선순위의 중앙 데이터베이스장치(200)에 접근하여 서비스사이트에서 제공되는 서비스를 이용할 수 있을 것이다.
한편, 제3 실시예에 따르면, 분산 데이터베이스장치(100) 내 WAS는 정상이나 DB의 장애 시, 클라이언트장치1은 분산 데이터베이스장치(100)에 접근하여 정상적인 서비스 응답을 받을 수는 있지만 서비스를 정상적으로 이용할 수는 없을 것이다.
이 경우, 분산 데이터베이스장치(100) 내 WAS는, 분산 데이터베이스장치(100) 내 DB 장애 시 직접 중앙 데이터베이스장치(200)에 접근하여 서비스를 이용할 수 있게 하는 임시 접속정보(예: IP, Port 등)를 클라이언트장치1로 제공할 수 있다.
이렇게 되면, 중앙 데이터베이스장치(200)는 장애가 발생한 특정 분산 데이터베이스장치(100)의 분산 데이터(지역별 분산 데이터)를 저장하고 있고 이를 근거로 하는 서비스 백업(Backup) 기능을 수행하기 때문에, 클라이언트장치1은 임시 접속정보(예: IP, Port 등)를 근거로 중앙 데이터베이스장치(200)에 접근하여 서비스사이트에서 제공되는 서비스를 이용할 수 있을 것이다.
본 발명의 분산 데이터베이스 시스템(분산 DB) 역시, 분산 DB가 필수적으로 만족해야만 하는 필수 투명성, 즉 분할 투명성, 위치 투명성, 중복 투명성, 장애 투명성, 병행 투명성을 모두 만족할 수 있어야 한다.
본 발명에서는, 전술한 바와 같이 각 지역의 분산 데이터베이스장치 및 중앙 데이터베이스장치 내부 데이터가 동일한 스키마를 갖도록 구성되는 점, 이를 전제로 중앙 데이터케이스장치가 수행하는 서비스 백업 기능을 통해, 서비스 제공의 연속성을 제공할 있기 때문에, 장애 투명성/위치 투명성/병행 투명성을 만족시킬 수 있다.
더 나아가, 이하에서는 도 4를 참조하여 본 발명의 분산 데이터베이스 시스템(분산 DB)에서 중앙/분산의 데이터가 동일하게 유지되는 시나리오를 구체적으로 설명하겠다.
각 지역의 분산 데이터베이스장치(100,300)는, 내부의 분산 데이터 변경 발생 시 변경된 분산 데이터에 대한 변경내역을 중앙 데이터베이스장치(200)로 전달한다.
이때, 분산 데이터의 변경은, 새로운 분산 데이터가 저장되는 경우, 또는 저장된 분산 데이터가 삭제되는 경우, 또는 저장된 분산 데이터가 수정되는 경우 발생한다.
이렇게 되면, 중앙 데이터베이스장치(200)는, 전달되는 변경내역을 근거로, 내부 저장된 지역별 분산 데이터에 변경된 분산 데이터를 반영하여 변경할 수 있다.
예를 들어, 클라이언트장치1이 분산 데이터베이스장치(100)에 접근하여 새로운 고객정보를 등록하고 서비스사이트의 서비스에 가입할 수 있다. 이 경우 새로운 분산 데이터 즉 신규 고객의 고객정보가 분산 데이터베이스장치(100)에 저장될 것이며, 분산 데이터베이스장치(100)는 내부의 분산 데이터 변경 발생으로 인지할 수 있다.
또는, 클라이언트장치1이 분산 데이터베이스장치(100)에 접근하여 서비스사이트의 서비스에서 탈퇴할 수 있다. 이 경우 분산 데이터 즉 탈퇴 고객의 고객정보가 분산 데이터베이스장치(100)에서 삭제될 것이며, 분산 데이터베이스장치(100)는 내부의 분산 데이터 변경 발생으로 인지할 수 있다.
또는, 클라이언트장치1이 분산 데이터베이스장치(100)에 접근하여 자신의 로그인 인증정보를 바꾸는 등 고객정보를 수정할 수 있다. 이 경우 분산 데이터 즉 해당 고객의 고객정보가 분산 데이터베이스장치(100)에서 수정될 것이며, 분산 데이터베이스장치(100)는 내부의 분산 데이터 변경 발생으로 인지할 수 있다.
분산 데이터베이스장치(100)는, 내부의 분산 데이터 변경(저장/삭제/수정) 발생 시, 변경된 분산 데이터에 대한 변경내역을 중앙 데이터베이스장치(200)로 전달할 수 있다.
중앙 데이터베이스장치(200)는, 전달되는 변경내역을 근거로, DB(220) 내 저장된 지역별 분산 데이터 중 분산 데이터베이스장치(100)의 분산 데이터를 변경(저장/삭제/수정)할 것이다.
더 나아가, 제1 분산 데이터베이스장치에 저장된 특정 분산 데이터를 제2 분산 데이터베이스장치로 이동하는 이동 이벤트 발생 시, 제2 분산 데이터베이스장치는, 중앙 데이터베이스장치(200) 내 지역별 분산 데이터 중 제1 분산 데이터베이스장치의 분산 데이터에서 특정 분산 데이터를 복사하여 저장할 수 있다.
아울러, 제1 분산 데이터베이스장치에 저장된 특정 분산 데이터를 제2 분산 데이터베이스장치로 이동하는 이동 이벤트 발생 시, 제1 분산 데이터베이스장치는, 내부 저장된 특정 분산 데이터를 삭제할 수 있다.
여기서, 제1 분산 데이터베이스장치 및 제2 분산 데이터베이스장치는, 각 지역의 분산 데이터베이스장치(100,300) 중 서로 다른 장치이면 어느 장치일 수도 있다.
예를 들어, 분산 데이터베이스장치(100)의 지역에서 분산 데이터베이스장치(100)에 접근하여 서비스사이트의 서비스를 이용하던 클라이언트장치1이, 분산 데이터베이스장치(300)의 지역에서 분산 데이터베이스장치(300)의 접속정보를 근거로 분산 데이터베이스장치(300)에 접근하여 로그인을 시도한다고 가정한다.
이때, 분산 데이터베이스장치(300)의 DB 내 분산 데이터에는 클라이언트장치1의 고객정보가 존재하지 않을 것이므로, 분산 데이터베이스장치(300)는 즉 로그인 절차를 정상적으로 수행하여 서비스를 제공할 수 없다. 반면, 클라이언트장치1의 고객정보는 분산 데이터베이스장치(100)의 DB 내 부산 데이터에 존재할 것이다.
이 경우, 분산 데이터베이스장치(100)가 제1 분산 데이터베이스장치에 해당되고 분산 데이터베이스장치(300)가 제2 분산 데이터베이스장치에 해당되며, 제1 분산 데이터베이스장치에 제2 분산 데이터베이스장치로 이동하는 특정 분산 데이터란 클라이언트장치1의 고객정보일 수 있다.
전술의 이동 이벤트 발생 시 예컨대 내부 DB에 고객정보가 존재하지 않는 클라이언트장치1의 접근 및 로그인 시도 인지 시, 제2 분산 데이터베이스장치로서의 분산 데이터베이스장치(300)는 중앙 데이터베이스장치(200) 내 지역별 분산 데이터 중 분산 데이터베이스장치(100)의 분산 데이터에서 특정 분산 데이터 즉 클라이언트장치1의 고객정보를 복사하여 내부 DB에 저장할 수 있다.
이에, 분산 데이터베이스장치(300)는, 내부 DB에 저장한 분산 데이터 즉 클라이언트장치1의 고객정보를 근거로 클라이언트장치1의 로그인 절차를 정상적으로 수행하여 서비스를 제공할 수 있다.
이때 역시 분산 데이터베이스장치(300)는, 전술한 바와 같이 내부의 분산 데이터 변경(저장) 발생으로 인지, 변경된 분산 데이터에 대한 변경내역을 중앙 데이터베이스장치(200)로 전달하여, 중앙 데이터베이스장치(200) 내 지역별 분산 데이터에 금번 변경된 분산 데이터베이스장치(300)의 분산 데이터가 반영(저장)되도록 할 것이다.
예를 들면, 중앙 데이터베이스장치(200)는, 분산 데이터베이스장치(300)가 다른 분산 데이터베이스장치(100)의 분산 데이터에서 특정 분산 데이터(예: 클라이언트장치1의 고객정보)를 복사해가는 것을 인지하면, 이를 분산 데이터베이스장치(100)에 알릴 수 있다.
전술의 이동 이벤트 발생 시 예컨대 다른 분산 데이터베이스장치가 복사해 간 특정 분산 데이터(예: 클라이언트장치1의 고객정보) 인지 시, 제1 분산 데이터베이스장치로서의 분산 데이터베이스장치(100)는 내부 DB에 저장된 분산 데이터에서 해당되는 특정 분산 데이터(예: 클라이언트장치1의 고객정보)를 삭제할 수 있다.
이때 역시 분산 데이터베이스장치(100)는, 전술한 바와 같이 내부의 분산 데이터 변경(삭제) 발생으로 인지, 변경된 분산 데이터에 대한 변경내역을 중앙 데이터베이스장치(200)로 전달하여, 중앙 데이터베이스장치(200) 내 지역별 분산 데이터에 금번 변경된 분산 데이터베이스장치(100)의 분산 데이터가 반영(삭제)되도록 할 것이다.
이에, 본 발명에서는, 각 지역의 분산 데이터베이스장치에 저장/보관되는 분산 데이터의 이동 및 변경 시 Garbage 데이터를 최소화하면서 중앙 데이터베이스장치 내부 데이터도 분산의 데이터와 동일성을 유지할 수 있기 때문에, 위치 투명성/분할 투명성/중복 투명성을 만족시킬 수 있다.
이하에서는, 도 5를 참조하여 본 발명의 분산 데이터베이스 시스템의 일 구성인 중앙 데이터베이스장치에 대하여 보다 구체적으로 설명하겠다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 중앙 데이터베이스장치(200)는, 데이터베이스부(220), 제어부(210)을 포함하는 구성을 가질 수 있다.
한편, 본 발명의 일 실시예에 따른 중앙 데이터베이스장치(200)는, 전술한 구성 이외에, 클라이언트장치(10), 각 지역의 분산 데이터베이스장치(100,300)와의 실질적인 통신 기능을 담당하는 RF 모듈인 통신부(230)의 구성을 더 포함할 수 있다.
여기서, 통신부(230)는 예컨대, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기, 디지털 신호 처리기, 코덱(CODEC) 칩셋, 및 메모리 등을 포함하지만 이에 제한되지는 않으며, 이 기능을 수행하는 공지의 회로는 모두 포함할 수 있다.
이러한 중앙 데이터베이스장치(200)의 구성 전체 내지는 적어도 일부는 하드웨어 모듈 형태 또는 소프트웨어 모듈 형태로 구현되거나, 하드웨어 모듈과 소프트웨어 모듈이 조합된 형태로도 구현될 수 있다.
여기서, 소프트웨어 모듈이란, 예컨대, 중앙 데이터베이스장치(200) 내에서 연산을 제어하는 프로세서에 의해 실행되는 명령어로 이해될 수 있으며, 이러한 명령어는 중앙 데이터베이스장치(200) 내 메모리에 탑재된 형태를 가질 수 있을 것이다.
결국, 본 발명의 일 실시예에 따른 중앙 데이터베이스장치(200)는 전술한 구성을 통해, 분산 DB에서의 필수적 투명성은 기존처럼 동일하게 보장하면서도 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB 실현을 지원하며, 이하에서는 이를 실현하기 위한 중앙 데이터베이스장치(200) 내 각 구성에 대해 보다 구체적으로 설명하기로 한다.
데이터베이스부(220)는, 특정 서비스 즉 본 발명의 분산 DB를 이용하는 서비스사이트(혹은, 서비스제공자) 측이 제공하는 서비스와 관련하여, 각 지역의 분산 데이터베이스장치(100,300)에 분산 저장되는 분산 데이터를 모두 포함하는 지역별 분산 데이터(분산 데이터1+2+...+n, 222)를 저장/관리한다.
더 나아가, 데이터베이스부(220)는, 서비스와 관련하여, 지역과 무관하게 공통적으로 필요한 특정 데이터(이하, 공통 데이터(224))를 저장/관리한다.
여기서, 데이터베이스부(220) 및 각 지역의 분산 데이터베이스장치(100,300) 내 DB에 저장되는 데이터 즉 오브젝트(Table, Index, Procedure 등)의 스키마(schema)가 동일한 구성을 갖도록 구현된다.
제어부(210)는, 데이터베이스부(220)에 저장된 데이터를 근거로 클라이언트장치(10)에 서비스를 제공하는 기능을 담당하며, Central WAS로 구현될 수 있다.
이러한 제어부(210)는, 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치의 장애 시, 지역별 분산 데이터(222) 중 특정 분산 데이터베이스장치의 분산 데이터를 근거로 서비스의 백업(Backup) 기능을 수행한다.
앞서 언급한 바 있듯이, 데이터베이스부(220) 및 각 지역의 분산 데이터베이스장치(100,300) 내 DB에 저장되는 데이터 즉 오브젝트(Table, Index, Procedure 등)의 스키마(schema)가 동일하기 때문에, 제어부(210)는, 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치의 장애 시, 장애가 발생한 특정 분산 데이터베이스장치 대신 서비스의 백업(Backup) 기능을 수행할 수 있게 된다.
예를 들어, 분산 데이터베이스장치(100)의 지역에 위치한 클라이언트장치1이 도메인을 근거로 서비스에 접근 시도하는 경우, 분산 데이터베이스장치(100)의 장애 시 클라이언트장치1은 분산 데이터베이스장치(100)에 대한 접속정보 대신 중앙 데이터베이스장치(200)의 접속정보를 근거로, 중앙 데이터베이스장치(200)에 접근할 것이다.
본 발명에서는, 데이터베이스부(220) 및 각 지역의 분산 데이터베이스장치(100,300) 내 DB에 저장되는 데이터 즉 오브젝트(Table, Index, Procedure 등)의 스키마(schema)가 동일하며, 데이터베이스부(220) 내에 지역별 분산 데이터(222)가 모두 저장/관리되고 있기 때문에, 제어부(210)는, 지역별 분산 데이터(222) 중 분산 데이터베이스장치(100)의 분산 데이터 예컨대 클라이언트장치1의 고객정보를 근거로 로그인 절차를 정상적으로 수행하여 서비스를 제공함으로써, 서비스의 백업(Backup) 기능을 수행할 수 있다.
더 나아가, 제어부(210)는, 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치에서 분산 데이터 변경 발생 시, 분산 데이터 변경에 따른 변경내역에 근거하여, 데이터베이스부(2220) 내 지역별 분산 데이터(222) 중 특정 분산 데이터베이스장치의 분산 데이터를 변경할 수 있다.
예를 들어, 분산 데이터베이스장치(100)에서 새로운 분산 데이터가 저장되거나 기 저장된 분산 데이터가 삭제되거나 수정되는, 분산 데이터 변경이 발생한다고 가정한다.
이 경우, 분산 데이터베이스장치(100)는, 변경된 분산 데이터에 대한 변경내역을 중앙 데이터베이스장치(200)로 전달한다.
이에, 제어부(210)는, 분산 데이터 변경이 발생한 분산 데이터베이스장치(100)로부터 전달되는 변경내역을 근거로, 데이터베이스부(220) 내 지역별 분산 데이터(222) 중 분산 데이터베이스장치(100)의 변경된 분산 데이터를 반영하여 변경할 수 있다.
이하에서는, 도 6을 참조하여, 본 발명의 일 실시예에 따른 중앙 데이터베이스장치의 동작 방법을 설명하겠다.
본 발명에 따른 중앙 데이터베이스장치의 동작 방법을 설명하기에 앞서, 각 지역의 분산 데이터베이스장치(100,300)는, 서비스와 관련하여 해당 지역에 필요한 분산 데이터, 서비스와 관련하여 지역과 무관하게 공통적으로 공통 데이터를 저장한다(S100).
그리고, 본 발명에 따른 중앙 데이터베이스장치의 동작 방법에서, 중앙 데이터베이스장치(200)는 각 지역의 분산 데이터베이스장치(100,300) 모두에 저장된 지역별 분산 데이터(분산 데이터1+2+...+n) 및 전술의 공통 데이터를 저장한다(S110).
본 발명에 따른 중앙 데이터베이스장치의 동작 방법에서, 중앙 데이터베이스장치(200)는 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치의 장애 시, 장애가 발생한 특정 분산 데이터베이스장치 대신 서비스의 백업(Backup) 기능을 수행할 수 있다(S120).
예를 들어, 분산 데이터베이스장치(100)의 지역에 위치한 클라이언트장치1이 도메인을 근거로 서비스에 접근 시도하는 경우, 분산 데이터베이스장치(100)의 장애 시 클라이언트장치1은 분산 데이터베이스장치(100)에 대한 접속정보 대신 중앙 데이터베이스장치(200)의 접속정보를 근거로, 중앙 데이터베이스장치(200)에 접근할 것이다.
본 발명에 따른 중앙 데이터베이스장치의 동작 방법에서, 중앙 데이터베이스장치(200)는, 중앙 데이터베이스장치(200) 및 각 지역의 분산 데이터베이스장치(100,300) 내 DB에 저장되는 데이터 즉 오브젝트(Table, Index, Procedure 등)의 스키마(schema)가 동일하며, 지역별 분산 데이터(222)가 저장/관리되고 있기 때문에, 지역별 분산 데이터(222) 중 분산 데이터베이스장치(100)의 분산 데이터 예컨대 클라이언트장치1의 고객정보를 근거로 로그인 절차를 정상적으로 수행하여 서비스를 제공함으로써, 서비스의 백업(Backup) 기능을 수행할 수 있다(S120).
한편, 각 지역의 분산 데이터베이스장치(100,300) 중 특정 분산 데이터베이스장치에서, 분산 데이터 변경이 발생할 수 있다(S130 Yes).
예를 들어, 분산 데이터베이스장치(100)에서 새로운 분산 데이터가 저장되거나 기 저장된 분산 데이터가 삭제되거나 수정되는, 분산 데이터 변경이 발생한다고 가정한다(S130 Yes).
이 경우, 분산 데이터베이스장치(100)는, 변경된 분산 데이터에 대한 변경내역을 중앙 데이터베이스장치(200)로 전달한다(S140).
본 발명에 따른 중앙 데이터베이스장치의 동작 방법에서, 중앙 데이터베이스장치(200)는, 분산 데이터 변경이 발생한 분산 데이터베이스장치(100)로부터 전달되는 변경내역을 근거로, 데이터베이스부(220) 내 지역별 분산 데이터(222) 중 분산 데이터베이스장치(100)의 변경된 분산 데이터를 반영하여 변경할 수 있다(S150).
이때, 본 발명에 따른 중앙 데이터베이스장치의 동작 방법에서, 중앙 데이터베이스장치(200)는, 금번 분산 데이터의 반영/변경이 분산 데이터 이동 이벤트에 따른 것인지 인지할 수도 있다(S160).
예를 들면, 중앙 데이터베이스장치(200)는, 분산 데이터베이스장치(100)가 다른 분산 데이터베이스장치(예: 300)의 분산 데이터에서 특정 분산 데이터(예: 클라이언트장치n의 고객정보)를 복사해 간 이후 이에 대한 변경내역을 전달한 경우라면, 금번 분산 데이터의 반영/변경을 분산 데이터 이동 이벤트에 따른 것으로 인지할 수 있다(S160 Yes).
중앙 데이터베이스장치(200)는, 금번 분산 데이터의 반영/변경을 분산 데이터 이동 이벤트에 따른 것으로 인지하면(S160 Yes), 이를 분산 데이터베이스장치(300)에 알릴 수 있다(S170).
이렇게 되면, 다른 분산 데이터베이스장치(예: 100)가 복사해 간 특정 분산 데이터(예: 클라이언트장치n의 고객정보) 인지 시, 분산 데이터베이스장치(300)는 내부 DB에 저장된 분산 데이터에서 해당되는 특정 분산 데이터(예: 클라이언트장치n의 고객정보)를 삭제할 수 있다.
이상, 본 발명의 실시예들에 따르면, 분산 DB에서의 필수적인 투명성은 기존처럼 동일하게 보장하면서도, 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB를 실현하는 효과를 도출한다.
한편, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다.  본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 제어 시스템의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
본 명세서에서 "시스템"이나 "장치"라 함은 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 다중 프로세서나 컴퓨터를 포함하여 데이터를 제어하기 위한 모든 기구, 장치 및 기계를 포괄한다. 제어 시스템은, 하드웨어에 부가하여, 예컨대 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 혹은 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
본 명세서에서 설명한 주제의 구현물은 예컨대 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 마찬가지로, 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
또한, 본 명세서에서는 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명에 따른 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법에 의하면, 기존의 분산 DB 구조 대비 구현을 위한 소모자원을 획기적으로 감소시킬 수 있는 새로운 구조의 분산 DB를 실현하는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100,300 : 분산 데이터베이스장치
200 : 중앙 데이터베이스장치
50 : GSLB장치

Claims (16)

  1. 특정 서비스와 관련하여, 각 지역 별로 분산되는 데이터를 저장하고 있는 각 지역의 분산 데이터베이스장치; 및
    상기 각 지역의 분산 데이터베이스장치 모두에 저장된 지역별 분산 데이터를 저장하고 있는 중앙 데이터베이스장치를 포함하며;
    상기 중앙 데이터베이스장치는,
    상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행하는 것을 특징으로 하는 분산 데이터베이스 시스템.
  2. 제 1 항에 있어서,
    상기 각 지역의 분산 데이터베이스장치 및 상기 중앙 데이터베이스장치는,
    내부에 저장된 데이터의 스키마(schema)가 동일한 것을 특징으로 하는 분산 데이터베이스 시스템.
  3. 제 1 항에 있어서,
    상기 특정 서비스에 접근하는 클라이언트장치에 대하여, 상기 클라이언트장치에 대해 지정되는 특정 분산 데이터베이스장치에 접근하여 상기 특정 서비스를 이용할 수 있게 하는 접속정보를 상기 클라이언트장치에 제공하며,
    상기 특정 분산 데이터베이스장치의 장애 확인 시, 상기 접속정보 대신 상기 중앙 데이터베이스장치에 접근하여 상기 특정 서비스를 이용할 수 있게 하는 임시 접속정보를 상기 클라이언트장치로 제공하여, 상기 중앙 데이터베이스장치가 상기 특정 서비스의 백업 기능을 수행할 수 있게 하는 GSLB(Global Service Load Balancing) 장치를 더 포함하는 것을 특징으로 하는 분산 데이터베이스 시스템.
  4. 제 1 항에 있어서,
    상기 각 지역의 분산 데이터베이스장치는,
    내부의 분산 데이터 변경 발생 시 상기 변경된 분산 데이터에 대한 변경내역을 상기 중앙 데이터베이스장치로 전달하여, 상기 중앙 데이터베이스장치 내 상기 지역별 분산 데이터에 상기 변경된 분산 데이터가 반영되도록 하는 것을 특징으로 하는 분산 데이터베이스 시스템.
  5. 제 4 항에 있어서,
    상기 분산 데이터의 변경은,
    새로운 분산 데이터가 저장되는 경우, 또는 저장된 분산 데이터가 삭제되는 경우, 또는 저장된 분산 데이터가 수정되는 경우 발생하는 것을 특징으로 하는 분산 데이터베이스 시스템.
  6. 제 1 항에 있어서,
    제1 분산 데이터베이스장치에 저장된 특정 분산 데이터를 제2 분산 데이터베이스장치로 이동하는 이동 이벤트 발생 시,
    상기 제2 분산 데이터베이스장치는, 상기 중앙 데이터베이스장치 내 지역별 분산 데이터 중 상기 제1 분산 데이터베이스장치의 분산 데이터에서 상기 특정 분산 데이터를 복사하여 저장하고,
    상기 제1 분산 데이터베이스장치는, 내부 저장된 상기 특정 분산 데이터를 삭제하는 것을 특징으로 하는 분산 데이터베이스 시스템.
  7. 특정 서비스와 관련하여, 각 지역의 분산 데이터베이스장치에 분산 저장되는 분산 데이터를 모두 포함하는 지역별 분산 데이터를 저장하는 데이터베이스부; 및
    상기 데이터베이스부에 저장된 데이터를 근거로, 클라이언트장치에 상기 특정 서비스를 제공하는 제어부를 포함하며;
    상기 제어부는,
    상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행하는 것을 특징으로 하는 중앙 데이터베이스장치.
  8. 제 7 항에 있어서,
    상기 데이터베이스부 및 상기 각 지역의 분산 데이터베이스장치는,
    상기 특정 서비스와 관련하여 지역과 무관하게 공통되는 특정 데이터를 더 저장하는 것을 특징으로 하는 중앙 데이터베이스장치.
  9. 제 7 항에 있어서,
    상기 제어부는,
    상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치에서 분산 데이터 변경 발생 시,
    상기 분산 데이터 변경에 따른 변경내역에 근거하여, 상기 데이터베이스부 내 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 변경하는 것을 특징으로 하는 중앙 데이터베이스장치.
  10. 특정 서비스와 관련하여, 각 지역의 분산 데이터베이스장치에 각 지역 별로 분산되는 데이터를 저장하는 단계;
    중앙 데이터베이스장치에 상기 각 지역의 분산 데이터베이스장치 모두에 저장된 지역별 분산 데이터를 저장하는 단계;
    상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 중앙 데이터페이스장치가 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행하는 단계를 포함하는 것을 특징으로 하는 분산 데이터베이스 서비스 방법.
  11. 제 10 항에 있어서,
    상기 각 지역의 분산 데이터베이스장치 및 상기 중앙 데이터베이스장치는,
    내부에 저장된 데이터의 스키마(schema)가 동일한 것을 특징으로 하는 분산 데이터베이스 서비스 방법.
  12. 제 10 항에 있어서,
    상기 각 지역의 분산 데이터베이스장치 중 내부의 분산 데이터 변경이 발생한 분산 데이터베이스장치가, 상기 변경된 분산 데이터에 대한 변경내역을 상기 중앙 데이터베이스장치로 전달하는 단계; 및
    상기 중앙 데이터베이스장치가, 상기 변경내역에 따라 상기 지역별 분산 데이터 중 상기 분산 데이터베이스장치의 분산 데이터를 변경하는 단계를 더 포함하는 것을 특징으로 하는 분산 데이터베이스 서비스 방법.
  13. 제 10 항에 있어서,
    상기 각 지역의 분산 데이터베이스장치 중 제1 분산 데이터베이스장치에 저장된 특정 분산 데이터를 제2 분산 데이터베이스장치로 이동하는 이동 이벤트 발생 시, 상기 제2 분산 데이터베이스장치가, 상기 중앙 데이터베이스장치 내 지역별 분산 데이터 중 상기 제1 분산 데이터베이스장치의 분산 데이터에서 상기 특정 분산 데이터를 복사하여 저장하는 단계;
    상기 제1 분산 데이터베이스장치가, 내부 저장된 상기 특정 분산 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 분산 데이터베이스 서비스 방법.
  14. 특정 서비스와 관련하여, 각 지역의 분산 데이터베이스장치에 분산 저장되는 분산 데이터를 모두 포함하는 지역별 분산 데이터를 저장하는 단계; 및
    상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치의 장애 시, 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 근거로 상기 특정 서비스의 백업(Backup) 기능을 수행하는 단계를 포함하는 것을 특징으로 하는 중앙 데이터베이스장치의 동작 방법.
  15. 제 14 항에 있어서,
    상기 중앙 데이터베이스장치 및 상기 각 지역의 분산 데이터베이스장치는,
    상기 특정 서비스와 관련하여 지역과 무관하게 공통되는 특정 데이터를 더 저장하는 것을 특징으로 하는 중앙 데이터베이스장치의 동작 방법.
  16. 제 14 항에 있어서,
    상기 각 지역의 분산 데이터베이스장치 중 특정 분산 데이터베이스장치에서 분산 데이터 변경 발생 시, 상기 분산 데이터 변경에 따른 변경내역에 근거하여 상기 지역별 분산 데이터 중 상기 특정 분산 데이터베이스장치의 분산 데이터를 변경하는 단계를 더 포함하는 특징으로 하는 중앙 데이터베이스장치의 동작 방법.
KR1020180065544A 2018-06-07 2018-06-07 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법 KR102064472B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180065544A KR102064472B1 (ko) 2018-06-07 2018-06-07 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180065544A KR102064472B1 (ko) 2018-06-07 2018-06-07 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190139043A true KR20190139043A (ko) 2019-12-17
KR102064472B1 KR102064472B1 (ko) 2020-02-11

Family

ID=69056602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180065544A KR102064472B1 (ko) 2018-06-07 2018-06-07 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법

Country Status (1)

Country Link
KR (1) KR102064472B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022203203A1 (ko) * 2021-03-23 2022-09-29 주식회사 헤세그 신뢰할 수 있는 노드를 통한 블록체인 액세스 방법, 이를 저장하는 컴퓨터로 판독 가능한 기록매체 및 그 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2837525B2 (ja) * 1990-08-31 1998-12-16 富士通株式会社 導出データベース処理方式
KR20020046410A (ko) * 2000-12-14 2002-06-21 김지한, 김재형 웹 공유 백업 저장장치를 이용한 개인간 직접 통신 분산네트워크 시스템
KR20040029730A (ko) * 2002-10-02 2004-04-08 주식회사 케이티 소프트웨어 분산 공유메모리를 이용한 망관리 시스템 및그 방법
JP2006350411A (ja) * 2005-06-13 2006-12-28 Hitachi Information Systems Ltd 分散データベースリカバリ方法及び同リカバリシステム及び同リカバリプログラム
KR100839445B1 (ko) * 2007-02-15 2008-06-19 건국대학교 산학협력단 메시지 다이제스트를 이용한 모바일 데이터베이스 동기화시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2837525B2 (ja) * 1990-08-31 1998-12-16 富士通株式会社 導出データベース処理方式
KR20020046410A (ko) * 2000-12-14 2002-06-21 김지한, 김재형 웹 공유 백업 저장장치를 이용한 개인간 직접 통신 분산네트워크 시스템
KR20040029730A (ko) * 2002-10-02 2004-04-08 주식회사 케이티 소프트웨어 분산 공유메모리를 이용한 망관리 시스템 및그 방법
JP2006350411A (ja) * 2005-06-13 2006-12-28 Hitachi Information Systems Ltd 分散データベースリカバリ方法及び同リカバリシステム及び同リカバリプログラム
KR100839445B1 (ko) * 2007-02-15 2008-06-19 건국대학교 산학협력단 메시지 다이제스트를 이용한 모바일 데이터베이스 동기화시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022203203A1 (ko) * 2021-03-23 2022-09-29 주식회사 헤세그 신뢰할 수 있는 노드를 통한 블록체인 액세스 방법, 이를 저장하는 컴퓨터로 판독 가능한 기록매체 및 그 시스템
KR20220132266A (ko) * 2021-03-23 2022-09-30 주식회사 헤세그 신뢰할 수 있는 노드를 통한 블록체인 액세스 방법, 이를 저장하는 컴퓨터로 판독 가능한 기록매체 및 그 시스템

Also Published As

Publication number Publication date
KR102064472B1 (ko) 2020-02-11

Similar Documents

Publication Publication Date Title
US11379428B2 (en) Synchronization of client machines with a content management system repository
US11314687B2 (en) Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US10164894B2 (en) Buffered subscriber tables for maintaining a consistent network state
US9881014B1 (en) Snap and replicate for unified datapath architecture
US7065541B2 (en) Database migration
KR102288503B1 (ko) 통합 스토리지 관리 장치 및 방법
US11199989B2 (en) Methods, apparatuses and computer program products for supporting and performing data replication of virtual machine
CN103647849A (zh) 一种业务迁移方法、装置和一种容灾系统
US20140379656A1 (en) System and Method for Maintaining a Cluster Setup
EP3761611B1 (en) Management of multiple clusters of distributed file systems
WO2016045428A1 (zh) 一种创建虚拟机的方法和创建虚拟机的装置
US20210089379A1 (en) Computer system
US10152493B1 (en) Dynamic ephemeral point-in-time snapshots for consistent reads to HDFS clients
CN111147274A (zh) 为集群解决方案创建高度可用的仲裁集的系统和方法
KR102064472B1 (ko) 분산 데이터베이스 시스템 및 분산 데이터베이스 서비스 방법, 중앙 데이터베이스장치 및 중앙 데이터베이스장치의 동작 방법
KR101696911B1 (ko) 분산 데이터 베이스 장치 및 그 장치에서의 스트림 데이터 처리 방법
US10089198B1 (en) Data storage system with active-standby system management
US10880388B1 (en) Automatic redirection in scale-out cluster environments that perform distributed deduplication
CN102123171A (zh) 一种面向海量存储管理的存储虚拟化方法
CA2983925C (en) Management of multiple clusters of distributed file systems
US10148503B1 (en) Mechanism for dynamic delivery of network configuration states to protocol heads
KR101432745B1 (ko) 가상 클라우드 환경에서 클러스터의 분산 파일 시스템 및 데이터 복제 방법
KR20230034005A (ko) 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치
CN110688195A (zh) Hyper-v vm即时恢复和访问及使用数据域boostfs在vm内部运行的应用
KR20130038715A (ko) 룰 데이터 처리 시스템 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant