KR101714412B1 - 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치 - Google Patents

클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치 Download PDF

Info

Publication number
KR101714412B1
KR101714412B1 KR1020160181108A KR20160181108A KR101714412B1 KR 101714412 B1 KR101714412 B1 KR 101714412B1 KR 1020160181108 A KR1020160181108 A KR 1020160181108A KR 20160181108 A KR20160181108 A KR 20160181108A KR 101714412 B1 KR101714412 B1 KR 101714412B1
Authority
KR
South Korea
Prior art keywords
database
information
storage
user
node
Prior art date
Application number
KR1020160181108A
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 KR1020160181108A priority Critical patent/KR101714412B1/ko
Application granted granted Critical
Publication of KR101714412B1 publication Critical patent/KR101714412B1/ko
Priority to US15/853,375 priority patent/US10922290B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/219Managing data history or versioning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation

Abstract

본 발명에 의한 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법은, 수신된 데이터베이스 서비스 요청에 응답하여 클라우드 환경 내의 복수의 스토리지 노드들 중에서 요청에 적합한 스토리지 노드를 선별하는 단계, 선별된 스토리지 노드에 요청된 데이터베이스의 입출력 스트림을 처리하는 인스턴스인 스토리지 서버를 구축하는 단계, 데이터베이스 서비스 요청 정보와 구축된 스토리지 서버 정보를 데이터베이스 관리자가 메타 정보로 관리하는 단계, 및 메타 정보에 기초하여 연산 노드가 요청에 대응한 데이터베이스 시스템을 구성하는 단계를 포함한다.

Description

