KR20100132752A - Distributed data processing system - Google Patents
Distributed data processing system Download PDFInfo
- Publication number
- KR20100132752A KR20100132752A KR1020090051515A KR20090051515A KR20100132752A KR 20100132752 A KR20100132752 A KR 20100132752A KR 1020090051515 A KR1020090051515 A KR 1020090051515A KR 20090051515 A KR20090051515 A KR 20090051515A KR 20100132752 A KR20100132752 A KR 20100132752A
- Authority
- KR
- South Korea
- Prior art keywords
- database
- sql
- local
- data
- query
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Abstract
Description
본 발명은 데이터베이스(DataBase) 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산처리시스템에 관한 것이다. 특히 본 발명은 DB 분산을 통한 서비스 병목 구간을 해소하고 최적의 시스템 성능을 유지하며 시스템의 유지보수를 위한 비용이나 시간, 인원 등을 최소화할 수 있도록 하는 질의 데이터 분산 처리시스템에 관한 것이다.The present invention relates to a query data distribution processing system for improving service performance through database distribution. In particular, the present invention relates to a query data distribution processing system for eliminating service bottlenecks through DB distribution, maintaining optimal system performance, and minimizing cost, time, and personnel for system maintenance.
일반적으로, 데이터베이스(database)에는 서로 관련 있는 데이터들이 저장되어 있는데, 데이터베이스에 저장된 데이터들은 필요시마다 최신의 데이터로 갱신, 삽입, 삭제되어야 한다. 이를 위해 데이터베이스는 DBMS(DataBase Management System)라는 소프트웨어 시스템에 의해 관리되고 있는데, DBMS는 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터를 공유할 수 있도록 여러 응용 프로그램들이 사용하는 데이터를 하나의 공간에 모아 유지하고 관리해주는 소프트웨어이다. 즉, DBMS는 응용 프로그램들이 원하는 데이터를 검색하거나 변경하여 언제나 일관성 있는 결과를 응용 프로그램에 제공해주는 종합적인 데이터 관리시스 템이다.In general, a database stores related data. The data stored in the database should be updated, inserted, and deleted with the latest data whenever necessary. For this purpose, a database is managed by a software system called a database management system (DBMS), which is a mediator of applications and data, which puts data used by multiple applications in a single space so that all applications can share data. Software that collects, maintains, and manages. In other words, DBMS is a comprehensive data management system that provides applications with consistent results by searching for and changing the data they want.
이러한 DBMS는 SQL(구조화 질의어, Structured Query Language)를 이용하여 여러 사용자가 데이터베이스 내의 데이터를 검색하거나 관리할 수 있도록 한다. SQL은 데이터 정의어(DDL)와 데이터 조작어(DML)를 포함한 데이터베이스용 질의언어(query language)의 하나이다. 이 SQL은 특정한 데이터베이스 관리시스템에 한정되지 않아 널리 사용되고 있다. 초기에는 IBM의 관계형 데이터베이스인 시스템에서만 사용되었으나, 지금은 다른 데이터베이스에서도 널리 사용되고 있다.These DBMSs use Structured Query Language (SQL) to allow multiple users to search or manage data in the database. SQL is one of the query languages for databases, including data definition words (DDL) and data manipulation words (DML). This SQL is widely used because it is not limited to a specific database management system. It was initially used only on systems that were IBM's relational database, but is now widely used in other databases.
SQL은 관계 매핑(relational mapping)을 기초로 한 대표적인 언어로서 입력 관계로부터 원하는 출력 관계를 매핑시키는 언어이다. 이 같은 언어로는 1973년 SQUARE(structured queries asrelational expressions)가 발표되었는데 수학적인 표현이 많아 초보자가 사용하기는 어려웠다. 이것을 기초로 1974년 SEQUEL(structured english as query language)이 IBM의 새너제이(SanJose) 연구소에서 만들어졌으며, 다시 이것을 개선하여 1976년 SEQUEL 2가 발표되었다. 이 SEQUEL 2를 기초로 한 시스템인 시스템 R, 오라클(Oracle) 등이 나오면서 SQL로 알려지게 되었다.SQL is a representative language based on relational mapping. It is a language for mapping desired output relations from input relations. In 1973, structured queries asrelational expressions (SQUARE) were published in 1973. Mathematical expressions were difficult for beginners to use. Based on this, structured english as query language (SEQUEL) was created at SanJose Laboratories in IBM in 1974. It was further refined and SEQUEL 2 was released in 1976. The system, based on SEQUEL 2, called System R and Oracle, became known as SQL.
SQL은 단순한 질의 기능뿐만 아니라 완전한 데이터 정의 기능과 조작 기능을 갖추고 있다. 또 각종 온라인 단말기를 통해 대화식으로 사용할 수도 있고 코볼이나 PL/I, C 등의 호스트 언어로 된 프로그램에 삽입되어서 사용되기도 한다. SQL은 장치 독립적이고 액세스(access) 경로에 대해서는 어떠한 참조도 하지 않으며, 개개의 레코드보다는 레코드의 집합인 테이블을 단위로 연산을 수행한다. 또한, SQL 은 영어 문장과 비슷한 구문으로 되어 있어서 초보자들도 비교적 쉽게 사용할 수 있다.SQL has not only simple query capabilities, but also complete data definition and manipulation capabilities. It can be used interactively through various online terminals, or inserted into programs in host languages such as COBOL, PL / I, and C. SQL is device independent and does not make any reference to access paths. It performs operations on tables, which are sets of records rather than individual records. In addition, SQL is a syntax similar to English sentences, so even beginners can use it relatively easily.
도1은 DBMS를 구비한 종래의 질의 데이터 분산 처리 시스템을 보인 것으로서 인터넷 접속이 가능한 다양한 단말기를 사용하는 이용자(101)들의 요구(request)에 따라 APACHE나 웹 로직(Weblogic) 등과 같은 웹 서비스 플랫폼(102)을 통해 데이터베이스 플랫폼(103)의 여러 데이터베이스 관리시스템에 저장되어 있는 데이터들이 검색하여 이용자(101)들에게 제공하는 시스템이다.FIG. 1 shows a conventional query data distribution processing system having a DBMS. The web service platform such as APACHE or WebLogic is used according to the requests of
하지만 이용자의 대용량 질의나 접속량 증가, 신규 서비스, 잘못된 질의 등으로 인해 데이터 트래픽의 증가로 웹 서비스 플랫폼과 데이터베이스 플랫폼 간에 병목 구간이 발생하여 장애를 유발한다.However, the increase in data traffic due to large user queries, increased connection volume, new services, and incorrect queries causes bottlenecks between the web service platform and the database platform.
특히, 인터넷 사용자(이용자)의 증가로 인한 대용량 인터넷 포털 사이트의 순간 접속률이 증가하거나, 다수의 사용자 접속에 대한 응답을 안정적으로 처리해야 하는 대용량 포털 사이트의 경우, DB로의 순간 접속률 과다 시에 WAS와 DB 구간의 병목현상이 장애의 대부분을 차지한다.In particular, in case of large portal sites that increase the instantaneous access rate of large-scale Internet portal sites due to the increase of Internet users (users), or have to process the response to a large number of user connections stably, WAS and The bottleneck in the DB section accounts for most of the disorders.
그 일 예로서 음악 포털의 경우에는 DB 시스템의 대용량화로 인해 시스템 구축비용과 유지보수를 위한 비용이 과다하게 지출되는 한편 이용자의 급변하는 서비스 요구사항으로 인해 초기의 DB 설계 컨셉이 붕괴되어 복잡한 질의(Query) 사용 남발로 인한 WAS와 DB간의 펜딩(pending) 현상이 발생한다.For example, in the case of the music portal, the large capacity of the DB system causes excessive system construction costs and maintenance costs, while the initial DB design concept collapses due to the rapidly changing service requirements of users. Pending phenomenon between WAS and DB occurs due to excessive use of Query.
이에 종래에는 과부하 질의를 유도하는 페이지(page)의 경우 일정시간 간격을 두어 시스템(corn) 또는 수동적으로 HTML로 제너레이팅(generating)함으로써 순 수 HTML로 작성된 페이지는 DB를 거치지 않고 웹(WAS) 서버단에서만 처리하였으나, 이는 소스 코드 수정을 필요로 하여 요구사항 변경에 따른 작업량을 적용하기 어렵다.Therefore, in the case of a page that induces an overload query, a page written in pure HTML is generated through a system or manually generated by HTML at a predetermined time interval, without passing through a DB. However, it only handled, but it requires modification of source code, so it is difficult to apply the workload according to requirement change.
또 다른 예로서, CBS의 경우에는 평소에는 이용자의 요구가 거의 없으나, 긴급 재난 등과 같은 특별한 상황이 발생하였을 때 과도한 데이터 트래픽이 발생하므로 시스템의 과도한 증설이 어렵다.As another example, in the case of CBS, there is almost no user demand, but excessive data traffic is generated when a special situation such as an emergency disaster occurs.
이에 종래에는 긴급 상황에서 질의되는 DB 데이터를 WAS로 부하를 전가하였으나, 이는 소스 코드 수정을 필요로 하여 요구사항 변경에 따른 작업량을 적용하기 어렵고, 메모리 부하로 인한 대용량의 데이터 처리에는 비현실적인 문제점이 있다.Therefore, in the past, the load of DB data queried in an emergency situation was transferred to the WAS, but it is difficult to apply the workload according to the requirement change due to the source code modification, and there is an unrealistic problem in processing a large amount of data due to the memory load. .
마지막 예로는, 대용량 모바일 메뉴 시스템(mobile menu system)의 경우에는 메뉴 시스템의 특성상 디스플레이되는 이미지와 이에 설정되어 있는 이미지 맵정보가 과다하다. 단일 메뉴만을 디스플레이하는 경우에도 과도한 DB 트래픽이 발생하기도 한다.Lastly, in the case of a large-capacity mobile menu system, the displayed image and the image map information set therein are excessive due to the characteristics of the menu system. Even if only a single menu is displayed, excessive DB traffic may occur.
이에 종래에는 이미지 제너레이터를 사용하여 과다한 이미지 정보를 메뉴 설정과정에서 XHTML로 변경하였으나, 이는 이미지 제너레이터 도입 및 시스템 구축비용이 과다하게 증가하고, 실시간으로 이미지 제너레이팅 처리가 되지 않아 이미지 제너레이팅이 과도한 시스템 부하를 유도하여 별도의 서버에서 배치(batch) 작업으로 처리해야 한다.In the past, an excessive amount of image information was changed to XHTML in the menu setting process using an image generator. However, the image generator is excessively increased due to the excessive cost of introducing the image generator and the system construction, and the image generation process is not processed in real time. Induce load and process it as a batch job on a separate server.
상기한 바와 같은 종래의 문제점을 해결하기 위한 본 발명은 상대적으로 사용량이 적은 사용자 요구를 받아들이고 데이터베이스와 연결하는 시스템(웹 응용 서버(Web Application Server)나 웹 서버(Web Server) 또는 별의 응용서버(Application Server) 등이 있으며, '이하 미들웨어?씜첵뵀?'이라 한다.)로 데이터 트래픽(traffic)을 분산시켜 DB 자원의 사용률을 증가시킬 수 있도록 하는데 그 목적이 있다.The present invention for solving the conventional problems as described above is a system (Web Application Server (Web Application Server) or Web Server (Web Server) or a separate application server that accepts a relatively low user demand and connects to the database) Application Server), which is referred to as 'middleware', to distribute data traffic and increase the utilization of DB resources.
또한 본 발명은 미들웨어 시스템에 파일 DB를 배치하여 신규 하드웨어의 증설이나 추가 개발 없이도 데이터 처리속도를 향상시켜 이용자에 대한 데이터 서비스의 안정성을 도모할 수 있도록 하는데 그 목적이 있다.In addition, an object of the present invention is to arrange the file DB in the middleware system to improve the data processing speed without expanding or additional development of new hardware, thereby improving the stability of the data service to the user.
상기한 바와 같은 목적을 달성하기 위한 본 발명에 의한 DB 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리 시스템은, WEB/WAP폰/스마트 폰/PDA 등의 매개체를 이용하여 인터넷 통신이 가능한 이용자 및 가입자, WEB/WAP 서버 1, WEB/WAP 서버 2, WAS 1, WAS2 등을 포함하는 WEB/WAP 서비스 서버(210)를 구비한 미들웨어 시스템(200)과, ORACLE, SYBASE, MSSQL, MYSQL 등의 데이터베이스 관리시스템(310)을 구비한 데이터베이스 플랫폼(300)을 포함하는 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리 시스템에 있어서, 상기 미들웨어 시스템에는 설정된 SQL 구문을 분석하여 파라미터에 각 분산 조건 값을 설정하고 SQL에 대하여 로컬 파일에 저장할 테이블을 생성하고 로컬 파일 조회구문을 자 동 생성하는 세터라이트가 탑재되는 것을 특징으로 한다.Query data distribution processing system for improving service performance through the DB distribution according to the present invention for achieving the above object, the user who can communicate with the Internet using a medium such as WEB / WAP phone / smart phone / PDA and the like;
상기 세터라이트는 세터라이트(220)의 시작 및 종료 등 전체적인 솔루션 운영과 리얼 데이터베이스(Real Database)와 로컬(Local Database)의 DB 접속을 관리하고, 세터라이트 솔루션의 전체적인 로깅(loging)을 처리하는 설정 파일을 로드하는 서비스 관리자와, 리얼 데이터베이스의 SQL에 해당하는 메타 데이터(Meta Data)를 조회하고, 리얼 데이터베이스 SQL의 수행결과를 저장할 로컬 데이터베이스(local Database) SQL을 생성하는 리얼 데이터베이스 SQL의 메타 데이터를 분석하여 로컬 데이터베이스에 데이터베이스와 테이블을 생성하는 구성요소로서 로컬 데이터 베이스에서 수행될 처리를 담당하는 로컬 파일 캐싱부와, 리얼 데이터베이스 데이터를 조회하고, 리얼 데이터베이스에서 데이터를 조회시 해당 SQL 조회 처리를 리얼 데이터베이스로 릴레이하며, 데이터베이스에서 데이터 조회가 완료되면 해당 SQL 조회처리를 로컬 데이터베이스로 릴레이하는 상기 리모트/로컬 데이터 동기화기와, 리얼 데이터베이스와 로컬 데이터베이스의 2개의 접속을 래핑하여 관리하고, 리얼 데이터베이스 SQL을 통해 로컬 데이터베이스 SQL을 매핑하며, 리얼 데이터베이스 SQL을 대신할 로컬 데이터베이스 SQL을 생성하며, 로컬 데이터베이스 SQL의 실행을 관리하는 SQL 매핑부와, 리얼 데이터베이스 SQL을 수집하여 수행시간이 많이 걸리는 SQL을 관리자에게 노티(noti)하고, 리얼 데이터베이스 SQL을 각 구문별로 분석하는 SQL 분석기와, 설정된 리얼 데이터베이스 SQL의 동기화 주기를 분석하고, 해당 동기화 주기가 되면 데이터 동기화기를 실행하여 리얼 데이터베이스와 로컬 데이터베이스의 데이터를 동기화시키는 데이터 동기화 스케줄러를 포함하 는 것을 특징으로 한다.The setter is configured to manage the overall solution operation such as the start and stop of the
상기 세터라이트는 구성관리자(configuration manager), 데이터베이스 접속 관리자(database connection manger), 로그 관리자(log manger) 및 서비스 관리자(service manger)로 구성되는 서비스 관리자와, 데이터베이스 메타 데이터 페춰(database meta data fetcher), 로컬 데이터베이스 제너레이터(local database generator), 로컬 데이터베이스 질의 제너레이터(local database query generator) 및 로컬 데이터베이스 엑서큐터(local database executor)로 구성되는 로컬 파일 캐싱부와, 데이터베이스 데이터 관리자(database data manager), 로컬 데이터베이스 데이터 관리자(local database data manager), 로컬 데이터베이스 SQL 모니터(local database SQL monotor) 및 데이터베이스 SQL 모니터(database SQL monitor)로 구성되는 리모트/로컬 데이터 동기화기와, 데이터베이스 접속 래퍼(database connection wrapper), DM 질의 번역기(DB query translator), 로컬 DB 질의 제너레이터(local DB query generator) 및 로컬 DB 엑서큐터(local DB executor)로 구성되는 SQL 매핑부와, 데이터베이스 SQL 게더링(database SQL gathering) 및 데이터베이스 SQL 분석기(database SQL analyzer)로 구성되는 SQL 분석기 그리고 스케줄러 분석기(schedule analyzer) 및 스케줄러 엑서큐터(schedule executer)로 구성되는 데이터 동기화 스케줄러(226)를 포함하는 것을 특징으로 한다.The setterlight includes a service manager including a configuration manager, a database connection manager, a log manager, and a service manager, and a database meta data fetcher. A local file caching unit consisting of a local database generator, a local database query generator, and a local database executor, a database data manager, a local database Remote / local data synchronizer consisting of a local database data manager, a local database SQL monotor, and a database SQL monitor, database connection wrapper, and DM query translator. (DB query translat or), SQL DB consisting of local DB query generator and local DB executor, database SQL gathering and database SQL analyzer And a
또한 본 발명에 의한 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템은, 다수의 사용자의 요청에 따라 미들웨어 시스템을 통 해 다수의 데이터베이스 관리시스템의 데이터를 검색하여 데이터 요청자에게 제공하는 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리 시스템에 있어서, SQL 설정을 요청하는 제1단계; 상기 미들웨어 시스템 내의 세터라이트에 의해 SQL 구문을 분석하는 제2단계; 상기 SQL 구문에 파라미터가 있는가를 확인하는 제3단계; 조건절에 해당하는 파라미터에 각 분산 조건값을 설정하는 제4단계; 및 상기 SQL에 대하여 로컬 파일에 저장할 테이블을 생성하고 로컬 파일 조회구문을 자동 생성하는 제5단계;를 포함하는 것을 특징으로 한다.In addition, the query data distribution processing system for improving service performance through the database distribution according to the present invention, the database distributed by retrieving the data of the plurality of database management system through the middleware system according to the request of a plurality of users to provide to the data requestor Claims [1] A query data distribution processing system for improving service performance through the following steps, comprising: a first step of requesting SQL setting; A second step of parsing an SQL statement by a setter in the middleware system; Checking whether there is a parameter in the SQL statement; A fourth step of setting each dispersion condition value to a parameter corresponding to the condition clause; And a fifth step of generating a table to be stored in a local file with respect to the SQL and automatically generating a local file query syntax.
따라서 본 발명에 의하면, 본 발명은 상대적으로 사용량이 적은 미들웨어 시스템으로 DB 트래픽을 분산시켜 DB 리소스 사용량을 줄일 수 있고, 웹 서버시스템의 로컬 파일 DB(local file DB)를 이용하여 처리속도를 향상시켜 전체적인 서비스의 안정성 및 신뢰성을 향상시킬 수 있는 효과가 있다.Therefore, according to the present invention, the present invention can reduce DB resource usage by distributing DB traffic to a relatively low usage middleware system, and improve processing speed by using a local file DB of a web server system. There is an effect to improve the stability and reliability of the overall service.
또한 본 발명은 신규한 하드웨어의 증설이나 및 추가 개발 없이 웹 서버와 데이터베이스 관리시스템의 부하(load)를 분산시켜 각 데이터베이스 관리시스템과 웹 서버의 데이터 처리속도를 향상시킬 수 있는 효과가 있다. 즉, 본 발명은 데이터베이스 관리시스템의 CPU의 사용량을 50% 정도 감소시킬 수 있다.In addition, the present invention has the effect of improving the data processing speed of each database management system and the web server by distributing the load (load) of the web server and database management system without the addition of new hardware and additional development. That is, the present invention can reduce the CPU usage of the database management system by 50%.
그리고 본 발명은 DB 서버의 사용량을 낮추고 미들웨어 시스템의 사용량이 일정 수치까지 높아지면서 시스템 구성상에서 사용률이 60~100% 이상으로 향상 즉, 미들웨어 시스템 및 DB 서버의 시스템 성능을 극대화할 수 있는 효과가 있다.In addition, the present invention has the effect of maximizing the system performance of the middleware system and the DB server by lowering the usage of the DB server and increasing the usage of the middleware system to a certain number, increasing the utilization rate to 60 to 100% or more in the system configuration. .
도2는 본 발명에 의한 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리 시스템의 일 예를 보인 구성도이고, 도3은 도2에 개시된 세터라이트(satellite)의 내부 구성도이며, 도4는 세터라이트를 포함하는 질의 데이터 분산 처리시스템의 작동상태를 보인 흐름도이며, 도5는 TPS 변화에 따른 시스템 리소스(resource)의 변화를 보인 그래프이다.FIG. 2 is a block diagram showing an example of a query data distribution processing system for improving service performance through database distribution according to the present invention. FIG. 3 is an internal block diagram of satellites disclosed in FIG. FIG. 5 is a flowchart illustrating an operation state of a query data distribution processing system including a setter, and FIG. 5 is a graph showing a change in system resources according to a change in TPS.
도2는 본 발명에 의한 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리 시스템의 일 예를 보인 것으로서 WEB 가입자(110)나 WAP 폰 이용자나 스마트폰 이용자, PDA 이용자 등의 모바일 가입자(120) 등을 포함하는 인터넷 통신이 가능한 가입자(100); WEB/WAP 서버 1, WEB/WAP 서버 2, WAS 1, WAS2 등을 포함하는 WEB/WAP 서비스 서버(210)와, 설정된 SQL 구문을 분석하여 파라미터에 각 분산 조건값을 설정하고 SQL에 대하여 로컬 파일에 저장할 테이블을 생성하고 로컬 파일 조회구문을 자동 생성하는 세터라이트(220)가 탑재된 미들웨어 시스템(200); 및 ORACLE, SYBASE, MSSQL, MYSQL 등의 데이터베이스 관리시스템(310)을 구비한 데이터베이스 플랫폼(300) 등으로 구성된다.Figure 2 shows an example of a query data distribution processing system for improving service performance through database distribution according to the present invention, the
도3은 도2에 개시된 자바 버츄얼 머신(java virtual machine) 기반의 세터라이트(220)(satellite)의 내부 구성도로서 관리자 툴(Administrator Tools)이 탑재된 세터라이트(220)는 서비스 관리자(221)(service manager)와 로컬 파일 캐싱부(222)(local file caching part), 리모트/로컬 데이터 동기화기(223)(remote-local data synchronizer), SQL 매핑부(224)(SQL mapping part), SQL 분석기(225)(SQL analyzer), 데이터 동기화 스케줄러(226)(data synchronize scheduler) 등과 함께 관리자 툴(administrator tools)로 구성된다.FIG. 3 is an internal configuration diagram of the satellite virtual machine based on the java virtual machine disclosed in FIG. 2. The
여기서, 서비스 관리자(221)는 구성관리자(configuration manager), 데이터베이스 접속 관리자(database connection manger), 로그 관리자(log manger), 서비스 관리자(service manger) 등으로 이루어진 것으로서 세터라이트(220)의 시작 및 종료 등 전체적인 솔루션 운영과 리얼 데이터베이스(Real Database)와 로컬(Local Database)의 DB 접속을 관리한다. 또한 서비스 관리자(221)는 세터라이트(220) 솔루션의 전체적인 로깅(loging)을 처리하고, 설정 파일을 로드한다.Here, the
상기 로컬 파일 캐싱부(222)는 데이터베이스 메타 데이터 페춰(database meta data fetcher), 로컬 데이터베이스 제너레이터(local database generator), 로컬 데이터베이스 질의 제너레이터(local database query generator), 로컬 데이터베이스 엑서큐터(local database executor) 등으로 이루어진 것으로서 리얼 데이터베이스의 SQL에 해당하는 메타 데이터(Meta Data)를 조회하고, 리얼 데이터베이스 SQL의 수행결과를 저장할 로컬 데이터베이스(local Database) SQL을 생성한다. 또한 로컬 파일 캐싱부(222)는 리얼 데이터베이스 SQL의 메타 데이터를 분석하여 로컬 데이터베이스에 데이터베이스와 테이블을 생성하는 구성요소로서 로컬 데이터 베이스에서 수행될 처리를 담당한다.The local
상기 리모트/로컬 데이터 동기화기(223)는 데이터베이스 데이터 관리자(database data manager), 로컬 데이터베이스 데이터 관리자(local database data manager), 로컬 데이터베이스 SQL 모니터(local database SQL monotor), 데이터베이스 SQL 모니터(database SQL monitor) 등으로 이루어진 것으로서 리얼 데이 터베이스 데이터를 조회하고, 리얼 데이터베이스에서 데이터를 조회시 해당 SQL 조회 처리를 리얼 데이터베이스로 릴레이하며, 데이터베이스에서 데이터 조회가 완료되면 해당 SQL 조회처리를 로컬 데이터베이스로 릴레이한다.The remote /
상기 SQL 매핑부(224)는 데이터베이스 접속 래퍼(database connection wrapper), DM 질의 번역기(DB query translator), 로컬 DB 질의 제너레이터(local DB query generator), 로컬 DB 엑서큐터(local DB executor) 등으로 이루어진 것으로서 리얼 데이터베이스와 로컬 데이터베이스의 2개의 접속을 래핑하여 관리하고, 리얼 데이터베이스 SQL을 통해 로컬 데이터베이스 SQL을 매핑한다. 또한 SQL 매핑부(224)는 리얼 데이터베이스 SQL을 대신할 로컬 데이터베이스 SQL을 생성하고, 로컬 데이터베이스 SQL의 실행을 관리한다.The
상기 SQL 분석기(225)는 데이터베이스 SQL 게더링(database SQL gathering), 데이터베이스 SQL 분석기(database SQL analyzer) 등으로 이루어진 것으로서 리얼 데이터베이스 SQL을 수집하여 수행시간이 많이 걸리는 SQL을 관리자에게 노티(noti)하고, 리얼 데이터베이스 SQL을 각 구문별로 분석한다.The
상기 데이터 동기화 스케줄러(226)는 스케줄러 분석기(schedule analyzer), 스케줄러 엑서큐터(schedule executer) 등으로 이루어진 것으로서 설정된 리얼 데이터베이스 SQL의 동기화 주기를 분석하고, 해당 동기화 주기가되면 데이터 동기화기를 실행하여 리얼 데이터베이스와 로컬 데이터베이스의 데이터를 동기화시킨다.The
여기서 관리자 툴은 로컬 데이터베이스와 리얼 데이터베이스 관리시스템 리소스 사용율 모니터링을 지원하고 실시간 데이터베이스 트랜잭션(Transaction) 분 석기능을 지원한다. 또한 관리자 툴은 리얼 데이터베이스 SQL을 설정하는 기능을 제공하고, 다양 리포팅 기능을 지원한다.The administrator tool supports local database and real database management system resource utilization monitoring and real-time database transaction analysis. The administrator tool also provides the ability to configure real database SQL and supports various reporting features.
도4는 세터라이트를 포함하는 일례의 질의 데이터 분산 처리 시스템의 작동상태를 보인 것으로서 다수의 가입자의 요청에 따라 미들웨어 시스템을 통해 다수의 데이터베이스 관리시스템의 데이터를 검색하여 가입자에게 제공하는 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템에 있어서, SQL 설정을 요청하는 제1단계와, 상기 미들웨어 시스템 내의 세터라이트에 의해 SQL 구문을 분석하는 제2단계와, 상기 SQL 구문에 파라미터가 있는가를 확인하는 제3단계와, 조건절에 해당하는 파라미터에 각 분산 조건값을 설정하는 제4단계 그리고 상기 SQL에 대하여 로컬 파일에 저장할 테이블을 생성하고 로컬 파일 조회구문을 자동 생성하는 제5단계;를 수행한다.4 is a view illustrating an operation of an example query data distribution processing system including a setter light. In accordance with a request of a plurality of subscribers, a middleware system retrieves data from a plurality of database management systems and provides a subscriber with a database distribution. A query data distribution processing system for improving service performance, comprising: a first step of requesting an SQL setting, a second step of parsing an SQL syntax by a setter in the middleware system, and checking whether a parameter exists in the SQL statement A third step, a fourth step of setting each distributed condition value in a parameter corresponding to a conditional clause, and a fifth step of generating a table to be stored in a local file for the SQL and automatically generating a local file query syntax.
도5는 TPS 변화에 따른 시스템 리소스의 변화를 보인 그래프로서 데이터베이스 관리시스템의 CPU 사용량을 약 50% 정도 감속시킴으로써 웹서비스 서버와 데이터베이스 관리시스템의 부하(load)가 분산되어 각 데이터베이스 관리시스템과 웹 서비스 서버의 처리속도가 향상되고, DB 서버의 사용량을 낮추고 WAS의 사용량은 일정 수치로 높아지면서 시스템 구성상에서 사용율을 60~100% 정도로 높임으로써 WAS 및 DB 서버의 시스템 성능이 극대화된다.5 is a graph showing a change in system resources according to TPS changes, and the CPU usage of the database management system is reduced by about 50%, so that the loads of the web service server and the database management system are distributed to each database management system and the web service. The processing speed of the server is improved, the usage of the WAS and DB server are maximized by lowering the usage of the DB server and increasing the usage of the WAS to a certain number.
위의 본 발명의 실시 예에서는 미들웨어 시스템 중 웹 서비스 플랫폼에 세터라이트가 탑재된 것을 실시 예로 설명하였으나, 본 발명은 이에 한정되지 않고 뉴 비즈니스 서비스(New Business Service), 중/대용량 서비스, 다수의 저용량 서비 스, 컴뮤니터 서비스, 블로그 & SNS 서비스, 디지털 컨텐츠 서비스 등과 같은 서비스를 하는 경우와 같이 데이터베이스 관리시스템으로의 과부하를 유도하는 모든 시스템에 세터라이트를 탑재할 수 있다.In the above-described embodiment of the present invention, the setterlight is installed in the web service platform among the middleware systems as an exemplary embodiment, but the present invention is not limited thereto, and a new business service, a medium / large capacity service, and a plurality of low-capacity Setterlight can be installed in any system that induces an overload of the database management system, such as services such as service, communicator service, blog & SNS service, and digital content service.
본 발명은 상기에서 도면을 참조하여 특정 실시 예에 관련하여 상세히 설명하였지만, 본 발명은 이와 같은 특정 구조에 한정되는 것은 아니다. 당 업계의 통상의 지식을 가진 자라면 이하의 특허청구범위에 기재된 본 발명의 기술 사상 및 권리범위를 벗어나지 않고서도 본 발명의 실시 예를 다양하게 수정 또는 변경시킬 수 있을 것이다.Although the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such a specific structure. Those skilled in the art will be able to variously modify or change the embodiments of the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.
도1은 종래의 질의 데이터 처리 시스템을 보인 구성도이다.1 is a block diagram showing a conventional query data processing system.
도2는 본 발명에 의한 DB 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리 시스템을 보인 구성도이다.2 is a block diagram showing a query data distribution processing system for improving service performance through DB distribution according to the present invention.
도3은 도2에 개시된 세터라이트(satellite)의 내부 구성도이다.FIG. 3 is a diagram illustrating an internal configuration of the satellite described in FIG. 2.
도4는 세터라이트를 포함하는 일 예의 질의 데이터 분산 처리 시스템의 작동상태를 보인 흐름도이다.4 is a flow chart showing an operating state of an example query data distribution processing system including a satellite.
도5는 TPS 변화에 따른 시스템 리소스의 변화를 보인 그래프이다.5 is a graph showing changes in system resources according to TPS change.
- 도면의 주요부분에 대한 부호의 설명-Explanation of symbols for the main parts of the drawings
100 : 가입자 110 : WEB 가입자100: subscriber 110: WEB subscriber
120 : 모바일 가입자 200 : 미들웨어 시스템120: Mobile Subscriber 200: Middleware System
210 : WEB/WAP 서비스 서버 220 : 세터라이트210: WEB / WAP Service Server 220: Setter Lite
221 : 서비스 관리자 222 : 로컬 파일 캐싱부221: service manager 222: local file caching unit
223 : 리모트-로컬 데이터 동기화기 224 : SQL 매핑부223: remote-local data synchronizer 224: SQL mapping unit
225 : SQL 분석기 226 : 데이터 동기화 스케줄러225: SQL Analyzer 226: Data Synchronization Scheduler
300 : 데이터베이스 관리시스템300: database management system
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090051515A KR20100132752A (en) | 2009-06-10 | 2009-06-10 | Distributed data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090051515A KR20100132752A (en) | 2009-06-10 | 2009-06-10 | Distributed data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100132752A true KR20100132752A (en) | 2010-12-20 |
Family
ID=43508309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090051515A KR20100132752A (en) | 2009-06-10 | 2009-06-10 | Distributed data processing system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100132752A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101365464B1 (en) * | 2012-03-05 | 2014-02-20 | 네이버비즈니스플랫폼 주식회사 | Data management system and method using database middleware |
KR20160092259A (en) * | 2015-01-27 | 2016-08-04 | 전북대학교산학협력단 | Middleware based cubrid, and method of processing distribute-parallel query using middleware |
CN106371846A (en) * | 2016-09-06 | 2017-02-01 | 上海天旦网络科技发展有限公司 | Rapid development method and business system based on network data and message-oriented middleware |
WO2019164328A1 (en) * | 2018-02-22 | 2019-08-29 | 한국전자통신연구원 | Method for controlling operation of terminal in wireless distributed communication system |
WO2019189962A1 (en) * | 2018-03-27 | 2019-10-03 | 주식회사 리얼타임테크 | Query parallelizing method for data having copy existing in distribution database |
-
2009
- 2009-06-10 KR KR1020090051515A patent/KR20100132752A/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101365464B1 (en) * | 2012-03-05 | 2014-02-20 | 네이버비즈니스플랫폼 주식회사 | Data management system and method using database middleware |
KR20160092259A (en) * | 2015-01-27 | 2016-08-04 | 전북대학교산학협력단 | Middleware based cubrid, and method of processing distribute-parallel query using middleware |
CN106371846A (en) * | 2016-09-06 | 2017-02-01 | 上海天旦网络科技发展有限公司 | Rapid development method and business system based on network data and message-oriented middleware |
WO2019164328A1 (en) * | 2018-02-22 | 2019-08-29 | 한국전자통신연구원 | Method for controlling operation of terminal in wireless distributed communication system |
WO2019189962A1 (en) * | 2018-03-27 | 2019-10-03 | 주식회사 리얼타임테크 | Query parallelizing method for data having copy existing in distribution database |
KR20190113055A (en) * | 2018-03-27 | 2019-10-08 | 주식회사 리얼타임테크 | Method for parallel query processing of data comprising a replica in distributed database |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347761B1 (en) | System and methods for distributed database query engines | |
US20200183932A1 (en) | Optimizing write operations in object schema-based application programming interfaces (apis) | |
CN110032604B (en) | Data storage device, translation device and database access method | |
CN109063196B (en) | Data processing method and device, electronic equipment and computer readable storage medium | |
US11907246B2 (en) | Methods, systems, and computer readable mediums for performing a free-form query | |
US9930113B2 (en) | Data retrieval via a telecommunication network | |
CN103338135A (en) | Real-time monitoring method of cluster storage capacity | |
KR20100132752A (en) | Distributed data processing system | |
US11507591B2 (en) | Methods, systems, and computer readable mediums for command engine execution | |
CN112416991A (en) | Data processing method and device and storage medium | |
US10997170B2 (en) | Local database cache | |
CN113127526A (en) | Distributed data storage and retrieval system based on Kubernetes | |
CN116578585B (en) | Data query method, device, electronic equipment and storage medium | |
CN114443599A (en) | Data synchronization method and device, electronic equipment and storage medium | |
CN110928938B (en) | Interface middleware system | |
CN114003580A (en) | Database construction method and device applied to distributed scheduling system | |
CN112527817A (en) | Information processing method, information processing apparatus, storage medium, and electronic device | |
Steinkamp et al. | HyDash: A dashboard for real-time business intelligence based on the hyPer Main memory database system | |
Ye et al. | Accessing and steering the elastic OLAP cloud | |
CN116719872A (en) | Database deployment method and database management platform | |
CN116361371A (en) | Data export method and device, computing equipment and storage medium | |
CN110908993A (en) | Method and device for analyzing reasonability of database index | |
CN117648086A (en) | Script file conversion method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |