[go: up one dir, main page]

KR102899701B1 - Cloud bases open database management platform and program performing cloud based open database managing method - Google Patents

Cloud bases open database management platform and program performing cloud based open database managing method

Info

Publication number
KR102899701B1
KR102899701B1 KR1020250003959A KR20250003959A KR102899701B1 KR 102899701 B1 KR102899701 B1 KR 102899701B1 KR 1020250003959 A KR1020250003959 A KR 1020250003959A KR 20250003959 A KR20250003959 A KR 20250003959A KR 102899701 B1 KR102899701 B1 KR 102899701B1
Authority
KR
South Korea
Prior art keywords
open database
event
unit
computer
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020250003959A
Other languages
Korean (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 한국유투더블유(주)
Application granted granted Critical
Publication of KR102899701B1 publication Critical patent/KR102899701B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/211Schema design and management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

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

Abstract

클라우드 기반 오픈 데이터베이스 관리 플랫폼 및 클라우드 기반 오픈 데이터베이스 관리 방법이 개시된다. 본 발명의 일 실시예에 따르면, 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 실행 엔진에서 유닛세트 및 유닛 중 하나 이상의 생성 요청을 수신하는 단계; DB 공통 관리부의 유닛세트 컨트롤러를 활성화하고, 공유 설정을 생성하는 단계; 상기 DB 공통 관리부의 유닛 컨트롤러를 활성화하는 단계; 상기 유닛 컨트롤러에서 저장공간을 선언하는 단계; 파드(Pod)를 생성하고 클러스터를 배포하는 단계; 및 상기 파드를 포함하는 유닛을 생성하는 단계를 포함하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램이 제공된다. A cloud-based open database management platform and a cloud-based open database management method are disclosed. According to one embodiment of the present invention, a computer program stored in a computer-readable medium is provided for performing the cloud-based open database management method, wherein the computer program causes a computer to perform the following steps, the steps including: receiving a request to create a unit set and one or more units from an execution engine; activating a unit set controller of a DB common management unit and creating a shared setting; activating a unit controller of the DB common management unit; declaring a storage space in the unit controller; creating a pod and deploying a cluster; and creating a unit including the pod.

Description

클라우드 기반 오픈 데이터베이스 관리 플랫폼 및 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하는 프로그램{Cloud bases open database management platform and program performing cloud based open database managing method}Cloud-based open database management platform and program performing cloud-based open database management method

본 발명은 클라우드 기반 오픈 데이터베이스 관리 플랫폼 및 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하는 프로그램에 관한 것이다. The present invention relates to a cloud-based open database management platform and a program for performing a cloud-based open database management method.

최근 애플리케이션은 방대한 데이터베이스와 연계하여 작동하고 있다. Modern applications work in conjunction with massive databases.

도 1은 데이터베이스 운영 방식을 나타낸 도면이다. (a)는 전통 방식, (b)는 일반 쿠버네티스(Kubernetes(K8s)) 활용 방식이 도시되어 있다. Figure 1 is a diagram illustrating the database operation method. (a) shows the traditional method, and (b) shows the general Kubernetes (K8s) utilization method.

도 1의 (a)에 도시된 전통적인 방식(온프레미스 또는 가상머신기반 배포방식)에서는 배포, 확장, 고가용성, 업데이트, 모니터링 등 많은 작업이 수동적이고 인프라와 데이터베이스를 별도 관리해야 해서 운영이 복잡하게 이루어졌다. 또한, 확장성이 낮아지고, 인프라에 종속되며, 인력이 많이 소모되는 단점이 있다. The traditional approach (on-premise or virtual machine-based deployment) depicted in Figure 1 (a) requires manual management of many tasks, including deployment, expansion, high availability, updates, and monitoring, and requires separate management of infrastructure and databases, resulting in complex operations. Furthermore, it suffers from low scalability, infrastructure dependency, and significant human resource requirements.

이에 비해, 도 1의 (b)에 도시된 것과 같이, 쿠버네티스와 같은 클라우드를 활용해 데이터베이스를 배포하면 대부분의 작업이 자동화되고, 확장성, 복구 능력, 자원 효율성이 크게 향상된다. AP를 자동화하고 인프라와 데이터베이스를 통합 관리할 수 있어 운영이 편리해지고, 명령어 기반의 데이터베이스 관리가 이루어지게 된다. In contrast, deploying a database using a cloud platform like Kubernetes, as illustrated in Figure 1 (b), automates most tasks and significantly improves scalability, recoverability, and resource efficiency. Automating APs and integrating infrastructure and database management facilitates operational convenience and enables command-line database management.

하지만, 이러한 클라우드 기반의 서비스의 경우 쿠버네티스와 같은 클라우드에 대한 전문지식을 갖춘 전문인력이 필요하며, 데이터베이스의 유지보수에 어려움이 있게 된다. 또한, 수많은 자원을 관리하기 위해 업무량 및 업무소요시간이 증가하고 이로 인한 휴먼 에러 가능성이 증가하게 되는 문제점이 있다. However, these cloud-based services require specialized personnel with expertise in cloud technologies like Kubernetes, and database maintenance can be challenging. Furthermore, managing numerous resources increases workload and time, increasing the likelihood of human error.

이 발명의 배경이 되는 기술 부분에 기재된 사항은 발명의 배경 이해를 위한 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이라고 단정될 수는 없다.The matters described in the technical background of this invention are for understanding the background of the invention, and cannot be determined to be prior art already known to a person with ordinary skill in the field to which this technology belongs.

한국등록특허 제10-2209044호 (2021.01.22. 등록) - 클라우드 네이티브 데이터베이스 구조를 갖는 클라우드 시스템Korean Patent No. 10-2209044 (registered on January 22, 2021) - Cloud system with cloud-native database structure

본 발명은 전문적인 지식 없이 간단한 교육만으로 운영이 가능하며, 통합 UI 인터페이스를 통해 장애 발생 시에도 서버 다운 없이 서비스를 중단하지 않고 연속성을 유지하며 쉽고 빠르게 문제를 해결할 수 있는 클라우드 기반 오픈 데이터베이스 관리 플랫폼 및 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하는 프로그램을 제공하기 위한 것이다.The present invention provides a cloud-based open database management platform and a program for performing a cloud-based open database management method that can be operated with simple training without specialized knowledge, and that can easily and quickly resolve problems while maintaining continuity without server downtime and service interruption even in the event of a failure through an integrated UI interface.

본 발명은 오픈 데이터베이스를 지원하고 관리하는 플랫폼을 통해 다양한 오픈 데이터베이스 및 미들웨어 작업 요구를 충족시키고, 마이크로 서비스 아키텍처를 적용하여 빠르게 확장 가능하고, 여러 데이터베이스 클러스터 아키텍처를 지원하며, 공통 워크로드를 통해 워크로드 관리 패턴을 충족시킬 수 있는 클라우드 기반 오픈 데이터베이스 관리 플랫폼 및 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하는 프로그램을 제공하기 위한 것이다. The present invention provides a cloud-based open database management platform and a program for performing a cloud-based open database management method that can meet various open database and middleware task requirements through a platform that supports and manages an open database, can rapidly expand by applying a microservice architecture, can support multiple database cluster architectures, and can meet workload management patterns through common workloads.

본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Other purposes of the present invention will be readily understood through the following description.

본 발명의 일 측면에 따르면, 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 실행 엔진에서 유닛세트 및 유닛 중 하나 이상의 생성 요청을 수신하는 단계; DB 공통 관리부의 유닛세트 컨트롤러를 활성화하고, 공유 설정을 생성하는 단계; 상기 DB 공통 관리부의 유닛 컨트롤러를 활성화하는 단계; 상기 유닛 컨트롤러에서 저장공간을 선언하는 단계; 파드(Pod)를 생성하고 클러스터를 배포하는 단계; 및 상기 파드를 포함하는 유닛을 생성하는 단계를 포함하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램이 제공된다. According to one aspect of the present invention, there is provided a computer program stored in a computer-readable medium for performing a cloud-based open database management method, the computer program causing a computer to perform the following steps, the steps including: receiving a request to create at least one of a unit set and a unit from an execution engine; activating a unit set controller of a DB common management unit and creating a shared setting; activating a unit controller of the DB common management unit; declaring a storage space in the unit controller; creating a pod and deploying a cluster; and creating a unit including the pod.

상기 공유 설정 생성 단계, 상기 저장공간 선언 단계, 상기 파드 생성 및 클러?읖? 배포 단계, 상기 유닛 생성 단계는 쿠버네티스 API 서버에 명령하여 오픈 데이터베이스에서 처리되게 할 수 있다.The above shared setting creation step, the storage space declaration step, the pod creation and cluster deployment step, and the unit creation step can be processed in an open database by commanding the Kubernetes API server.

상기 실행 엔진에서 유닛세트 및 유닛 중 하나 이상의 업데이트 요청을 수신하는 단계; 상기 유닛세트 컨트롤러를 활성화하는 단계; 상기 유닛세트 컨트롤러에서 공유 설정, 유닛 개수, 유닛 템플릿 및 서비스 설정을 업데이트하는 단계; 상기 유닛 컨트롤러를 활성화하는 단계; 및 상기 유닛 컨트롤러에서 저장공간 및 서비스 설정을 업데이트하는 단계를 더 포함할 수 있다.The method may further include: receiving an update request for one or more of a unit set and units from the execution engine; activating the unit set controller; updating shared settings, the number of units, unit templates, and service settings in the unit set controller; activating the unit controller; and updating storage space and service settings in the unit controller.

상기 유닛세트 컨트롤러에서의 업데이트 단계, 상기 유닛 컨트롤러에서의 업데이트 단계는 쿠버네티스 API 서버에 명령하여 오픈 데이터베이스에서 처리되게 할 수 있다.The update step in the above unit set controller, the update step in the above unit controller can be processed in the open database by commanding the Kubernetes API server.

상기 실행 엔진에서 서비스 생성 요청을 수신하는 단계; 상기 유닛세트 컨트롤러를 활성화하는 단계; 상기 유닛세트 컨트롤러에서 서비스 설정을 업데이트하는 단계; 상기 유닛 컨트롤러를 활성화하는 단계; 및 상기 유닛 컨트롤러에서 서비스 설정을 업데이트하는 단계를 더 포함할 수 있다.The method may further include: receiving a service creation request from the execution engine; activating the unit set controller; updating service settings in the unit set controller; activating the unit controller; and updating service settings in the unit controller.

상기 유닛세트 컨트롤러에서의 업데이트 단계, 상기 유닛 컨트롤러에서의 업데이트 단계는 쿠버네티스 API 서버에 명령하여 오픈 데이터베이스에서 처리되게 할 수 있다.The update step in the above unit set controller, the update step in the above unit controller can be processed in the open database by commanding the Kubernetes API server.

상기 실행 엔진에서 유닛세트 및 유닛 중 하나 이상의 삭제 요청을 수신하는 단계; 상기 유닛세트 컨트롤러를 활성화하는 단계; 상기 유닛세트 컨트롤러에서 서비스 설정을 삭제하는 단계; 상기 유닛 컨트롤러를 활성화하는 단계; 상기 유닛 컨트롤러에서 서비스 설정을 삭제하고, 상기 저장공간을 해제하며, 상기 파드를 삭제하고, 상기 유닛을 삭제하는 단계를 더 포함할 수 있다.The method may further include receiving a request to delete one or more of a unit set and a unit from the execution engine; activating the unit set controller; deleting a service setting from the unit set controller; activating the unit controller; deleting the service setting from the unit controller, releasing the storage space, deleting the pod, and deleting the unit.

상기 유닛세트 컨트롤러에서의 삭제 단계, 상기 유닛 컨트롤러에서의 삭제 단계는 쿠버네티스 API 서버에 명령하여 오픈 데이터베이스에서 처리되게 할 수 있다.The deletion step in the above unit set controller and the deletion step in the above unit controller can be processed in an open database by commanding the Kubernetes API server.

한편 본 발명의 다른 측면에 따르면, 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 실행 엔진에서 오픈 데이터베이스 관련 이벤트를 수신하는 단계; DB 특정 관리부에서 상기 오픈 데이터베이스에 관련된 컨트롤러를 활성화하는 단계; 상기 컨트롤러에서 상기 오픈 데이터베이스에 관한 리소스 정보를 요청하는 단계; 상기 리소스 정보에 기초하여 상기 오픈 데이터베이스에 관한 관리자를 생성하는 단계; 상기 관리자에서 상기 이벤트에 상응하는 동작을 수행하는 단계를 포함하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램이 제공된다. Meanwhile, according to another aspect of the present invention, a computer program stored in a computer-readable medium is provided for performing a cloud-based open database management method, wherein the computer program causes a computer to perform the following steps, the steps including: receiving an open database related event from an execution engine; activating a controller related to the open database in a DB-specific management unit; requesting resource information related to the open database from the controller; creating a manager related to the open database based on the resource information; and performing an operation corresponding to the event in the manager.

상기 오픈 데이터베이스 관련 이벤트는 MySQLReplication 이벤트이고, 상기 관리자는 MySQL 관리자이며, 상기 이벤트에 상응하는 동작은 MySQL 마스터-슬레이브 업데이트일 수 있다.The above open database related event may be a MySQLReplication event, the administrator may be a MySQL administrator, and the action corresponding to the event may be a MySQL master-slave update.

또는 상기 오픈 데이터베이스 관련 이벤트는 ProxySQLSync 이벤트이고, 상기 관리자는 ProxySQL 관리자 및 MySQL 관리자이며, 상기 이벤트에 상응하는 동작은 ProxySQL과 MySQL의 동기화일 수 있다.Alternatively, the above open database related event may be a ProxySQLSync event, the administrator may be a ProxySQL administrator and a MySQL administrator, and the action corresponding to the event may be synchronization of ProxySQL and MySQL.

또는 상기 오픈 데이터베이스 관련 이벤트는 RedisReplication 이벤트이고, 상기 관리자는 Redis 관리자이며, 상기 이벤트에 상응하는 동작은 Redis 마스터-슬레이브 업데이트일 수 있다.Alternatively, the above open database related event may be a RedisReplication event, the manager may be a Redis manager, and the action corresponding to the event may be a Redis master-slave update.

또는 상기 오픈 데이터베이스 관련 이벤트는 Redis Cluster 이벤트이고, 상기 관리자는 Redis 관리자이며, 상기 이벤트에 상응하는 동작은 Redis 클러스터 내 Redis 동기화일 수 있다. Alternatively, the above open database related event may be a Redis Cluster event, the administrator may be a Redis administrator, and the action corresponding to the event may be Redis synchronization within the Redis cluster.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims and detailed description of the invention.

본 발명의 실시예에 따르면, 전문적인 지식 없이 간단한 교육만으로 운영이 가능하며, 통합 UI 인터페이스를 통해 장애 발생 시에도 서버 다운 없이 서비스를 중단하지 않고 연속성을 유지하며 쉽고 빠르게 문제를 해결할 수 있는 효과가 있다.According to an embodiment of the present invention, operation is possible with simple training without specialized knowledge, and through an integrated UI interface, continuity is maintained without server downtime and service interruption even in the event of a failure, and problems can be easily and quickly resolved.

또한, 오픈 데이터베이스를 지원하고 관리하는 플랫폼을 통해 다양한 오픈 데이터베이스 및 미들웨어 작업 요구를 충족시키고, 마이크로 서비스 아키텍처를 적용하여 빠르게 확장 가능하고, 여러 데이터베이스 클러스터 아키텍처를 지원하며, 공통 워크로드를 통해 워크로드 관리 패턴을 충족시킬 수 있는 효과도 있다. Additionally, it can meet the needs of various open database and middleware operations through a platform that supports and manages open databases, can rapidly scale by applying a microservice architecture, support multiple database cluster architectures, and can meet workload management patterns through common workloads.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The effects that can be obtained from the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by a person having ordinary skill in the art to which the present invention belongs from the description below.

도 1은 데이터베이스 운영 방식을 나타낸 도면,
도 2는 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템의 구성도,
도 3은 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템에 포함되는 관리 플랫폼의 구성도,
도 4는 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템에 포함되는 실행 엔진의 구성도,
도 5 및 도 6은 본 발명의 일 실시예에 따른 시스템의 실행 엔진, 특히 DB 공통 관리부에서 수행되는 오픈 데이터베이스 관리 방법의 순서도,
도 7 및 도 8은 본 발명의 일 실시예에 따른 시스템의 실행 엔진, 특히 DB 특정 관리부에서 수행되는 오픈 데이터베이스 관리 방법의 순서도,
도 9는 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템의 기능 구성도,
도 10은 본 발명의 일 실시예에 따른 시스템에서의 DB 운영 지원 방식을 나타낸 도면,
도 11은 본 발명의 일 실시예에 따른 시스템에서 제공하는 기능을 나타낸 도면,
도 12은 본 발명의 일 실시예에 따른 시스템의 구성을 도시한 도면.
Figure 1 is a diagram showing the database operation method.
Figure 2 is a configuration diagram of a cloud-based open database management system according to one embodiment of the present invention;
FIG. 3 is a configuration diagram of a management platform included in a cloud-based open database management system according to one embodiment of the present invention;
FIG. 4 is a configuration diagram of an execution engine included in a cloud-based open database management system according to one embodiment of the present invention;
Figures 5 and 6 are flowcharts of an open database management method performed in an execution engine of a system according to one embodiment of the present invention, particularly in a DB common management unit.
FIG. 7 and FIG. 8 are flowcharts of an open database management method performed by an execution engine of a system according to one embodiment of the present invention, particularly a DB specific management unit.
Figure 9 is a functional configuration diagram of a cloud-based open database management system according to one embodiment of the present invention;
FIG. 10 is a drawing showing a DB operation support method in a system according to one embodiment of the present invention;
FIG. 11 is a diagram showing functions provided by a system according to one embodiment of the present invention;
Figure 12 is a diagram illustrating the configuration of a system according to one embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention is susceptible to various modifications and embodiments. Specific embodiments are illustrated and described in detail in the drawings. However, this is not intended to limit the present invention to specific embodiments, but rather to encompass all modifications, equivalents, and alternatives falling within the spirit and technical scope of the present invention.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components intervening. Conversely, when a component is referred to as being "directly connected" or "connected" to another component, it should be understood that there are no other components intervening.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first, second, etc. may be used to describe various components, but these components should not be limited by these terms. These terms are used solely to distinguish one component from another.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is merely used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, it should be understood that the terms "comprises" or "has" indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.In addition, it is to be understood that the components of the embodiments described with reference to each drawing are not limited to the specific embodiments, but may be implemented to be included in other embodiments within the scope in which the technical idea of the present invention is maintained, and that multiple embodiments may be re-implemented as a single integrated embodiment even if a separate description is omitted.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. In addition, when describing with reference to the attached drawings, identical components will be assigned identical or related reference numerals regardless of the drawing reference numbers, and redundant descriptions thereof will be omitted. When describing the present invention, if a detailed description of a related known technology is judged to unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

또한, 명세서에 기재된 "…부", "…유닛", "…모듈", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. Additionally, terms such as “part,” “unit,” “module,” and “device” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software.

본 명세서에서 사용되는 용어들은 다음과 같다. The terms used in this specification are as follows.

컨테이너(Container)는 애플리케이션과 그 의존성을 하나의 독립된 환경으로 격리하여 실행하는 단위이다. A container is a unit that runs an application and its dependencies in an isolated environment.

사이드카 컨테이너(Sidecar Container)는 주 컨테이너의 기능을 보조하거나 확장하는 역할을 수행하는 컨테이너이다. A sidecar container is a container that assists or extends the functionality of the main container.

파드(Pod)는 쿠버네티스에서 컨테이너가 실행되는 최소 배포 단위이다. A pod is the smallest deployment unit in Kubernetes where containers run.

쿠버네티스 API 서버(Kubernetes API Server)는 쿠버네티스 클러스터와 모든 구성 요소들이 통신하는 중앙 API 엔드포인트로, 클러스터의 상태를 조회하거나 제어하는 요청을 처리한다. The Kubernetes API Server is the central API endpoint through which the Kubernetes cluster and all its components communicate, handling requests to query or control the cluster's state.

컨트롤러(Controller)는 쿠버네티스 API 서버와 통신하며 클러스터의 상태를 원하는 목표 상태로 유지하기 위해 리소스를 관리하는 구성요소이다. The Controller is a component that communicates with the Kubernetes API server and manages resources to maintain the cluster's state at the desired target state.

CRD(Custom Resource Definition)는 사용자가 새로운 리소스를 정의하여 쿠버네티스 API 서버와 통신하고 컨트롤러에 의해 관리될 수 있도록 하는 기능이다. CRD (Custom Resource Definition) is a feature that allows users to define new resources to communicate with the Kubernetes API server and be managed by the controller.

서비스(Service)는 네트워크 서비스를 외부 또는 내부로 노출시켜 Pod 간 통신을 가능하게 하는 쿠버네티스 리소스이다. A Service is a Kubernetes resource that exposes network services externally or internally, enabling communication between Pods.

Replication은 복제, 다중화를 의미한다. Replication means duplication and multiplexing.

프록시SQL(ProxySQL)은 MySQL과 호환되는 데이터베이스를 위한 고성능의 중간 계층 소프트웨어로, 클라이언트와 데이터베이스 서버 사이에 위치하여 연결을 관리하고 부하 분산, 캐싱, 쿼리 라우팅 등의 기능을 제공하여 데이터베이스의 성능과 가용성을 향상시킨다.ProxySQL is a high-performance middle-tier software for MySQL-compatible databases. It sits between the client and the database server, managing connections and providing features such as load balancing, caching, and query routing to improve database performance and availability.

도 2는 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템의 구성도이다. FIG. 2 is a configuration diagram of a cloud-based open database management system according to one embodiment of the present invention.

본 발명의 일 실시예예 따른 클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 클라우드 환경 하에서 오픈 데이터베이스를 지원하고 관리하는 것을 특징으로 한다. A cloud-based open database management system (100) according to one embodiment of the present invention is characterized by supporting and managing an open database under a cloud environment.

본 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 예컨대 쿠버네티스(Kubernetes)(혹은 오픈쉬프트(Openshift), 탄주(Tanzu))와 같은 클라우드 환경 하에서 오픈 데이터베이스 관리를 지원하는 클라우드 네이티브 플랫폼일 수 있다. 이하에서는 발명의 이해와 설명의 편의를 위해 쿠버네티스를 중심으로 설명하기로 한다. The cloud-based open database management system (100) according to the present embodiment may be a cloud-native platform that supports open database management in a cloud environment, such as Kubernetes (or Openshift, Tanzu). For ease of understanding and explanation of the invention, the following description will focus on Kubernetes.

클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 쿠버네티스 클러스터에 쉽게 설치할 수 있으며, 다양한 유형의 오픈 데이터베이스를 관리할 수 있다. The cloud-based open database management system (100) can be easily installed on a Kubernetes cluster and can manage various types of open databases.

관리 가능한 오픈 데이터베이스에는 RDBMS(MySQL), 캐시(Redis), 비관계형 데이터베이스(ElasticSearch), MQ(Kafka), PostgreSQL, Zookeeper 등과 같이 다양한 유형의 오픈소스 데이터베이스가 포함될 수 있다. 여기서, MQ(Message Queue)는 데이터나 메시지를 생성한 애플리케이션(프로듀서, 생산자)과 이를 소비하는 애플리케이션(컨슈머, 소비자) 간에 비동기적으로 데이터를 전달하는 시스템이다. 생산된 메시지를 큐에 저장하고, 필요할 때마다 순서대로 또는 설정된 정책에 따라 소비자가 가져갈 수 있도록 한다. Manageable open databases can include various types of open source databases, such as RDBMS (MySQL), cache (Redis), non-relational databases (ElasticSearch), MQ (Kafka), PostgreSQL, and Zookeeper. Here, a Message Queue (MQ) is a system that asynchronously transfers data between applications that produce data or messages (producers) and applications that consume them (consumers). Produced messages are stored in a queue, and consumers can retrieve them in order or according to established policies when needed.

클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 쿠버네티스에서의 데이터베이스를 지원하고 관리하는 컨트롤 플레인 플랫폼이다. 컨트롤 플레인은 분산 시스템에서 시스템 전체를 관리하고 제어하는 역할을 담당하는 컴포넌트들의 집합을 의미한다. 쿠버네티스와 같은 시스템에서의 컨트롤 플레인은 클러스터의 상태를 유지하고, 워크로드의 배포 및 스케일링을 제어하며, 클러스터의 전체적인 관리를 수행한다. The cloud-based open database management system (100) is a control plane platform that supports and manages databases in Kubernetes. The control plane refers to a set of components responsible for managing and controlling the entire distributed system. In systems like Kubernetes, the control plane maintains the cluster's state, controls workload distribution and scaling, and performs overall cluster management.

도 2를 참조하면, 클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 관리 플랫폼(110)과 실행 엔진(120)을 포함할 수 있다. Referring to FIG. 2, a cloud-based open database management system (100) may include a management platform (110) and an execution engine (120).

관리 플랫폼(110)은 API 인터페이스 및 워크플로우 관리 실행을 제공하는 플랫폼이다. 커스텀 리소스(CR, Custom Resource)에서 워크플로우를 관리하고 쿠버네티스 API 리소스 개체를 사용할 수 있게 한다. 또한, 마이크로 서비스 아키텍처를 적용하여 다른 유형의 오픈 데이터베이스 서비스 추가도 빠르게 확장할 수 있다. The management platform (110) provides an API interface and workflow management execution. It manages workflows in custom resources (CRs) and enables the use of Kubernetes API resource objects. Furthermore, by applying a microservices architecture, it can rapidly expand to include other types of open database services.

실행 엔진(120)은 독립적인 모듈로 구성되며, 데이터 상태 유지 및 운영 자동화가 가능하게 할 수 있다. 실행 엔진(120)은 쿠버네티스 기반 오퍼레이터 프레임워크를 사용하여 설계될 수 있다. The execution engine (120) is composed of independent modules and can enable data state maintenance and operational automation. The execution engine (120) can be designed using a Kubernetes-based operator framework.

클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 쿠버네티스 다중 클러스터 오케스트레이션의 요구사항을 충족하는 확장 가능한 플랫폼이다. The cloud-based open database management system (100) is a scalable platform that meets the requirements of Kubernetes multi-cluster orchestration.

도 3은 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템에 포함되는 관리 플랫폼의 구성도이다. FIG. 3 is a configuration diagram of a management platform included in a cloud-based open database management system according to one embodiment of the present invention.

관리 플랫폼(110)은 웹 서버(114), 통합 인터페이스 제공부(111), API 서버(113), 확장 모듈(113)을 포함할 수 있다. The management platform (110) may include a web server (114), an integrated interface provider (111), an API server (113), and an expansion module (113).

웹 서버(Nginx)(114)는 사용자(관리자)단에 연결되는 구성으로, 정적 파일 제공, 로드 밸런싱, 프록시 기능 등을 통해 대규모 트래픽 처리와 빠른 웹사이트 운영을 지원한다. The web server (Nginx) (114) is configured to be connected to the user (administrator) side, and supports large-scale traffic processing and fast website operation through static file serving, load balancing, and proxy functions.

통합 인터페이스 제공부(111)는 사용자(관리자)를 위한 통합 UI를 제공한다. The integrated interface provision unit (111) provides an integrated UI for users (administrators).

API 서버(113)는 실행 엔진(120)과 통신하기 위한 서비스를 제공한다. API 서버(113)는 마이크로 스프링클라우드(SpringCloud) 서비스 프레임워크 설계 및 개발을 기반으로 하는 플랫폼 관리 코어이다. Restful API를 사용하여 관리 기능을 제공할 수 있다. MySQL 데이터베이스 데이터 스토리지 관리 기능, Redis 캐시 가속 데이터 쿼리 기능 등을 사용할 수 있다. The API server (113) provides services for communicating with the execution engine (120). The API server (113) is a platform management core based on the design and development of the SpringCloud microservice framework. Management functions can be provided using a Restful API. MySQL database data storage management functions, Redis cache-accelerated data query functions, and other features can be utilized.

확장 모듈(113)은 데이터베이스 연결, 사용자 및 라이브러리 관리에 사용된다. 확장 모듈(113)은 데이터베이스 서비스 및 미들웨어 서비스에 대한 확장 가능한 기능을 제공하는 플랫폼 확장 구성요소이다. 예를 들어, MySQL 사용자 관리, MySQL 데이터베이스 관리를 지원할 수 있다. The extension module (113) is used for database connection, user, and library management. The extension module (113) is a platform extension component that provides extensible functionality for database services and middleware services. For example, it can support MySQL user management and MySQL database management.

다시 도 2를 참조하면, 실행 엔진(120)은 DB 공통 관리부(121)와 DB 특정 관리부(122)를 포함할 수 있다. Referring again to FIG. 2, the execution engine (120) may include a DB common management unit (121) and a DB specific management unit (122).

DB 공통 관리부(121)는 사용자 지정 리소스(CRD)인 유닛세트(UnitSet) 및 유닛(Unit)을 생성하고 관리한다. 다양한 데이터베이스와 미들웨어 서비스를 관리하기 위한 공통 기능을 제공한다. 이를 통해 배포 환경을 생성하여 시스템의 인프라를 제공한다. The DB Common Management Unit (121) creates and manages UnitSets and Units, which are user-defined resources (CRDs). It provides common functions for managing various databases and middleware services. This creates a deployment environment and provides the system's infrastructure.

DB 공통 관리부(121)는 노드(Node), 네임스페이스(Namespace), 파드(POD)의 다양한 리소스(CPU, 메모리, 네트워크 등)를 관리하고 모니터링할 수 있다. The DB common management unit (121) can manage and monitor various resources (CPU, memory, network, etc.) of nodes, namespaces, and PODs.

DB 특정 관리부(122)는 데이터베이스 클러스터 관리에 중점을 두고 있으며, 서로 다른 서비스 구성요소 간의 관계를 관리하고 조정한다. The DB specific management unit (122) focuses on database cluster management and manages and coordinates relationships between different service components.

DB 특정 관리부(122)는 데이터베이스를 관리하고 배포하며, 복제를 지원할 수 있다. 그리고 데이터베이스 사용자 및 복제 정보를 자동으로 동기화할 수 있다. 즉, 클러스터 관계를 구성하고, 데이터베이스의 복제(예컨대, MySQL Primary/Replica 복제), 클러스터 아키텍처(예컨대, Redis) 등을 설정하여 서로 다른 서비스 간의 상호 작용을 조정할 수 있다.The DB-specific management unit (122) manages and distributes the database, supports replication, and can automatically synchronize database user and replication information. In other words, it can configure cluster relationships, set up database replication (e.g., MySQL Primary/Replica replication), cluster architecture (e.g., Redis), and coordinate interactions between different services.

도 4는 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템에 포함되는 실행 엔진의 구성도이다. FIG. 4 is a configuration diagram of an execution engine included in a cloud-based open database management system according to one embodiment of the present invention.

실행 엔진(120)은 쿠버네티스 API 서버(123), DB 공통 관리부(121), DB 특정 관리부(122) 및 하나 이상의 파드(210)를 포함할 수 있다. The execution engine (120) may include a Kubernetes API server (123), a DB common management unit (121), a DB specific management unit (122), and one or more pods (210).

DB 공통 관리부(121)는 데이터베이스 서비스의 유형에 관계없이 공통적인 부분을 관리한다. The DB common management unit (121) manages common parts regardless of the type of database service.

DB 공통 관리부(121)에서는 2가지 CRD에 해당하는 유닛세트(Unitset)와 유닛(Unit)을 관리하기 위한 각각의 컨트롤러(1211, 1212)를 포함할 수 있다. The DB common management unit (121) may include a unit set (Unitset) corresponding to two CRDs and each controller (1211, 1212) for managing the units (Unit).

데이터베이스가 탑재된 컨테이너(211)와, 데이터베이스 서비스가 실행되는 컨테이너(211) 옆에서 관리해주는 사이드카 컨테이너(212)를 포함하는 파드(210)는 유닛(Unit) 중 하나일 수 있다. A pod (210) including a container (211) in which a database is loaded and a sidecar container (212) that manages the container (211) in which a database service is executed may be one of the units.

유닛세트(Unitset)는 동일한 서비스가 실행되고 있는 유닛들을 클러스터, 복제 등 DB 기능을 위해 묶은 단위이다. A unitset is a unit that groups units running the same service for DB functions such as clusters and replication.

DB 공통 관리부(121)에 포함되는 유닛 컨트롤러(1212)와 유닛세트 컨트롤러(1211)는 유닛과 유닛세트가 사용자의 요구에 부합하는지를 지속적으로 체크하면서 사용자의 요구에 맞게 업데이트하도록 쿠버네티스 API 서버(123)에 요청을 보낼 수 있다. The unit controller (1212) and unit set controller (1211) included in the DB common management unit (121) can continuously check whether the unit and unit set meet the user's needs and send a request to the Kubernetes API server (123) to update them according to the user's needs.

사이드카 컨테이너(212)는 데이터베이스가 들어있는 컨테이너(211)와 통신한다. 그리고 컨트롤러(1211, 1212)의 요청을 최종적으로 실행할 수 있다. The sidecar container (212) communicates with the container (211) containing the database and can ultimately execute requests from the controller (1211, 1212).

DB 특정 관리부(122)는 특정 데이터베이스 서비스 유형을 관리하기 위한 요소들을 정의하고 관리한다. The DB specific management unit (122) defines and manages elements for managing a specific database service type.

DB 특정 관리부(122)는 4개의 CRD에 해당하는 MySQLReplication, ProxysqlSync, RedisReplication, RedisCluster를 관리하기 위한 각각의 컨트롤러(1221~1224)를 포함할 수 있다. The DB specific management unit (122) may include each controller (1221 to 1224) for managing MySQLReplication, ProxysqlSync, RedisReplication, and RedisCluster corresponding to four CRDs.

MySQLReplication은 같은 유닛세트 내의 유닛(mysql 컨테이너)들 사이의 마스터-슬레이브 구조를 유지하도록 데이터와 설정을 지속적으로 동기화하는 CRD이다. MySQLReplication is a CRD that continuously synchronizes data and settings to maintain a master-slave structure between units (mysql containers) within the same unit set.

ProxysqlSync는 Proxysql과 여기에 연결된 mysql 사이의 설정을 동기화하는 CRD이다. ProxysqlSync is a CRD that synchronizes settings between Proxysql and the mysql connected to it.

RedisReplication은 같은 유닛세트 내의 유닛(redis 컨테이너)들 사이의 마스터-슬레이브 구조를 유지하도록 데이터와 설정을 지속적으로 동기화하는 CRD이다. RedisReplication is a CRD that continuously synchronizes data and settings to maintain a master-slave structure between units (redis containers) within the same unit set.

RedisCluster는 같은 유닛세트 내의 유닛(redis 컨테이너)들의 데이터 분산 저장 설정을 동기화하여 클러스터를 구성하는 CRD이다. RedisCluster is a CRD that configures a cluster by synchronizing the data distribution storage settings of units (redis containers) within the same unit set.

도 5 및 도 6은 본 발명의 일 실시예에 따른 시스템의 실행 엔진, 특히 DB 공통 관리부에서 수행되는 오픈 데이터베이스 관리 방법의 순서도이다. FIG. 5 and FIG. 6 are flowcharts of an open database management method performed by an execution engine of a system according to one embodiment of the present invention, particularly a DB common management unit.

도 5를 참조하면, DB 공통 관리부(121)는 유닛세트 및/또는 유닛 생성 요청을 수신할 수 있다(단계 S310). Referring to FIG. 5, the DB common management unit (121) can receive a unit set and/or unit creation request (step S310).

해당 요청에 따라 유닛세트 컨트롤러(1211)가 활성화되고(단계 S311), 공유 설정(ConfigMap)을 설정한다(단계 S312). According to the request, the unit set controller (1211) is activated (step S311) and the shared settings (ConfigMap) are set (step S312).

다음으로 유닛 컨트롤러(1212)가 활성화되며(단계 S313), 저장공간(PVC)을 선언한다(단계 S314). 이후 파드를 생성하고, 클러스터를 배포한다(단계 S315). 생성한 파드를 포함하여 유닛을 생성한다(단계 S316). Next, the unit controller (1212) is activated (step S313) and a storage space (PVC) is declared (step S314). Then, a pod is created and a cluster is deployed (step S315). A unit is created including the created pod (step S316).

생성한 유닛 및/또는 유닛세트가 정상 동작하는지 판단하고(단계 S317), 정상 동작하지 않을 경우에는 단계 S311로 되돌아간다. 정상 동작하는 경우에는 유닛세트 및/또는 유닛 생성을 종료한다. It is determined whether the created unit and/or unit set is operating normally (step S317), and if not, the process returns to step S311. If it is operating normally, the creation of the unit set and/or unit is terminated.

여기서, 단계 S312, S314, S315, S316의 경우, 컨트롤러(1211, 1212)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, for steps S312, S314, S315, and S316, the controller (1211, 1212) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

DB 공통 관리부(121)는 유닛세트 및/또는 유닛 업데이트 요청을 수신할 수 있다(단계 S320). The DB common management unit (121) can receive a unit set and/or unit update request (step S320).

해당 요청에 따라 유닛세트 컨트롤러(1211)가 활성화되고(단계 S321), 공유 설정(ConfigMap)을 업데이트한다(단계 S322). 그리고 유닛 개수를 업데이트하며(단계 S323), 유닛 템플릿을 업데이트한다(단계 S324). 또한, 서비스 설정을 업데이트한다(단계 S325). In response to the request, the unit set controller (1211) is activated (step S321), the shared settings (ConfigMap) are updated (step S322), the number of units is updated (step S323), and the unit template is updated (step S324). In addition, the service settings are updated (step S325).

다음으로 유닛 컨트롤러(1212)가 활성화되며(단계 S326), 저장공간(PVC)을 업데이트하고(단계 S327), 서비스 설정을 업데이트한다(단계 S328). Next, the unit controller (1212) is activated (step S326), the storage space (PVC) is updated (step S327), and the service settings are updated (step S328).

업데이트한 유닛 및/또는 유닛세트가 정상 동작하는지 판단하고(단계 S329), 정상 동작하지 않을 경우에는 단계 S321로 되돌아간다. 정상 동작하는 경우에는 유닛세트 및/또는 유닛 업데이트를 종료한다. It is determined whether the updated unit and/or unit set is operating normally (step S329), and if not, the process returns to step S321. If it is operating normally, the unit set and/or unit update is terminated.

여기서, 단계 S322, S323, S324, S325, S327, S328의 경우, 컨트롤러(1211, 1212)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, for steps S322, S323, S324, S325, S327, and S328, the controller (1211, 1212) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

도 6을 참조하면, DB 공통 관리부(121)는 서비스 생성 요청을 수신할 수 있다(단계 S330). Referring to FIG. 6, the DB common management unit (121) can receive a service creation request (step S330).

서비스 생성 요청에 따라 유닛세트 컨트롤러(1211)가 활성화되고(단계 S331), 서비스 설정을 업데이트한다(단계 S332). In response to a service creation request, the unit set controller (1211) is activated (step S331) and the service settings are updated (step S332).

다음으로 유닛 컨트롤러(1212)가 활성화되고(단계 S333), 서비스 설정을 업데이트할 수 있다(단계 S334). Next, the unit controller (1212) is activated (step S333) and the service settings can be updated (step S334).

업데이트된 서비스 설정에 따라 생성된 서비스가 정상 동작하는지 판단하고(단계 S335), 정상 동작하지 않을 경우에는 단계 S331로 되돌아간다. 정상 동작하는 경우에는 서비스 생성을 종료한다. Determine whether the service created based on the updated service settings is operating normally (step S335). If not, return to step S331. If it is operating normally, service creation is terminated.

여기서, 단계 S331, S332, S334의 경우, 컨트롤러(1211, 1212)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, in steps S331, S332, and S334, the controller (1211, 1212) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

DB 공통 관리부(121)는 유닛세트 및/또는 유닛 삭제 요청을 수신할 수 있다(단계 S340). The DB common management unit (121) can receive a unit set and/or unit deletion request (step S340).

해당 요청에 따라 유닛세트 컨트롤러(1211)가 활성화되고(단계 S341), 서비스 설정을 삭제한다(단계 S342). According to the request, the unit set controller (1211) is activated (step S341) and the service settings are deleted (step S342).

다음으로 유닛 컨트롤러(1212)가 활성화되며(단계 S343), 서비스 설정을 삭제한다(단계 S344). 그리고 저장공간(PVC)을 해제하고(단계 S345), 파드를 삭제하며(단계 S346), 최종적으로 유닛을 삭제한다(단계 S347). Next, the unit controller (1212) is activated (step S343), the service settings are deleted (step S344), the storage space (PVC) is released (step S345), the pod is deleted (step S346), and finally the unit is deleted (step S347).

유닛/유닛세트의 삭제 이후 정상 동작하는지 판단하고(단계 S348), 정상 동작하지 않을 경우에는 단계 S341로 되돌아간다. 정상 동작하는 경우에는 유닛세트 및/또는 유닛 삭제를 종료한다. After deleting a unit/unit set, determine whether it is operating normally (step S348). If it is not operating normally, return to step S341. If it is operating normally, delete of the unit set and/or unit is terminated.

여기서, 단계 S342, S344, S345, S346, S347의 경우, 컨트롤러(1211, 1212)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, for steps S342, S344, S345, S346, and S347, the controller (1211, 1212) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

도 7 및 도 8은 본 발명의 일 실시예에 따른 시스템의 실행 엔진, 특히 DB 특정 관리부에서 수행되는 오픈 데이터베이스 관리 방법의 순서도이다. FIG. 7 and FIG. 8 are flowcharts of an open database management method performed by an execution engine of a system according to one embodiment of the present invention, particularly a DB specific management unit.

도 7을 참조하면, DB 특정 관리부(122)는 MySQLReplication 이벤트에 관한 요청을 수신할 수 있다(단계 S360). Referring to FIG. 7, the DB specific management unit (122) can receive a request regarding a MySQLReplication event (step S360).

이 경우 MySQLReplication 컨트롤러(1221)가 활성화된다(단계 S361). 그리고 MySQLReplication 리소스 정보를 요청하고(단계 S362), MySQL 관리자를 생성한다(단계 S363). In this case, the MySQLReplication controller (1221) is activated (step S361). Then, MySQLReplication resource information is requested (step S362) and a MySQL administrator is created (step S363).

생성된 MySQL 관리자(단계 S364)에서는 MySQL 마스터-슬레이브를 업데이트한다(단계 S365).The MySQL administrator (step S364) creates a MySQL master-slave and updates it (step S365).

이후 시스템의 정상 동작 여부를 판단하고(단계 S366), 정상 동작하지 않을 경우에는 단계 S361로 되돌아간다. 정상 동작하는 경우에는 MySQLReplication 이벤트를 종료하게 된다. Afterwards, it is determined whether the system is operating normally (step S366), and if it is not operating normally, it returns to step S361. If it is operating normally, the MySQLReplication event is terminated.

여기서, 단계 S352, S355의 경우, 컨트롤러(1221)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, for steps S352 and S355, the controller (1221) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

또한, DB 특정 관리부(122)는 ProxySQLSync 이벤트에 관한 요청을 수신할 수 있다(단계 S370). Additionally, the DB specific management unit (122) can receive a request regarding a ProxySQLSync event (step S370).

이 경우 ProxySQLSync 컨트롤러(1222)가 활성화된다(단계 S371). In this case, the ProxySQLSync controller (1222) is activated (step S371).

그리고 2원화되어, ProxySQLSync 리소스 정보를 요청하고(단계 S372a), ProxySQL 관리자를 생성할 수 있다(단계 S373a). 또한, MySQLReplication 리소스 정보를 요청하고(단계 S372b), MySQL 관리자를 생성할 수 있다(단계 S373b). And, in binary form, ProxySQLSync resource information can be requested (step S372a) and a ProxySQL administrator can be created (step S373a). In addition, MySQLReplication resource information can be requested (step S372b) and a MySQL administrator can be created (step S373b).

생성된 ProxySQL 관리자(단계 S374a) 및 MySQL 관리자(단계 S374b)에서는 ProxySQL과 MySQL을 동기화한 후 업데이트할 수 있다(단계 S375).The created ProxySQL manager (step S374a) and MySQL manager (step S374b) can be updated after synchronizing ProxySQL and MySQL (step S375).

이후 시스템의 정상 동작 여부를 판단하고(단계 S376), 정상 동작하지 않을 경우에는 단계 S371로 되돌아간다. 정상 동작하는 경우에는 ProxySQLSync 이벤트를 종료하게 된다. Afterwards, it is determined whether the system is operating normally (step S376), and if it is not operating normally, it returns to step S371. If it is operating normally, the ProxySQLSync event is terminated.

여기서, 단계 S362a, S365a, S362b, S365b의 경우, 컨트롤러(1222)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, for steps S362a, S365a, S362b, and S365b, the controller (1222) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

도 8을 참조하면, DB 특정 관리부(122)는 RedisReplication 이벤트에 관한 요청을 수신할 수 있다(단계 S380). Referring to FIG. 8, the DB specific management unit (122) can receive a request regarding a RedisReplication event (step S380).

이 경우 RedisReplication 컨트롤러(1223)가 활성화된다(단계 S381). 그리고 RedisReplication 리소스 정보를 요청하고(단계 S382), Redis 관리자를 생성한다(단계 S383). In this case, the RedisReplication controller (1223) is activated (step S381). Then, RedisReplication resource information is requested (step S382) and a Redis manager is created (step S383).

생성된 Redis 관리자(단계 S384)에서는 Redis 마스터-슬레이브를 업데이트한다(단계 S385).The created Redis manager (step S384) updates the Redis master-slave (step S385).

이후 시스템의 정상 동작 여부를 판단하고(단계 S386), 정상 동작하지 않을 경우에는 단계 S381로 되돌아간다. 정상 동작하는 경우에는 RedisReplication 이벤트를 종료하게 된다. Afterwards, it is determined whether the system is operating normally (step S386), and if it is not operating normally, it returns to step S381. If it is operating normally, the RedisReplication event is terminated.

여기서, 단계 S372, S375의 경우, 컨트롤러(1223)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, in steps S372 and S375, the controller (1223) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

또한, DB 특정 관리부(122)는 Redis Cluster 이벤트에 관한 요청을 수신할 수 있다(단계 S390). Additionally, the DB specific management unit (122) can receive a request regarding a Redis Cluster event (step S390).

이 경우 Redis Cluster 컨트롤러(1224)가 활성화된다(단계 S391). 그리고 Redis Cluster 리소스 정보를 요청하고(단계 S392), Redis 관리자를 생성한다(단계 S393). In this case, the Redis Cluster controller (1224) is activated (step S391). Then, Redis Cluster resource information is requested (step S392) and a Redis manager is created (step S393).

생성된 Redis 관리자(단계 S394)에서는 Redis 클러스터 내 Redis를 동기화한다 (단계 S395).The created Redis manager (step S394) synchronizes Redis within the Redis cluster (step S395).

이후 시스템의 정상 동작 여부를 판단하고(단계 S396), 정상 동작하지 않을 경우에는 단계 S391로 되돌아간다. 정상 동작하는 경우에는 Redis Cluster 이벤트를 종료하게 된다. Afterwards, it is determined whether the system is operating normally (step S396), and if it is not operating normally, it returns to step S391. If it is operating normally, the Redis Cluster event is terminated.

여기서, 단계 S382, S385의 경우, 컨트롤러(1224)에서 쿠버네티스 API 서버(113)에 해당 명령을 전송하여 처리되게 할 수 있다. Here, in steps S382 and S385, the controller (1224) can transmit the corresponding command to the Kubernetes API server (113) to be processed.

도 9는 본 발명의 일 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템의 기능 구성도이다. Figure 9 is a functional configuration diagram of a cloud-based open database management system according to one embodiment of the present invention.

클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 기능적으로 리소스 매니저(310), DB 매니저(320), 시스템 매니저(330)를 포함할 수 있다. A cloud-based open database management system (100) may functionally include a resource manager (310), a DB manager (320), and a system manager (330).

리소스 매니저(310)는 데이터베이스를 쉽고 안정되게 구축 및 관리할 수 있다. 리소스 매니저(310)는 데이터베이스 구성에 필요한 단위 또는 범위를 생성하게 한다. 스토리지 할당과 관리를 자동화하여 유지보수 작업을 간소화할 수 있다. The resource manager (310) facilitates easy and stable database construction and management. It creates the units or scopes required for database configuration. It automates storage allocation and management, simplifying maintenance tasks.

리소스 매니저(310)는 유닛의 상태 및 CPU, 메모리의 사용량과 서비스 상태를 한눈에 보기 쉽게 모니터링할 수 있도록 제공할 수 있다. The resource manager (310) can provide an easy-to-view monitoring of the unit's status, CPU and memory usage, and service status.

프로젝트(Project)는 리소스와 격리된 상태에서 리소스 개체 콘텐츠를 조작할 수 있도록 하는 단위이다. 프로젝트 관리 모듈을 통해 쿠버네티스 네임스페이스를 기반으로 자원을 관리할 수 있다. 프로젝트로 논리적인 구획을 나누면 각 팀은 자원을 독립적으로 운영할 수 있다. A project is a unit that allows you to manipulate resource object content in isolation from the resources. The project management module allows you to manage resources based on Kubernetes namespaces. By logically dividing projects into compartments, each team can operate resources independently.

하나의 독립한 작업 환경을 만드는 프로젝트를 생성하는 프로젝트 생성 관리, 프로젝트를 활성화하거나 비활성화하여 자원을 효율적으로 관리하는 프로젝트 활성화 관리, 필요시 프로젝트 이름을 수정하거나 더 이상 필요없는 프로젝트를 삭제하는 프로젝트 수정/삭제 관리 등이 포함될 수 있다. This may include project creation management, which creates a project that creates an independent work environment; project activation management, which enables or disables projects to efficiently manage resources; and project modification/deletion management, which modifies project names when necessary or deletes projects that are no longer needed.

클러스터(Cluster)는 쿠버네티스에서 애플리케이션을 실행하고 관리하는 단위이다. 클러스터는 시스템에서 자원을 배포하고 관리하는 중심 역할을 하며, 클러스터 관리 모듈은 여러 개의 클러스터를 등록하여 한 곳에서 관리할 수 있다. Red Hat의 OpenShift, VMWare의 Tanzu 등 다양한 공급업체의 쿠버네티스 클러스터 등록을 지원할 수 있다. 클러스터 등록, 활성화, 수정/삭제, 리소스 관리 기능을 포함할 수 있다. A cluster is the unit where applications are run and managed in Kubernetes. Clusters play a central role in deploying and managing resources in the system, and the cluster management module allows for the registration of multiple clusters and their central management. It supports the registration of Kubernetes clusters from various vendors, including Red Hat's OpenShift and VMware's Tanzu. It can include cluster registration, activation, modification/deletion, and resource management functions.

소프트웨어(Software) 관리 모듈은 클러스터에 설치된 DB 종류별 버전을 리스트한다. 생성된 클러스터 내에서 실행되는 데이터베이스별 버전 정보를 중앙에서 자동 배포 및 활성화 관리, 검색 기능을 사용할 수 있게 한다. 소프트웨어 배포 기능은 새로운 DB 소프트웨어를 등록하면 이를 자동으로 클러스터에 배포하고 관리할 수 있게 한다. 소프트웨어 활성화 관리 기능은 필요에 따라 소프트웨어를 활성화하거나 비활성화할 수 있다. 이는 자원의 효율적 사용을 도와준다. 소프트웨어 검색 기능은 등록된 소프트웨어의 상태를 검색하고, 필요한 정보를 빠르게 확인 가능하게 한다. The Software Management module lists the versions of each database type installed in the cluster. It provides centralized, automatic distribution and activation management of database version information running within the created cluster, along with search functions. The Software Deployment feature automatically deploys and manages new database software registrations to the cluster. The Software Activation Management feature allows you to activate or deactivate software as needed, facilitating efficient resource utilization. The Software Search feature checks the status of registered software and allows you to quickly access necessary information.

존(Zone) 관리 모듈은 리소스의 영역을 분리한다. 클러스터 리소스의 논리적 분리를 제공할 수 있다. 리소스 분리를 통해 장애 발생시 격리된 리소스 안에서 해결함으로써 안정적인 유지보수가 가능하다. 존 추가 기능은 새로운 클러스터를 기반으로 존을 추가하여 리소스를 할당한다. 존 활성화 관리 기능은 특정 시점에 리소스를 관리하거나 유지보수를 위해 존을 비활성화할 수 있다. 비활성화된 존은 리소스를 할당받지 않는다. 존 수정/삭제 기능은 존의 이름이나 설명을 수정하거나 존을 삭제할 수 있다. The Zone Management module isolates resource areas and provides logical separation of cluster resources. Resource isolation enables stable maintenance by resolving failures within isolated resources. The Zone Add function adds zones based on a new cluster and allocates resources. The Zone Activation Management function can deactivate zones at specific times for resource management or maintenance. Deactivated zones do not receive resource allocation. The Zone Edit/Delete function can modify the name or description of a zone or delete a zone.

호스트 그룹(Host Group) 관리 모듈은 미리 설정된 조건에 따라 유사한 기능이나 애플리케이션을 가진 머신을 비즈니스 유형에 따라 그룹화한다. 다양한 요구사항에 유연하고 다차원적인 리소스 구성 및 관리 기능을 제공할 수 있다. 예를 들어 지역별/서버 랙별 또는 유사 업무별로 그룹으로 분리하여 관리가 용이하게 된다. 호스트 그룹 추가 기능은 클러스터와 존에 속한 호스트들을 그룹화해 관리한다. 호스트 그룹을 통해 비슷한 역할을 하는 서버를 묶어 효과적으로 배치할 수 있다. 호스트 그룹 활성화 관리 기능은 필요에 따라 호스트 그룹을 활성화하거나 비활성화하여 관리할 수 있다. 호스트 그룹 편집/삭제 기능은 호스트 그룹의 이름이나 설명을 수정할 수 있으며, 더 이상 필요없는 그룹은 삭제할 수 있다. The Host Group management module groups machines with similar functions or applications according to business type, based on preset conditions. It can provide flexible, multi-dimensional resource configuration and management capabilities to meet diverse needs. For example, grouping by region, server rack, or similar tasks facilitates management. The Host Group Add function groups and manages hosts within clusters and zones. Host groups allow for efficient deployment by grouping servers with similar roles. The Host Group Activation Management function enables host groups to be activated or deactivated as needed. The Host Group Edit/Delete functions allow for modifying the name or description of a host group, and deleting groups that are no longer needed.

호스트(Host) 관리 모듈은 플랫폼이 노드(Node)를 식별할 수 있도록 서버 장비에 시스템 라벨을 지정한다. 쿠버네티스는 호스트에서 실행되는 파드에 컨테이너를 배치하여 워크노드를 실행한다. 이에 호스트는 플랫폼이 노드를 식별하고 관리하기 위해 노드에 라벨을 지정한다. 호스트에 문제가 발생하거나 자원이 부족할 경우 격리할 수 있으며, 문제가 해결되면 다시 복구해 사용할 수 있다. 호스트 등록 기능은 클러스터에 새 호스트를 추가하고 시스템에 등록한다. 호스트 격리/복구 기능은 호스트에 문제가 발생하거나 자원이 부족할 경우 격리할 수 있으며, 문제가 해결되면 다시 복구해 사용할 수 있게 한다. 호스트 로그아웃 기능은 더 이상 필요없는 호스트는 안전하게 로그아웃할 수 있게 한다. The Host management module assigns system labels to server equipment so that the platform can identify nodes. Kubernetes runs worker nodes by deploying containers into pods running on the host. Therefore, the host assigns labels to nodes so that the platform can identify and manage them. If a host experiences a problem or lacks resources, it can be isolated and restored to use once the problem is resolved. The Host Registration feature adds new hosts to the cluster and registers them with the system. The Host Isolation/Recovery feature allows you to isolate a host if it experiences a problem or lacks resources, and then restore it to use once the problem is resolved. The Host Logout feature allows you to safely log out of hosts that are no longer needed.

스토리지 클래스(Storage Class) 관리 모듈은 데이터가 저장되는 다양한 스토리지 도킹을 설정한다. 로컬 디스크부터 클라우드 기반 스토리지까지 다양한 스토리지 유형을 지원할 수 있다. 이를 통해 애플리케이션의 데이터를 저장하고 관리할 수 있다. 스토리지 클래스 등록 기능은 새로운 스토리지 클래스를 등록해 애플리케이션이 필요로 하는 저장공간을 제공한다. 스토리지 클래스 활성화 관리 기능은 필요에 따라 스토리지를 활성화하거나 비활성화해 자원을 관리할 수 있게 한다. 스토리지 클래스 편집/삭제 기능은 스토리지의 이름과 설명을 수정하거나, 필요 없는 스토리지를 삭제할 수 있게 한다. The Storage Class management module configures various storage dockings where data is stored. It can support a variety of storage types, from local disks to cloud-based storage. This allows you to store and manage application data. The Storage Class Registration feature registers new storage classes to provide the storage space required by applications. The Storage Class Activation Management feature allows you to manage resources by activating or deactivating storage as needed. The Storage Class Edit/Delete feature allows you to modify the name and description of storage classes, or delete unnecessary storage.

S3 스토리지(S3 Storage) 관리 모듈은 백업을 위한 S3 스토리지 도킹을 설정한다. 여기서, S3 스토리지는 아마존에서 제공하는 대용량 데이터 저장 솔루션이다. S3 스토리지와의 연동을 지원하며, 사용자는 백업 전략을 쉽게 구성하고 관리하여 데이터의 자동 백업 및 복구를 실현할 수 있다. S3 스토리지 등록 기능은 S3 스토리지를 등록하여 데이터를 안전하게 저장하고 백업할 수 있다. S3 스토리지 시작/중지 기능은 필요에 따라 스토리지를 활성화하거나 비활성화할 수 있으며, 백업 관리를 지속할 수 있게 한다. S3 스토리지 로그아웃 기능은 필요에 따라 S3 스토리지를 로그아웃하여 더 이상 백업 리소스로 사용하지 않게 할 수 있다. 이를 통해 데이터 백업을 효과적으로 운영할 수 있다. The S3 Storage management module configures S3 storage docking for backup. S3 Storage is a large-capacity data storage solution provided by Amazon. It supports integration with S3 Storage, allowing users to easily configure and manage backup strategies to achieve automatic data backup and recovery. The S3 Storage registration function allows users to register S3 Storage to securely store and back up data. The S3 Storage start/stop function enables users to activate or deactivate storage as needed, allowing for continuous backup management. The S3 Storage logout function allows users to log out of S3 Storage as needed, thereby disabling it as a backup resource. This allows for efficient data backup operations.

DB 매니저(320)는 리소스 매니저(310)에서 구성한 설정을 기준으로 쿠버네티스(K8s) 환경에서 복제 기능 및 고가용성 배포 기능을 사용하여 오픈 데이터베이스를 구성할 수 있다. The DB manager (320) can configure an open database using replication and high availability deployment functions in a Kubernetes (K8s) environment based on the settings configured in the resource manager (310).

서비스 스케일(Scale) 관리 모듈은 복수 개의 다양한 크기의 CPU 및 메모리를 구성한다. 서비스 스케일 관리는 자원의 크기를 조정하는 기능이다. 필요한 만큼 자원을 확장하거나 축소할 수 있어, 성능과 비용을 동시에 최적화할 수 있다. The Service Scale Management module configures multiple CPUs and memory of varying sizes. Service Scale Management is the ability to adjust resource sizes. Resources can be scaled up or down as needed, optimizing both performance and cost.

스케일 추가 기능은 서비스가 필요로 하는 자원, 즉 CPU와 메모리 같은 항목을 자유롭게 설정할 수 있다. 이뿐만 아니라 각 데이터베이스 서비스에 필요한 특수한 자원들도 할당할 수 있다(ex, MySQL의 ProxySQL, redis의 sentinel). MySQL 서비스를 예를 들어 설명하면, MySQL 서비스에 할당된 리소스를 1 CPU, 1GB 메모리로 설정하는 것이 가능하다. 시스템에는 기본 MySQL뿐만 아니라, ProxySQL을 함께 설정하여 로드 밸런싱과 고가용성을 위한 구성을 추가할 수 있다. The scale-out feature allows you to freely configure the resources required by a service, such as CPU and memory. Furthermore, you can also allocate specialized resources required by each database service (e.g., ProxySQL for MySQL, Sentinel for Redis). For example, for a MySQL service, you can configure the resources allocated to it to 1 CPU and 1 GB of memory. In addition to the basic MySQL, the system can also be configured with ProxySQL to provide load balancing and high availability.

스케일 활성화/비활성화 기능은 자원이 필요할 때는 활성화하고, 불필요할 때는 비활성화해서 자원을 절약할 수 있다. 스케일 삭제 기능은 더 이상 필요하지 않은 스케일은 삭제하여 자원을 관리할 수 있다.The scale enable/disable feature allows you to conserve resources by enabling them when needed and disabling them when not needed. The scale delete feature allows you to manage resources by deleting scales that are no longer needed.

서비스 오더(Order) 관리 모듈은 사용자가 서비스를 생성 요청하고 검사하여 실행하는 메뉴이다. 복제 기능 설정과 고가용성 선택 기능을 포함할 수 있다. 사용자가 원하는 서비스를 요청하고, 이를 배포하는 과정이다. 쇼핑몰에서 주문하듯 필요한 서비스를 선택하고 자원을 설정해 주문할 수 있다. The Service Order Management module allows users to create, request, inspect, and execute services. It can include replication settings and high availability options. This module allows users to request desired services and deploy them. Users can select the required services, configure resources, and place orders, much like ordering from a shopping mall.

오더 추가 기능에서는 서비스를 배포하려면 프로젝트와 클러스터를 선택한 후, CPU, 메모리, 스토리지 크기 등을 설정한다. 예를 들어 MySQL이나 Redis 같은 서비스의 버전을 선택하고 복제본 수, 스토리지 용량을 설정해 주문을 추가할 수 있다.The Add Order feature allows you to select a project and cluster to deploy a service, then configure settings like CPU, memory, and storage size. For example, you can add an order by selecting a version of a service like MySQL or Redis, setting the number of replicas, and setting the storage capacity.

오더 승인 기능에서는 관리자가 주문 내용을 검토하고 승인을 하면, 설정된 자원이 클러스터에 할당된다. In the order approval function, when the administrator reviews and approves the order, the set resources are allocated to the cluster.

오더 실행 기능에서는 주문이 승인되면, 실제로 서비스가 배포된다. 이후 서비스의 상태를 실시간으로 모니터링하며 진행 상황을 확인할 수 있다. 이 기능을 통해 서비스 배포 과정이 간소화되어, 원하는 자원을 빠르게 요청하고 사용할 수 있다.The order execution feature actually deploys the service once the order is approved. You can then monitor the service's status in real time and check its progress. This feature streamlines the service deployment process, allowing you to quickly request and use desired resources.

서비스(Service) 관리 모듈은 데이터베이스 서비스의 전반적인 운영과 유지보수를 담당한다. 데이터베이스 버전 업그레이드, 리셋 소스(마스터/슬레이브 역할 분배), 백업/리스토어, 스키마, 유저 생성 및 유저 권한 부여, 서비스 아키텍처 모니러팅 기능 등을 포함할 수 있다. The Service management module handles the overall operation and maintenance of the database service. This includes database version upgrades, reset sources (master/slave role distribution), backup/restore, schema and user creation and authorization, and service architecture monitoring.

서비스 생성 기능에서는 MySQL, Redis 같은 서비스를 간편하게 배포할 수 있으며, 필요한 자원을 설정하고 고가용성 옵션을 추가해 안정성을 보장할 수 있다.The service creation feature allows you to easily deploy services like MySQL and Redis, configure the required resources, and add high-availability options to ensure stability.

서비스 수정 및 업그레이드 기능에서는 서비스가 운영되는 동안 CPU, 메모리 등 자원이 부족하다면 실시간으로 자원을 확장할 수 있다. 또한, 서비스 버전도 최신으로 업그레이드할 수 있다.The service modification and upgrade feature allows you to expand resources, such as CPU and memory, in real time if they become insufficient while the service is running. It also allows you to upgrade to the latest version of the service.

서비스 백업 및 복구 기능에서는 데이터 손실을 방지하기 위해 서비스 데이터를 주기적으로 백업할 수 있으며, 필요시 데이터를 복구해 안전성을 유지할 수 있다.The service backup and recovery feature allows you to periodically back up service data to prevent data loss and to restore data when necessary to maintain safety.

서비스 상태 모니터링 기능에서는 실행 중인 서비스의 상태, 자원 사용량, 이벤트 로그 등을 실시간으로 확인할 수 있어 문제 발생 시 신속한 대응이 가능하다.The service status monitoring function allows you to check the status of running services, resource usage, event logs, etc. in real time, enabling a quick response when a problem occurs.

서비스 삭제 기능에서는 더 이상 필요하지 않은 서비스는 안전하게 삭제해 자원을 절약할 수 있다.The service deletion feature allows you to safely delete services that are no longer needed, saving resources.

서비스 유닛(Service Unit) 관리 모듈은 실제 데이터베이스 서비스가 가동되고 있는 논리적 단위인 유닛별로 관리 운영할 수 있게 한다. 데이터베이스를 모니터링하고 관리 운영하며, 백업 및 복구할 수 있고, 장애 발생시 서비스 재설정으로 인한 빠른 장애복구가 가능하다.The Service Unit (SMU) management module allows for management and operation of individual units, the logical units where actual database services are running. It monitors and manages databases, performs backups and recovery, and enables rapid disaster recovery through service reconfiguration in the event of a failure.

유닛 중지 기능을 통해 유닛을 중지해 유지보수 작업을 할 수 있으며, 서비스의 가용성은 유지된다.The unit stop function allows you to stop a unit for maintenance work while maintaining service availability.

유닛 시작 기능을 통해 중지된 유닛을 다시 활성화해 서비스 운영을 정상화할 수 있다.The Unit Start function can be used to reactivate stopped units and normalize service operation.

유닛 재구성 기능을 통해 문제가 발생하거나 확장이 필요할 때 유닛을 재구성하여 서비스의 고가용성을 유지한다. 장애 발생 시에도 빠르게 복구 가능하다.Unit reconfiguration capabilities maintain high service availability by reconfiguring units when problems arise or expansion is required. This ensures rapid recovery even in the event of a failure.

실시간 매개변수 수정 기능을 통해 서비스 중단 없이 성능을 최적화할 수 있는 매개변수 수정이 가능하다. 중요한 매개변수는 재부팅 후 적용됩니다.Real-time parameter modification allows for parameter modifications to optimize performance without service interruption. Critical parameters take effect after a reboot.

유닛 상태 모니터링 기능을 통해 실시간으로 CPU, 메모리, 트래픽 등의 상태를 모니터링해 문제를 조기에 발견하고 해결할 수 있다.The unit status monitoring function allows you to monitor the status of CPU, memory, traffic, etc. in real time, allowing you to detect and resolve problems early.

유닛 삭제 기능을 통해 더 이상 필요 없는 유닛을 안전하게 삭제하여 자원을 효율적으로 관리한다.Manage resources efficiently by safely deleting units you no longer need using the unit deletion function.

서비스 데이터베이스 관리를 통해 클러스터 상에 있는 데이터베이스를 GUI를 통해 간편하게 생성하고 삭제할 수 있게 한다. 서비스 유저 관리를 통해 데이터베이스에 접근하는 사용자를 생성하고 권한을 부여할 수 있다. Service database management allows you to easily create and delete databases on your cluster through a GUI. Service user management allows you to create users who can access your database and grant them permissions.

시스템 매니저(330)는 시스템에서 일어나는 이벤트에 대한 로그를 관리할 수 있다. 시스템 매니저(330)는 발생 이벤트 로그 리스트인 플랫폼 로그 기능을 포함할 수 있다. The system manager (330) can manage logs of events occurring in the system. The system manager (330) can include a platform log function, which is a list of logs of events occurring.

따라서, 시스템을 이용하여 쉽게 백업 및 복구가 가능하다. 또한, 데이터베이스의 장애 발생시 각 서버의 역할을 변경하여 빠른 장애 대처가 가능하다. Therefore, the system enables easy backup and recovery. Furthermore, in the event of a database failure, the roles of each server can be changed, enabling rapid response.

생성한 오픈 데이터베이스에 스키마를 생성할 수 있으며, 유저를 생성하여 각 데이터베이스별 권한도 부여 가능하다. You can create a schema in the created open database, and you can also create users and grant them permissions for each database.

본 실시예에 따른 클라우드 기반 오픈 데이터베이스 관리 시스템에 의하면, 명령어 기반의 쿠버네티스 환경을 보다 쉽고 빠르고 편리하게 관리하는 플랫폼으로 담당자의 업무 능률 및 효율성이 향상으로 인해 업무량이 획기적으로 감소된다. 또한, 다양한 시스템을 원활하게 통합함으로써 운영을 간소화하고 복잡성을 줄일 수 있다. The cloud-based open database management system according to this embodiment provides a platform for easier, faster, and more convenient management of command-based Kubernetes environments, significantly reducing workload by improving staff efficiency and effectiveness. Furthermore, seamless integration of various systems streamlines operations and reduces complexity.

또한, 정교한 데이터베이스 서비스 지원이 가능하다. 본 실시예에 따른 시스템에서는 다음과 같은 복잡한 DB 운영 방식을 정교하게 관리할 수 있도록 지원한다. Additionally, sophisticated database service support is possible. The system according to this embodiment supports the sophisticated management of the following complex database operation methods.

도 10은 본 발명의 일 실시예에 따른 시스템에서의 DB 운영 지원 방식을 나타낸 도면이다. Figure 10 is a drawing showing a DB operation support method in a system according to one embodiment of the present invention.

첫번째로, Primary/Replica 패턴이다. 이 패턴은 RDBMS에서 많이 사용하는 방식으로, 하나의 Primary 데이터베이스는 쓰기 전용으로 사용되고, 여러 개의 Replica 데이터베이스는 읽기 전용으로 사용된다. 이렇게 데이터를 복제함으로써 쓰기와 읽기를 분리하고, 트래픽을 분산시킬 수 있다. 대표적인 예로 MySQL이 있다. 이를 통해 효율적인 트래픽 분산이 가능해지고, 시스템 성능을 최적화할 수 있다.First, there's the Primary/Replica pattern. This pattern is widely used in RDBMSs, where one primary database is used exclusively for writes, while multiple replica databases are used exclusively for reads. By replicating data in this way, writes and reads can be separated and traffic distributed. MySQL is a prime example. This allows for efficient traffic distribution and optimized system performance.

두번째는 Caching 패턴이다. 여기에서는 Redis와 같은 캐싱 시스템을 활용하여 데이터 접근 속도를 빠르게 한다. 캐시를 사용하면 데이터베이스보다 훨씬 빠른 응답을 제공할 수 있지만, 캐시 용량은 한정적이기 때문에 어느 데이터를 캐시에 저장할지, 얼마나 오랫동안 저장할지에 대한 전략이 매우 중요하다. 특히, 캐시와 데이터베이스 간의 데이터 불일치 문제를 해결하는 캐시 읽기, 쓰기 전략도 필수이다. 본 시스템은 이러한 캐싱 패턴을 통해 높은 성능과 데이터 일관성을 동시에 보장한다.The second is the Caching pattern. This utilizes a caching system like Redis to speed up data access. While caches can provide much faster responses than databases, cache capacity is limited, so strategic planning regarding which data to cache and how long to store it is crucial. In particular, a cache read/write strategy is essential to address data inconsistencies between the cache and the database. This system ensures both high performance and data consistency through this caching pattern.

마지막으로, NewSQL 패턴이다. 분산 시스템에서 중요한 건 여러 노드 간의 데이터 일관성을 유지하는 것이다. 이를 위해 본 시스템에서는 Raft 기반의 합의 알고리즘을 사용하여 데이터 일관성을 유지한다. 이 패턴은 분산된 데이터베이스 환경에서 각 노드가 동일한 상태를 유지하도록 하며, 여러 노드 간의 데이터 동기화 및 복제를 자동으로 관리한다.Finally, there's the NewSQL pattern. In a distributed system, maintaining data consistency across multiple nodes is crucial. To achieve this, this system uses a Raft-based consensus algorithm to maintain data consistency. This pattern ensures that each node in a distributed database environment maintains the same state and automatically manages data synchronization and replication across multiple nodes.

이처럼 본 시스템은 다양한 패턴을 통해 복잡한 DB 운영 환경에서도 안정적인 서비스를 지원할 수 있다.In this way, this system can support stable services even in complex DB operating environments through various patterns.

Raft(Reliable, Replicated, Redundant And Fault-Tolerant) 알고리즘은 쿠버네티스의 etcd에서 사용되는 분산 합의 알고리즘이다. Raft 알고리즘은 클라이언트를 통해 받은 변경사항을 로그 복제를 통해 클러스터의 모든 노드가 동일하게 가질 수 있도록 하는 분산 합의 방법이다. The Raft (Reliable, Replicated, Redundant, and Fault-Tolerant) algorithm is a distributed consensus algorithm used in Kubernetes' etcd. The Raft algorithm is a distributed consensus method that ensures that all nodes in the cluster have the same copy of changes received from clients through log replication.

Raft 알고리즘은 리더, 팔로워, 후보자와 같은 3가지 역할의 노드들로 구성된다. The Raft algorithm consists of nodes with three roles: leader, follower, and candidate.

리더(Leader)는 클라이언트와 통신하며, 변경사항을 요청받는다. 주기적으로 팔로워로 변경사항과 함께 하트비트 요청을 보낸다(AppendEntry).The Leader communicates with clients and receives change requests. It periodically sends a heartbeat request (AppendEntry) with the changes to followers.

팔로워(Follower)는 리더가 요청한 변경사항을 저장한다. 리더 선출 기간(Term)을 가지고 있다. 선출 대기 시간(Election Timeout) 동안 리더의 요청을 대기하며, 시간 초과 시, 후보자가 된다. Followers store changes requested by the leader. They have a leader election period (Term). They wait for leader requests during the election timeout period, and when the timeout expires, they become candidates.

후보자(Candidate)는 스스로와 다른 팔로워에 리더 선출 투표(RequestVote)를 요청한다. 클러스터의 과반 이상의 노드의 투표 응답을 받으면 리더가 된다. 리더로부터 요청을 받으면, 리더 정보를 갱신하고 팔로워가 된다.A candidate requests a leader election vote (RequestVote) from itself and other followers. If it receives a vote from more than half of the nodes in the cluster, it becomes the leader. Upon receiving a request from the leader, it updates its leader information and becomes a follower.

도 11은 본 발명의 일 실시예에 따른 시스템에서 제공하는 기능을 나타낸 도면이다. Figure 11 is a drawing showing functions provided by a system according to one embodiment of the present invention.

본 시스템은 리소스 관리, 주문 관리, 플랫폼 관리, 서비스 관리의 다양한 기능과 확장을 위한 유연성을 제공할 수 있다. This system can provide flexibility for various functions and expansion of resource management, order management, platform management, and service management.

리소스 관리에서는 호스트, 스토리지, 클러스터 등의 시스템 리소스를 관리하는 기능을 제공한다. 작업 주문(순서) 관리에서는 작업의 생성, 승인, 실행을 제어하는 기능을 제공한다. 서비스 관리는 시스템의 핵심 기능이며 서비스 변경, 업그레이드, 시작/중단/삭제 등의 기능을 제공한다. 플랫폼 관리는 사용자, 그룹, 역할, 미션 등의 플랫폼 관리를 제공한다.Resource management provides functions for managing system resources such as hosts, storage, and clusters. Work order management provides functions for controlling the creation, approval, and execution of tasks. Service management is a core system function, providing functions such as service modification, upgrades, and starting/stopping/deleting. Platform management provides platform management for users, groups, roles, and missions.

도 12은 본 발명의 일 실시예에 따른 시스템의 구성을 도시한 도면이다. FIG. 12 is a diagram illustrating the configuration of a system according to one embodiment of the present invention.

도 12을 참조하면, 클라우드 기반 오픈 데이터베이스 관리 시스템(100)은 프로세서(410) 및 메모리(420)를 포함한다. 메모리(420)는 프로세서(410)에 의해 실행 가능한 하나 이상의 명령어를 저장한다. 프로세서(410)는 메모리(420)에 저장된 하나 이상의 명령어를 실행한다. 프로세서(410)는 명령어를 실행하는 것에 의해 전술한 하나 이상의 동작을 실행할 수 있다. 또한, 전술한 본 발명의 구성은 프로세서(410)에 의해서 실행되는 명령어에 의해서 구현되는 구성일 수 있다. Referring to FIG. 12, a cloud-based open database management system (100) includes a processor (410) and a memory (420). The memory (420) stores one or more instructions executable by the processor (410). The processor (410) executes one or more instructions stored in the memory (420). The processor (410) can perform one or more of the operations described above by executing the instructions. In addition, the configuration of the present invention described above may be a configuration implemented by instructions executed by the processor (410).

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 프로세싱 유닛(Graphics Processing Unit; GPU), ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 주문형 집적 회로(Application Specific Integrated Circuits; ASICS), 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.The embodiments described above may be implemented using hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as, for example, a processor, a controller, a central processing unit (CPU), a graphics processing unit (GPU), an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, an application specific integrated circuit (ASICS), or any other device capable of executing instructions and responding to them.

전술한 오픈 데이터베이스 관리 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The open database management method described above can also be implemented in the form of a recording medium containing computer-executable instructions, such as an application or program module executed by a computer. The computer-readable medium can be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Furthermore, the computer-readable medium can include computer storage media. The computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented using any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data.

전술한 오픈 데이터베이스 관리 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 오픈 데이터베이스 관리 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. The above-described open database management method can be executed by an application installed by default on the terminal (which may include a program included in a platform or operating system installed by default on the terminal), or by an application (i.e., a program) directly installed on the master terminal by the user through an application providing server, such as an application store server, an application, or a web server related to the service. In this sense, the above-described open database management method can be implemented as an application (i.e., a program) installed by default on the terminal or directly installed by the user, and recorded on a computer-readable recording medium such as the terminal.

상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to embodiments thereof, it will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.

100: 클라우드 기반 오픈 데이터베이스 관리 시스템
110: 관리 플랫폼 111: 통합 인터페이스
112: API 서버 113: 확장 모듈
114: 웹 서버
120: 실행 엔진 121: DB 공통 관리부
122: DB 특정 관리부 123: 쿠버네티스 API 서버
210: 파드 211: 컨테이너
212: 사이드카 컨테이너 310: 리소스 매니저
320: DB 매니저 330: 시스템 매니저
100: Cloud-based open database management system
110: Management Platform 111: Unified Interface
112: API Server 113: Extension Module
114: Web server
120: Execution Engine 121: DB Common Management Unit
122: DB-specific management unit 123: Kubernetes API server
210: Pad 211: Container
212: Sidecar Container 310: Resource Manager
320: DB Manager 330: System Manager

Claims (13)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
실행 엔진에서 오픈 데이터베이스 관련 이벤트를 수신하는 단계;
DB 특정 관리부에서 상기 오픈 데이터베이스에 관련된 컨트롤러를 활성화하는 단계;
상기 컨트롤러에서 상기 오픈 데이터베이스에 관한 리소스 정보를 요청하는 단계;
상기 리소스 정보에 기초하여 상기 오픈 데이터베이스에 관한 관리자를 생성하는 단계;
상기 관리자에서 상기 이벤트에 상응하는 동작을 수행하는 단계를 포함하되,
상기 오픈 데이터베이스 관련 이벤트는 MySQLReplication 이벤트이고, 상기 관리자는 MySQL 관리자이며, 상기 이벤트에 상응하는 동작은 MySQL 마스터-슬레이브 업데이트인 것을 특징으로 하는 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium to perform a cloud-based open database management method, wherein the computer program causes a computer to perform the following steps, wherein the steps are:
Step of receiving open database related events from the execution engine;
A step of activating a controller related to the open database in a DB specific management unit;
A step of requesting resource information about the open database from the controller;
A step of creating an administrator for the open database based on the above resource information;
Including a step of performing an action corresponding to the above event in the above manager,
A computer program stored in a computer-readable storage medium, characterized in that the above open database related event is a MySQLReplication event, the administrator is a MySQL administrator, and the action corresponding to the event is a MySQL master-slave update.
삭제delete 클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
실행 엔진에서 오픈 데이터베이스 관련 이벤트를 수신하는 단계;
DB 특정 관리부에서 상기 오픈 데이터베이스에 관련된 컨트롤러를 활성화하는 단계;
상기 컨트롤러에서 상기 오픈 데이터베이스에 관한 리소스 정보를 요청하는 단계;
상기 리소스 정보에 기초하여 상기 오픈 데이터베이스에 관한 관리자를 생성하는 단계;
상기 관리자에서 상기 이벤트에 상응하는 동작을 수행하는 단계를 포함하되,
상기 오픈 데이터베이스 관련 이벤트는 ProxySQLSync 이벤트이고, 상기 관리자는 ProxySQL 관리자 및 MySQL 관리자이며, 상기 이벤트에 상응하는 동작은 ProxySQL과 MySQL의 동기화인 것을 특징으로 하는 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium to perform a cloud-based open database management method, wherein the computer program causes a computer to perform the following steps, wherein the steps are:
Step of receiving open database related events from the execution engine;
A step of activating a controller related to the open database in a DB specific management unit;
A step of requesting resource information about the open database from the controller;
A step of creating an administrator for the open database based on the above resource information;
Including a step of performing an action corresponding to the above event in the above manager,
A computer program stored in a computer-readable storage medium, characterized in that the above open database related event is a ProxySQLSync event, the administrator is a ProxySQL administrator and a MySQL administrator, and the action corresponding to the event is synchronization of ProxySQL and MySQL.
클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
실행 엔진에서 오픈 데이터베이스 관련 이벤트를 수신하는 단계;
DB 특정 관리부에서 상기 오픈 데이터베이스에 관련된 컨트롤러를 활성화하는 단계;
상기 컨트롤러에서 상기 오픈 데이터베이스에 관한 리소스 정보를 요청하는 단계;
상기 리소스 정보에 기초하여 상기 오픈 데이터베이스에 관한 관리자를 생성하는 단계;
상기 관리자에서 상기 이벤트에 상응하는 동작을 수행하는 단계를 포함하되,
상기 오픈 데이터베이스 관련 이벤트는 RedisReplication 이벤트이고, 상기 관리자는 Redis 관리자이며, 상기 이벤트에 상응하는 동작은 Redis 마스터-슬레이브 업데이트인 것을 특징으로 하는 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium to perform a cloud-based open database management method, wherein the computer program causes a computer to perform the following steps, wherein the steps are:
Step of receiving open database related events from the execution engine;
A step of activating a controller related to the open database in a DB specific management unit;
A step of requesting resource information about the open database from the controller;
A step of creating an administrator for the open database based on the above resource information;
Including a step of performing an action corresponding to the above event in the above manager,
A computer program stored in a computer-readable storage medium, characterized in that the above open database related event is a RedisReplication event, the manager is a Redis manager, and the action corresponding to the event is a Redis master-slave update.
클라우드 기반 오픈 데이터베이스 관리 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
실행 엔진에서 오픈 데이터베이스 관련 이벤트를 수신하는 단계;
DB 특정 관리부에서 상기 오픈 데이터베이스에 관련된 컨트롤러를 활성화하는 단계;
상기 컨트롤러에서 상기 오픈 데이터베이스에 관한 리소스 정보를 요청하는 단계;
상기 리소스 정보에 기초하여 상기 오픈 데이터베이스에 관한 관리자를 생성하는 단계;
상기 관리자에서 상기 이벤트에 상응하는 동작을 수행하는 단계를 포함하되,
상기 오픈 데이터베이스 관련 이벤트는 Redis Cluster 이벤트이고, 상기 관리자는 Redis 관리자이며, 상기 이벤트에 상응하는 동작은 Redis 클러스터 내 Redis 동기화인 것을 특징으로 하는 컴퓨터-판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium to perform a cloud-based open database management method, wherein the computer program causes a computer to perform the following steps, wherein the steps are:
Step of receiving open database related events from the execution engine;
A step of activating a controller related to the open database in a DB specific management unit;
A step of requesting resource information about the open database from the controller;
A step of creating an administrator for the open database based on the above resource information;
Including a step of performing an action corresponding to the above event in the above manager,
A computer program stored in a computer-readable storage medium, characterized in that the above open database related event is a Redis Cluster event, the manager is a Redis manager, and the action corresponding to the event is Redis synchronization within the Redis cluster.
KR1020250003959A 2024-10-23 2025-01-10 Cloud bases open database management platform and program performing cloud based open database managing method Active KR102899701B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20240145851 2024-10-23
KR1020240145851 2024-10-23

Publications (1)

Publication Number Publication Date
KR102899701B1 true KR102899701B1 (en) 2025-12-15

Family

ID=98055806

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020250003959A Active KR102899701B1 (en) 2024-10-23 2025-01-10 Cloud bases open database management platform and program performing cloud based open database managing method
KR1020250003958A Active KR102899697B1 (en) 2024-10-23 2025-01-10 Cloud bases open database management system and method

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020250003958A Active KR102899697B1 (en) 2024-10-23 2025-01-10 Cloud bases open database management system and method

Country Status (1)

Country Link
KR (2) KR102899701B1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740353B2 (en) * 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US20200409804A1 (en) * 2016-06-27 2020-12-31 Mongodb, Inc. Systems and methods for monitoring distributed database deployments
KR102209044B1 (en) 2020-03-12 2021-01-29 주식회사 케이비시스 Cloud system having cloud native database structure
US11494509B2 (en) * 2020-06-19 2022-11-08 Salesforce.Com, Inc. Controlling just in time access to a cluster
US20230038294A1 (en) * 2020-06-02 2023-02-09 Sap Se Interface custom resource definition for stateful service management of clusters
KR20230097928A (en) * 2021-12-24 2023-07-03 숭실대학교산학협력단 Microservice-based distributed tracking apparatus and method
US11941425B2 (en) * 2019-10-21 2024-03-26 Ping Identity International, Inc. Systems and methods for tuning containers in a high availability environment
US20240126782A1 (en) * 2022-10-12 2024-04-18 Oracle International Corporation Configuration and management of replication units for asynchronous database transaction replication

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US9311367B2 (en) * 2005-03-30 2016-04-12 Hewlett-Packard Development Company, L.P. Database extension structure
US20220365821A1 (en) * 2016-01-28 2022-11-17 Pure Storage, Inc. Fingerprint-Based Database Container Deployment
US12058207B2 (en) * 2021-01-25 2024-08-06 Ruckus Ip Holdings Llc Load balancing and secure tunneling for cloud-based network controllers

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740353B2 (en) * 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US20200409804A1 (en) * 2016-06-27 2020-12-31 Mongodb, Inc. Systems and methods for monitoring distributed database deployments
US11941425B2 (en) * 2019-10-21 2024-03-26 Ping Identity International, Inc. Systems and methods for tuning containers in a high availability environment
KR102209044B1 (en) 2020-03-12 2021-01-29 주식회사 케이비시스 Cloud system having cloud native database structure
US20230038294A1 (en) * 2020-06-02 2023-02-09 Sap Se Interface custom resource definition for stateful service management of clusters
US11494509B2 (en) * 2020-06-19 2022-11-08 Salesforce.Com, Inc. Controlling just in time access to a cluster
KR20230097928A (en) * 2021-12-24 2023-07-03 숭실대학교산학협력단 Microservice-based distributed tracking apparatus and method
US20240126782A1 (en) * 2022-10-12 2024-04-18 Oracle International Corporation Configuration and management of replication units for asynchronous database transaction replication

Also Published As

Publication number Publication date
KR102899697B1 (en) 2025-12-15

Similar Documents

Publication Publication Date Title
CN112099918B (en) Live migration of clusters in containerized environments
EP3218810B1 (en) Virtual machine cluster backup
US10447806B1 (en) Workload scheduling across heterogeneous resource environments
CN106716360B (en) System and method for supporting patch patching in a multi-tenant application server environment
US20200028935A1 (en) Workload rebalancing in heterogeneous resource environments
Campbell et al. Extreme scale with full sql language support in microsoft sql azure
CN113569987A (en) Model training method and device
US12450082B2 (en) Managing storage domains, service tiers, and failed servers
JP2020021277A (en) Information processing system, managing method for information processing system, and program
CN102523101A (en) Machine manager service fabric
US11675678B1 (en) Managing storage domains, service tiers, and failed service tiers
CN111343219B (en) Computing service cloud platform
US11972266B2 (en) Hibernating and resuming nodes of a computing cluster
CN113312145A (en) Container scheduling method and device, electronic equipment and medium
US11757697B2 (en) System and method of distributed edge configuration management
JP2014044553A (en) Program, information processing device, and information processing system
US9148430B2 (en) Method of managing usage rights in a share group of servers
US10884881B2 (en) Scale-out storage system and configuration information control method for implementing high-availability, high-speed failover
KR102899701B1 (en) Cloud bases open database management platform and program performing cloud based open database managing method
US20250110780A1 (en) System and method for multi-cluster orchestration
Carson et al. Mandrake: Implementing durability for edge clouds
CN119415106A (en) Cloud native software delivery method, system and electronic device
CN115037757B (en) A multi-cluster service management system
CN114896149B (en) Distributed automated testing device, method, equipment and medium based on microservice architecture
WO2016174739A1 (en) Multicomputer system, management computer, and data linkage management method

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13 Pre-grant limitation requested

Free format text: ST27 STATUS EVENT CODE: A-2-3-E10-E13-LIM-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13 Application amended

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P13-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R11 Change to the name of applicant or owner or transfer of ownership requested

Free format text: ST27 STATUS EVENT CODE: A-3-3-R10-R11-ASN-PN2301 (AS PROVIDED BY THE NATIONAL OFFICE)

R13 Change to the name of applicant or owner recorded

Free format text: ST27 STATUS EVENT CODE: A-3-3-R10-R13-ASN-PN2301 (AS PROVIDED BY THE NATIONAL OFFICE)

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-3-3-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13 Application amended

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P13-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

D22 Grant of ip right intended

Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

F11 Ip right granted following substantive examination

Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)