클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치 {Method and apparatus for organizing database system in cloud environment}
본 발명은 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치에 관한 것이다.
현재 통용되고 있는 데이터베이스 시스템은 입출력 스트림이 분리되어 있지 않아, 단일 호스트에 대해서만 구성되거나 별도의 네트워크 프로토콜을 이용한 여러 호스트들에 대해 미리 지정된 호스트들을 대상으로 구성된다.
클라우드 환경에서 단일 호스트를 기반으로 입출력 스트림을 송수신하는 데이터베이스 시스템을 구축하는 경우, 사용자의 입장에서는 추가 패치가 제공되거나 새로운 버전의 데이터베이스가 업그레이드 되었을 때, 취향에 맞게 선택할 수 있다는 장점이 있다. 그렇지만 데이터베이스의 성능 향상, 예를 들어 입출력 스트림의 대역폭을 향상시키는 등의 시스템 성능 향상을 위해서는 고성능의 하드웨어를 구비하여야 하고, 결과적으로 데이터베이스의 성능 향상을 위해서는 많은 비용이 소요된다는 단점이 있다. 또한, 관리자의 입장에서는 호스트 단위의 이중화가 어렵고 호스트의 하드웨어 성능에만 의존해야 하기 때문에 데이터베이스 시스템의 가용성과 확장성 측면에서 한계가 있다.
그리고 다수의 호스트들에 대해 데이터베이스 서비스의 입출력 스트림을 병렬로 처리함에 있어서, 상이한 네트워크 프로토콜을 사용하는 경우에는, 네트워크 프로토콜의 사용으로 인하여 성능 상의 오버헤드가 야기된다. 또한 네트워크 프로토콜을 사용하는 경우에는 호스트에서 각각의 사용자에 대한 데이터베이스를 구별할 수 없어 입출력 스트림 간의 대역폭을 보장할 수 없고, 회사(테넌트) 혹은 테넌트에 소속된 각 사용자 사이의 QoS(Quality of Service) 달성과 데이터의 격리(isolation)가 어려워져 스토리지 자원의 불균형을 초래할 수 있다.
더욱이 호스트 별로 상이한 네트워크 프로토콜을 사용하는 경우에는 네트워크 프로토콜의 특성에 따라 별도의 설계가 필요하다. 예를 들어, 호스트의 스토리지를 직접 사용하는 iscsI(Internet Small Computer Systems Interface) 프로토콜을 이용하여 입출력 스트림을 처리하는 경우에 각각의 데이터베이스가 중복되지 않도록, 사용할 수 있는 용량을 보장하는 것과, 데이터베이스 별 데이터 접근에 대한 허용 여부를 결정하기 위한 추가 설계가 요구된다. 또한 파일 시스템 단위의 접근에 이용되는 NFSv4 혹은 SMB 프로토콜을 이용할 경우에는 각각의 입출력 스트림에 대한 계정과 접근할 수 있는 파일관리 설계가 요구된다.
일본공개특허 제2015-115059호 (2015. 6. 22. 공개)
본 발명은 클라우드 환경에서 별도의 네트워크 프로토콜을 사용하지 않으면서도 데이터베이스의 입출력 스트림을 구별할 수 있으며, 입출력 스트림을 병렬로 처리하는 데이터베이스 시스템을 구성하는 방법 및 장치를 제공한다.
본 발명은 사용자 별, 테넌트 별로 입출력 스트림의 병렬 처리를 위한 자원 할당을 수행하여 데이터베이스를 구성하는 방법 및 장치를 제공한다.
본 발명은 입출력 스트림을 병렬로 처리하기 때문에 추가의 입출력 스트림 할당을 통해 데이터베이스의 설계 확장을 용이하게 하는 데이터베이스 시스템을 구성하는 방법 및 장치를 제공한다.
본 발명의 일 실시 예에 의한 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법은, 수신된 데이터베이스 서비스 요청에 응답하여 상기 클라우드 환경 내의 복수의 스토리지 노드들 중에서 상기 요청에 적합한 스토리지 노드를 선별하는 단계, 상기 선별된 스토리지 노드에 상기 요청된 데이터베이스의 입출력 스트림을 처리하는 인스턴스인 스토리지 서버를 구축하는 단계, 상기 데이터베이스 서비스 요청 정보와 상기 구축된 스토리지 서버 정보를 데이터베이스 관리자가 메타 정보로 관리하는 단계, 및 상기 메타 정보에 기초하여 연산 노드가 상기 요청에 대응한 데이터베이스 시스템을 구성하는 단계를 포함한다.
일 실시 예에 있어서, 상기 데이터베이스 서비스 요청은, 구축될 데이터베이스에 대한 크기 및 유형 정보와 사용자 정보를 포함할 수 있다.
일 실시 예에 있어서, 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법은, 상기 사용자 정보에 기초하여 상기 데이터베이스 서비스 요청에 적합한 데이터베이스가 구축되어 있는지 판단하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법은, 상기 서비스 요청에 적합한 데이터베이스가 이미 구축되어 있는 경우, 상기 데이터베이스 관리자로부터 메타 정보를 바로 전달받아 데이터베이스 시스템을 제공하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법은, 상기 사용자 정보에 기초하여 테넌트 별, 사용자 별 식별을 수행하고, 상기 스토리지 서버로 하여금 각 사용자에 대한 데이터 또는 대역폭을 할당하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 스토리지 서버를 구축하는 단계는, 상기 선별된 스토리지 노드들에 스토리지 서버 이미지를 띄워 해당 스토리지 서버에 접근하는 다른 객체들과 스토리지 서버 이미지를 공유하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 연산 노드가 데이터베이스 시스템을 구성하는 단계는, 상기 데이터베이스 관리자로부터 메타 정보를 전달받고 상기 선별된 스토리지 서버와 연결하는 단계를 포함할 수 있다.
본 발명은, 본 발명의 일 실시예에 의한 방법을 컴퓨터에서 실행시키기 위하여 기록매체에 저장된 프로그램을 포함한다.
본 발명은, 본 발명의 일 실시예에 의한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
본 발명의 일 실시 예에 의한 클라우드 환경에서 데이터베이스 시스템을 구성하는 컴퓨팅 서버는, 수신된 데이터베이스 서비스 요청에 응답하여 상기 클라우드 환경 내의 복수의 스토리지 노드들 중에서 상기 요청에 적합한 스토리지 노드를 선별하고, 상기 선별된 스토리지 노드에 상기 요청된 데이터베이스의 입출력 스트림을 처리하는 인스턴스인 스토리지 서버를 구축하며, 상기 데이터베이스 서비스 요청 정보와 상기 구축된 스토리지 서버 정보를 데이터베이스 관리자가 메타 정보로 관리하는 마스터 노드, 및 상기 메타 정보에 기초하여 상기 요청에 대응한 데이터베이스 시스템을 구성하는 연산 노드를 포함한다.
일 실시 예에 있어서, 상기 컴퓨팅 서버는 상기 연산 노드와 연결되어 상기 입출력 스트림을 저장하는 상기 스토리지 노드를 더 포함할 수 있다.
일 실시 예에 있어서, 상기 스토리지 노드는 스토리지 서버 이미지를 관리하면서 공유할 수 있다.
일 실시 예에 있어서, 상기 데이터베이스 서비스 요청은, 구축될 데이터베이스에 대한 크기 및 유형 정보와 사용자 정보를 포함할 수 있으며, 상기 사용자 정보는 테넌트 별, 사용자 별 식별 정보를 포함하며, 상기 스토리지 서버는 각 사용자에 대한 데이터 또는 대역폭을 할당할 수 있다.
본 발명에 따른 데이터베이스 시스템을 구성하는 방법 및 장치에 의하면, 클라우드 환경에서 사용자의 데이터베이스 서비스 요청에 대해 데이터베이스 시스템 구성을 탄력적으로 제공하기 때문에 높은 성능과 가용성, 그리고 확장성을 가지는 데이터베이스 시스템을 구성할 수 있다.
본 발명에 의하면, 여러 버전의 데이터베이스와 입출력 스트림 인스턴스가 클라우드 가상 이미지 형태로 구성되어 사용자가 권하는 데이터베이스를 쉽게 구성하고 삭제할 수 있는 데이터베이스 시스템을 구성하는 방법 및 장치를 제공할 수 있다.
본 발명에 의하면, 데이터베이스 시스템이 입출력 스트림과 구분되어 수행되기 때문에 데이터베이스의 동작을 위하여 추가로 설계가 요구되지 않는 데이터베이스 시스템을 구성하는 방법 및 장치를 제공할 수 있다.
본 발명에 의하면, 데이터베이스의 성능 향상이나 저장공간 확장, 또는 추가 입출력 스트림 요청 등과 같은 사용자의 요구에 대응하여 클라우드 환경의 여분의 호스트를 활용하여 유연하게 대처할 수 있는 데이터베이스 시스템을 구성하는 방법 및 장치를 제공할 수 있다.
본 발명에 의하면, 소프트웨어 프로비저닝을 통해 다수의 인스턴스들이 클라우드 가상 이미지를 공유함에 따라, 사용자가 선택하는 데이터베이스 시스템을 구성하는 경우에 동일한 클라우드 가상 이미지가 필요한 경우에는 그 복사 과정을 줄일 수 있어, 빠른 동작을 가능하게 하는 데이터베이스 시스템을 구성하는 방법 및 장치를 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 데이터베이스 시스템을 구성하기 위한 컴퓨팅 서버의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 클라우드 환경에서의 데이터베이스 시스템 구축 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 데이터베이스 시스템 구성을 위한 자원 할당 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 데이터베이스 시스템을 구성함에 있어서 데이터베이스 인스톨 과정을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시 예에 따른 데이터베이스 시스템 구성을 설명하기 위한 흐름도이다.
이하에서 본 발명의 기술적 사상을 명확하게 하기 위하여 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다.
도 1은 본 발명의 일 실시 예에 따른 데이터베이스 시스템을 구성하기 위한 컴퓨팅 서버의 구성을 나타내는 도면이다.
도 1을 참조하면, 컴퓨팅 서버(10)는 클라우드 환경 내에서 다양의 기능을 수행하는 다수의 컴포넌트들(components)로 구성될 수 있다. 컴퓨팅 서버(10)는 사용자가 클라우드 환경을 통해 제공된 사용자 인터페이스(User Interface)를 이용하여 선택한 데이터베이스의 버전과 기능에 대한 정보를 수신한다. 사용자는 네트워크 통신이 가능한 컴퓨팅 장치를 사용하여 원하는 데이터베이스의 버전과 기능을 선택할 수 있으며, 예를 들어 사용자가 입력하는 정보들은 데이터베이스의 중앙처리장치나 메모리와 같이 연산과 관련된 성능과 스토리지의 크기나 종류와 같은 스토리지와 관련된 성능, 그리고 버전 등과 같은 정보들을 포함할 수 있다.
사용자가 선택한 데이터베이스의 버전과 기능에 대한 정보는 마스터 노드(110a) 내의 사용자 관리부(111)에서 관리될 수 있다. 실시 예에 따라, 사용자별, 그리고 테넌트(tenant)별로 데이터베이스와 관련된 성능, 그리고 버전과 같은 정보들이 관리될 수 있다. 예를 들어, 특정한 기업, 즉 테넌트 내에도 다양한 사용자가 있을 수 있는데 하나의 테넌트 내의 사용자들 사이에서도 대역폭과 데이터와 같은 스토리지 자원을 상이하게 분배할 수 있다. 따라서 사용자 관리부(111)는 테넌트 별, 그리고 사용자 별로 데이터베이스와 관련된 성능, 그리고 버전과 관련된 정보와 대역폭 및 데이터 정보도 함께 관리할 수 있다.
사용자로부터의 데이터베이스 서비스 요청을 수신하면, 컴퓨팅 서버(10)는 기존에 사용자가 구축한 입출력 스트림을 이용하여 현재 수신된 데이터베이스 서비스 요청을 만족시킬 수 있는지를 판단한다. 기존의 입출력 스트림 시스템을 이용하여 데이터베이스 서비스 요청의 성능을 만족시킬 수 있는 경우, 사용자가 요청한 데이터베이스 입출력 스트림을 수행하기 위한 데이터베이스 시스템 구축을 위한 수고를 덜 수 있어 보다 빠른 서비스 응답이 가능하다.
만일 기존에 구축한 입출력 스트림 시스템이 사용자가 요청하는 데이터베이스 서비스 요청의 성능을 만족시킬 수 없는 경우, 이러한 성능을 지원하기 위한 새로운 입출력 스트림 시스템을 구축해야 한다.
클라우드 환경에서 동적으로 입출력 스트림 시스템을 구축하기 위해서는 하드웨어와 소프트웨어 두 가지 방면을 고려하여야 한다. 본 발명의 일 실시 예에 따른 컴퓨팅 서버(10)는, 마스터 노드(110a) 내의 자원 할당자(112)가 하드웨어 시스템 구축을 담당하고, 이미지 관리자(114)가 소프트웨어 구축을 담당할 수 있다.
자원 할당자(112)는 요청된 입출력 스트림 시스템 구축을 위해 스토리지 노드를 선별한다. 자원 할당자(112)는 요청된 데이터베이스의 스토리지 형태(type)와 크기(size, space)를 기초로 스토리지 노드를 선별할 수 있다. 스토리지의 형태는 휘발성 메모리, 비휘발성 메모리 등과 같은 다양한 종류의 스토리지를 포함할 수 있으며, 요청된 스토리지 크기에 따라 저장 공간의 여유가 있는 스토리지 노드가 선택될 수 있다. 실시 예에 따라, 자원 할당자(112)는 데이터베이스 입출력 스트림의 병렬 처리와 재해 복구(failover)를 위해 복수 개의 스토리지 노드(121, 122, 123)를 선택하여 스토리지 그룹(120)을 형성할 수 있다. 예를 들어, 적어도 세 개 이상의 스토리지 노드가 선택되어 스토리지 그룹(120)을 구성할 수 있다. 또한, 자원 할당자(112)는 사용자가 원하는 데이터베이스 성능에 따라 스토리지 노드를 선택할 수 있다.
이미지 관리자(114)는 소프트웨어 프로비저닝을 통해 사용자가 원하는 인스턴스를 클라우드 가상 이미지로 만들거나, 이미 저장해 놓은 가상 이미지를 특정 노드로 배포하여 해당 노드에서 인스턴스가 구동될 수 있도록 한다. 사용자의 요청에 따라 입출력 스트림 시스템을 구축하는 경우, 이미지 관리자(114)는 자원 할당자(112)에 의해 선택된 스토리지 노드들(121, 122, 123)에 입출력 스트림을 처리하는 인스턴스들, 즉 스토리지 서버를 구축하고 띄운다.
본 발명의 일 실시 예에 따른 컴퓨팅 서버(10)가 동작하는 클라우드 환경에서는 소프트웨어 프로비저닝 기술을 통해 여러 인스턴스가 공유되어 수행된다. 따라서 향후에 동일한 인스턴스가 발생하는 경우에 가상 이미지를 복사하는 단계를 생략할 수 있어 가상 이미지 복사에 따른 오버헤드를 줄일 수 있다.
데이터베이스 입출력 스트림 시스템의 구축이 완료되면, 해당 입출력 스트림을 이용할 데이터베이스를 띄우는 데이터베이스 인스톨(install) 작업이 수행될 수 있다. 데이터베이스 인스톨 과정에서는, 데이터베이스 인스톨러(113)가 데이터베이스에 대한 정보(DB ID)와 입출력 스트림 인스턴스들에 대한 정보를 데이터베이스 관리자(115)에 전달하고, 데이터베이스 관리자(115)는 데이터베이스와 관련된 메타 정보를 관리하여 향후에 데이터베이스가 수행될 때 연산 노드들(131, 133)로 메타 정보를 제공할 수 있다.
클라우드 환경에서 데이터베이스 관리자(115)가 모든 데이터베이스에 대한 정보를 관리하는 것은 데이터베이스의 성능이나 관리 측면에서의 지원을 위함이다. 예를 들어, 데이터베이스 관리자(115)는 데이터베이스 공간을 확장하는 경우에 기존의 스토리지 노드 중에서 사용하고 있는 모든 데이터베이스의 용량을 판단하여 추가 스토리지 노드를 할당할지 여부를 결정하여야 하므로 전체 데이터베이스의 정보를 관리하여야 한다. 데이터베이스 관리자(115)는 클라우드 환경에서 수행 중인 모든 데이터베이스의 메타 정보를 관리하고 있으며 기존의 스토리지 노드에서 수행 중인 모든 데이터베이스의 용량을 판단하여 추가 스토리지 노드의 할당 여부를 결정할 수 있다.
데이터베이스 관리자(115)에게 데이터베이스 시스템 정보를 전달한 후, 자원 할당자(112)는 사용자가 원하는 성능으로 데이터베이스 시스템을 구축할 수 있는 연산 노드를 선별한다. 이미지 관리자(114)는 사용자가 선택한 데이터베이스 이미지를 선별된 연산 노드에 구축하고 해당 데이터베이스 인스턴스를 띄워 데이터베이스 시스템을 수행한다.
도 1에서는 동일한 테넌트에 포함된 제1 사용자와 제2 사용자에 대하여 상이한 연산 노드(131, 133)가 각각 선별되었으며, 역시 상이한 데이터베이스 인스턴스가 띄워진 것을 알 수 있다. 이렇듯 동일한 테넌트 내에서도 사용자에 따라 상이한 데이터베이스 환경이 구축될 수 있다. 다만, 도 1에 도시된 것은 하나의 실시 예이며 하나의 테넌트에 대하여 하나의 연산 노드가 할당될 수도 있다
스토리지 노드 내부에서도 제1 사용자와 제2 사용자는 상이한 물리 볼륨을 사용하며, 이러한 데이터들은 스토리지 노드의 스토리지 서버에서 관리될 수 있다. 또한 각 사용자들의 입출력 스트림의 대역폭 또한 상이하게 설정될 수 있다.
수행된 데이터베이스 시스템은 데이터베이스 관리자(115)로부터 데이터베이스 시스템 정보(예를 들어, 입출력 스트림의 주소(IP), 가상 볼륨의 메타 데이터 등)를 제공받고 입출력 스트림과 연결되어 사용자에게 최종적으로 제공될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 클라우드 환경에서의 데이터베이스 시스템 구축 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 사용자가 클라우드 사용자 인터페이스를 통해 사용하고자 하는 데이터베이스의 종류와 성능 등(예를 들어, 중앙처리장치, 메모리, 스토리지)를 선택함으로써 데이터베이스 서비스를 요청한다. 컴퓨팅 서버(10)는 사용자의 데이터베이스 서비스 요청 및 사용자 정보를 수신한다(단계 210). 사용자 정보에는 사용자 정보 식별 키가 포함될 수 있으며 상술한 바와 같이 사용자 정보는 사용자 개인의 정보와 함께 사용자가 특정 테넌트에 속해 있을 경우, 해당 테넌트 정보도 포함할 수 있다.
컴퓨팅 서버(10)의 사용자 관리부(111)는 사용자 정보에 기초하여 데이터베이스 정보를 확인한다(단계 220). 구체적으로, 사용자 관리부(111)는 사용자가 이용하고 있는 데이터베이스 목록을 확인하여, 사용 중인 데이터베이스 시스템이 있는지, 그리고 사용하고 있는 데이터베이스 시스템 중에서 현재 서비스 요청을 한 성능을 만족하는 데이터베이스 시스템이 있는지를 판단한다.
이미 구축된 데이터베이스 시스템 중에서 현재 요청을 만족하는 데이터베이스 시스템이 없는 경우(단계 230, 아니오), 자원 할당을 하여(단계 240) 새로운 데이터베이스 시스템을 구성한다.
만일, 이미 구축된 데이터베이스 시스템 중에서 현재 사용자의 데이터베이스 시스템 요청을 만족하는 데이터베이스 시스템이 있는 경우에는 입출력 스트림 시스템 구축을 위한 자원 할당을 요청하지 않고(단계 230, 예), 데이터베이스 인스톨을 바로 수행한다(단계 250). 데이터베이스 인스톨을 수행하고 난 이후에 데이터베이스 관리자(115)로부터 메타 정보를 수신한 연산 노드가 입출력 스트림과 연결됨으로써 데이터베이스 시스템이 구성되어 사용자에게 제공된다(단계 260).
도 3은 본 발명의 일 실시 예에 따른 데이터베이스 시스템 구성을 위한 자원 할당 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 사용자가 요청한 데이터베이스 서비스 요청에 기초하여 해당 요청에 필요한 스토리지 공간과 요청된 스토리지 유형에 해당하는 스토리지 노드를 선별한다(단계 241). 이러한 선택은 자원 할당자(112)에 의하여 수행될 수 있다. 상술한 바와 같이 자원 할당자(112)는 복수의 스토리지 노드를 선별할 수 있다. 또한 자원 할당자(112)는 선별된 스토리지 노드 내의 물리 볼륨을 설정하여 사용자가 요청한 데이터베이스 서비스 요청에 필요한 스토리지 공간을 확보할 수 있다(단계 243). 실시 예에 따라, 자원 할당자(112)는 동일한 테넌트 내의 다른 사용자들에게 상이한 데이터와 대역폭을 할당하여 스토리지 서버로 하여금 관리되도록 할 수 있다.
이미지 관리자(114)는 자원 할당자(112)가 선별한 스토리지 노드들에 스토리지 서버 이미지를 구축할 수 있다. 자원 할당자(112)는 스토리지 노드 내의 노드 에이전트와 통신하여 스토리지 서버 이미지를 구축할 수 있다(단계 245). 스토리지 서버 이미지는 클라우드 환경에서 동일한 이미지를 요청하는 인스턴스와 공유되도록 설정되어 향후 추가로 해당 노드에 다른 사용자의 데이터베이스 입출력 스트림 시스템을 구축하는 경우에 시스템 구축에 소요되는 시간을 단축할 수 있다.
이와 같이 자원 할당을 통하여 스토리지 노드가 선택되면, 사용자가 요청한 데이터베이스 시스템을 구성하기 위하여 데이터베이스가 인스톨된다.
도 4는 본 발명의 일 실시 예에 따른 데이터베이스 시스템을 구성함에 있어서 데이터베이스 인스톨 과정을 설명하기 위한 흐름도이다.
도 4를 참조하면, 구축될 데이터베이스와 구축된 스토리지 서버에 대한 정보가 데이터베이스 관리자(115)에게 전달된다(단계 251). 데이터베이스 관리자(115)는 데이터베이스와 스토리지 서버에 대한 메타 정보를 관리하여 해당 데이터베이스의 관리와 지원을 한다. 데이터베이스 관리자(115)는 클라우드 환경에서 수행되는 모든 데이터베이스의 메타 정보를 관리하며 확장, 재해복구 등으로 데이터베이스의 수행을 지원할 수 있다.
자원 할당자(112)는 사용자가 요청하는 데이터베이스의 성능에 해당하는 연산 노드를 선택하고(단계 253), 이미지 관리자(114)는 선별된 연산 노드에 사용자가 요청한 버전의 데이터베이스 이미지를 띄움으로써 데이터베이스 인스톨이 완료된다(단계 255).
도 5는 본 발명의 일 실시 예에 따른 데이터베이스 시스템 구성을 설명하기 위한 흐름도이다.
도 5를 참조하면, 연산 노드(131, 133)가 데이터베이스 관리자(115)로부터 가상 볼륨에 대한 메타 정보와 스토리지 서버 정보를 획득한다(단계 261). 연산 노드(131, 133)는 획득한 스토리지 서버 정보에 기초하여 각 스토리지 서버와 연결한다(단계 263). 이와 같이 연산 노드가 스토리지 서버와 연결되고 입출력 스트림과 연결함으로써 병렬 입출력 스트림을 가능하게 하는 데이터베이스 시스템을 구성할 수 있다(단계 265).
본 발명의 다양한 실시 예들은 하드웨어, 펌웨어, 소프트웨어 또는 이들 중 적어도 하나의 조합으로 구현될 수 있다. 본 발명의 다양한 실시 예들은 하나 이상의 프로세서에 의해 판독되어 실행될 수 있는 컴퓨터로 판독가능한 기록매체에 저장된 명령어로 구현될 수 있다. 컴퓨터로 판독가능한 기록매체는 정보를 저장하는 물리적 매체로, 휘발성 메모리, 비휘발성 메모리, 광학 저장 매체, 자기 디스크 저장 매체 등을 포함할 수 있다. 또한 본 발명의 다양한 실시 예들은 상술한 방법들을 수행하는 명령어들이 기록된 컴퓨터로 판독가능한 기록매체를 포함할 수 있다.
본 발명의 다양한 실시 예들에 따른 데이터베이스 시스템 구성 방법 및 장치는 데이터베이스와 입출력 스트림을 분리하여 수행하여 여러 데이터베이스들을 다양한 방식으로 관리, 확장할 수 있다. 또한 병렬로 입출력 스트림을 처리할 수 있어 다수의 호스트들에 대한 입출력을 자유로이 수행할 수 있으며 확장성이 높다.
지금까지 본 발명에 대하여 도면에 도시된 바람직한 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 불과하며, 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다. 비록 본 명세서에 특정한 용어들이 사용되었으나 이는 단지 본 발명의 개념을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 본 발명의 각 단계는 반드시 기재된 순서대로 수행되어야 할 필요는 없으며, 병렬적, 선택적 또는 개별적으로 수행될 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 특허청구범위에서 청구하는 본 발명의 본질적인 기술사상에서 벗어나지 않는 범위에서 다양한 변형 형태 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.
10: 컴퓨팅 서버 111: 사용자 관리부
110a, 110b: 마스터 노드 112: 자원 할당자
120: 스토리지 그룹 113: 데이터베이스 인스톨러
121, 122, 123: 스토리지 노드 114: 이미지 관리자
131, 133: 연산 노드 115: 데이터베이스 관리자

Claims (14)

  1. 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법에 있어서,
    수신된 데이터베이스 서비스 요청에 응답하여 상기 클라우드 환경 내의 복수의 스토리지 노드들 중에서 상기 요청에 적합한 스토리지 노드를 선별하는 단계;
    상기 선별된 스토리지 노드에 상기 요청된 데이터베이스의 입출력 스트림을 처리하는 인스턴스인 스토리지 서버를 구축하는 단계;
    상기 데이터베이스 서비스 요청 정보와 상기 구축된 스토리지 서버 정보를 데이터베이스 관리자가 메타 정보로 관리하는 단계; 및
    상기 메타 정보에 기초하여 연산 노드가 상기 요청에 대응한 데이터베이스 시스템을 구성하는 단계를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  2. 제1 항에 있어서,
    상기 데이터베이스 서비스 요청은,
    구축될 데이터베이스에 대한 크기 및 유형 정보와 사용자 정보를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  3. 제2 항에 있어서,
    상기 사용자 정보에 기초하여 상기 데이터베이스 서비스 요청에 적합한 데이터베이스가 구축되어 있는지 판단하는 단계를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  4. 제3 항에 있어서,
    상기 서비스 요청에 적합한 데이터베이스가 이미 구축되어 있는 경우, 상기 데이터베이스 관리자로부터 메타 정보를 바로 전달받아 데이터베이스 시스템을 제공하는 단계를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  5. 제2 항에 있어서,
    상기 사용자 정보에 기초하여 테넌트 별, 사용자 별 식별을 수행하고, 상기 스토리지 서버로 하여금 각 사용자에 대한 데이터 또는 대역폭을 할당하는 단계를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  6. 제2 항에 있어서,
    상기 스토리지 서버를 구축하는 단계는,
    상기 선별된 스토리지 노드들에 스토리지 서버 이미지를 띄워 해당 스토리지 서버에 접근하는 다른 객체들과 스토리지 서버 이미지를 공유하는 단계를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  7. 제2 항에 있어서,
    상기 연산 노드가 데이터베이스 시스템을 구성하는 단계는,
    상기 데이터베이스 관리자로부터 메타 정보를 전달받고 상기 선별된 스토리지 서버와 연결하는 단계를 포함하는, 데이터베이스 시스템을 구성하는 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  9. 제1 항 내지 제7 항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위하여 기록매체에 저장된 프로그램.
  10. 클라우드 환경에서 데이터베이스 시스템을 구성하는 컴퓨팅 서버에 있어서,
    수신된 데이터베이스 서비스 요청에 응답하여 상기 클라우드 환경 내의 복수의 스토리지 노드들 중에서 상기 요청에 적합한 스토리지 노드를 선별하고, 상기 선별된 스토리지 노드에 상기 요청된 데이터베이스의 입출력 스트림을 처리하는 인스턴스인 스토리지 서버를 구축하며, 상기 데이터베이스 서비스 요청 정보와 상기 구축된 스토리지 서버 정보를 데이터베이스 관리자가 메타 정보로 관리하는 마스터 노드; 및
    상기 메타 정보에 기초하여 상기 요청에 대응한 데이터베이스 시스템을 구성하는 연산 노드를 포함하는 컴퓨팅 서버.
  11. 제10 항에 있어서,
    상기 연산 노드와 연결되어 상기 입출력 스트림을 저장하는 상기 스토리지 노드를 더 포함하는 컴퓨팅 서버.
  12. 제11 항에 있어서,
    상기 스토리지 노드는 스토리지 서버 이미지를 관리하면서 공유하는, 컴퓨팅 서버.
  13. 제10 항에 있어서,
    상기 데이터베이스 서비스 요청은,
    구축될 데이터베이스에 대한 크기 및 유형 정보와 사용자 정보를 포함하는, 컴퓨팅 서버.
  14. 제13 항에 있어서,
    상기 사용자 정보는 테넌트 별, 사용자 별 식별 정보를 포함하며, 상기 스토리지 서버는 각 사용자에 대한 데이터 또는 대역폭을 할당하는, 컴퓨팅 서버.
KR1020160181108A 2016-12-28 2016-12-28 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치 KR101714412B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160181108A KR101714412B1 (ko) 2016-12-28 2016-12-28 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
US15/853,375 US10922290B2 (en) 2016-12-28 2017-12-22 Method and apparatus for organizing database system in a cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160181108A KR101714412B1 (ko) 2016-12-28 2016-12-28 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101714412B1 true KR101714412B1 (ko) 2017-03-09

Family

ID=58402206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160181108A KR101714412B1 (ko) 2016-12-28 2016-12-28 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치

Country Status (2)

Country Link
US (1) US10922290B2 (ko)
KR (1) KR101714412B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190016719A (ko) 2017-08-09 2019-02-19 주식회사 티맥스데이터 데이터베이스 관리 서버에서 연산을 효율적으로 수행하는 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램
KR20190025879A (ko) 2019-03-04 2019-03-12 주식회사 티맥스데이터 데이터베이스 관리 서버에서 연산을 효율적으로 수행하는 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램
KR20210067415A (ko) * 2019-11-29 2021-06-08 주식회사 데브스택 클라우드 컴퓨팅 기반의 플랫폼 제공 시스템 및 이를 이용한 플랫폼 제공 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035579B (zh) * 2019-06-03 2024-02-20 杭州海康威视数字技术股份有限公司 图管理、数据存储、数据查询方法、装置及存储介质
US11816073B1 (en) * 2020-05-08 2023-11-14 Amazon Technologies, Inc. Asynchronously forwarding database commands

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140074608A (ko) * 2012-12-10 2014-06-18 포항공과대학교 산학협력단 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템
JP2015115059A (ja) 2013-12-13 2015-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クラウド・コンピューティング環境を動的に変更する方法、情報処理システム、およびコンピュータ・プログラム
KR20150124001A (ko) * 2014-04-25 2015-11-05 (주)나누미넷 클라우드 기반 웹 호스팅 시스템
KR101612297B1 (ko) * 2014-12-15 2016-04-14 한국과학기술정보연구원 클라우드 환경에서의 스토리지 접속 시스템 및 방법
KR20160136489A (ko) * 2015-05-19 2016-11-30 (주)나누미넷 클라우드 서비스를 위한 가상화 기반 자원 관리 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015440B2 (en) 2009-09-11 2015-04-21 Micron Technology, Inc. Autonomous memory subsystem architecture
US9354939B2 (en) * 2010-05-28 2016-05-31 Red Hat, Inc. Generating customized build options for cloud deployment matching usage profile against cloud infrastructure options
US8935397B2 (en) * 2010-07-01 2015-01-13 Red Hat, Inc. Dividing cloud resources
US20120260259A1 (en) 2011-04-06 2012-10-11 Microsoft Corporation Resource consumption with enhanced requirement-capability definitions
US8930542B2 (en) * 2012-01-23 2015-01-06 International Business Machines Corporation Dynamically building a set of compute nodes to host the user's workload
WO2014007813A1 (en) * 2012-07-03 2014-01-09 Hewlett-Packard Development Company, L.P. Managing a multitenant cloud service
GB2507191B (en) * 2012-10-17 2015-03-04 Box Inc Remote key management in a cloud-based environment
US9794135B2 (en) 2013-11-11 2017-10-17 Amazon Technologies, Inc. Managed service for acquisition, storage and consumption of large-scale data streams
KR101644399B1 (ko) 2014-02-28 2016-09-08 주식회사 엠에스피 클라우드 기반 네트워크 컴퓨팅 시스템
CN105812423B (zh) * 2014-12-29 2019-10-29 联想(北京)有限公司 一种云系统配置方法、服务器及装置
US10585659B2 (en) * 2018-03-29 2020-03-10 Microsoft Technology Licensing, Llc Enabling tenant administrators to initiate request driven peak-hour builds to override off-peak patching schedules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140074608A (ko) * 2012-12-10 2014-06-18 포항공과대학교 산학협력단 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템
JP2015115059A (ja) 2013-12-13 2015-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クラウド・コンピューティング環境を動的に変更する方法、情報処理システム、およびコンピュータ・プログラム
KR20150124001A (ko) * 2014-04-25 2015-11-05 (주)나누미넷 클라우드 기반 웹 호스팅 시스템
KR101612297B1 (ko) * 2014-12-15 2016-04-14 한국과학기술정보연구원 클라우드 환경에서의 스토리지 접속 시스템 및 방법
KR20160136489A (ko) * 2015-05-19 2016-11-30 (주)나누미넷 클라우드 서비스를 위한 가상화 기반 자원 관리 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190016719A (ko) 2017-08-09 2019-02-19 주식회사 티맥스데이터 데이터베이스 관리 서버에서 연산을 효율적으로 수행하는 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램
US10885006B2 (en) 2017-08-09 2021-01-05 TmaxData Co., Ltd. Method, apparatus, and computer program stored in computer readable medium for conducting arithmetic operation efficiently in database management server
US11960460B2 (en) 2017-08-09 2024-04-16 Tmaxtibero Co., Ltd. Method, apparatus, and computer program stored in computer readable medium for conducting arithmetic operation efficiently in database management server
KR20190025879A (ko) 2019-03-04 2019-03-12 주식회사 티맥스데이터 데이터베이스 관리 서버에서 연산을 효율적으로 수행하는 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램
KR20210067415A (ko) * 2019-11-29 2021-06-08 주식회사 데브스택 클라우드 컴퓨팅 기반의 플랫폼 제공 시스템 및 이를 이용한 플랫폼 제공 방법
KR102319172B1 (ko) 2019-11-29 2021-10-29 주식회사 데브스택 클라우드 컴퓨팅 기반의 플랫폼 제공 시스템 및 이를 이용한 플랫폼 제공 방법

Also Published As

Publication number Publication date
US10922290B2 (en) 2021-02-16
US20180181600A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
US11700296B2 (en) Client-directed placement of remotely-configured service instances
US11042311B2 (en) Cluster system with calculation and storage converged
KR101714412B1 (ko) 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
US10158579B2 (en) Resource silos at network-accessible services
US10298666B2 (en) Resource management for multiple desktop configurations for supporting virtual desktops of different user classes
US9052962B2 (en) Distributed storage of data in a cloud storage system
US11157457B2 (en) File management in thin provisioning storage environments
US10057187B1 (en) Dynamic resource creation to connect client resources in a distributed system
US9122398B2 (en) Generalized storage allocation for multiple architectures
US10361995B2 (en) Management of clustered and replicated systems in dynamic computing environments
US10616134B1 (en) Prioritizing resource hosts for resource placement
US20150235014A1 (en) Transaction isolation during multi-tenant transaction requests
US11079968B1 (en) Queue management in multi-site storage systems
US9535629B1 (en) Storage provisioning in a data storage environment
US9417997B1 (en) Automated policy based scheduling and placement of storage resources
JP2020028060A (ja) 通信システム及び通信方法
CN111225003B (zh) 一种nfs节点配置方法和装置
US10887375B2 (en) Shared memory device
US10001939B1 (en) Method and apparatus for highly available storage management using storage providers
US10496305B2 (en) Transfer of a unique name to a tape drive
US10157124B1 (en) Method, apparatus, and system for managing data storage with an application programming interface
US11121981B1 (en) Optimistically granting permission to host computing resources
TWI537750B (zh) 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器
US11586626B1 (en) Optimizing cloud query execution
US10223019B1 (en) Policy-driven volume expansion

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 4