KR101892067B1 - 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법 - Google Patents

관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법 Download PDF

Info

Publication number
KR101892067B1
KR101892067B1 KR1020170039027A KR20170039027A KR101892067B1 KR 101892067 B1 KR101892067 B1 KR 101892067B1 KR 1020170039027 A KR1020170039027 A KR 1020170039027A KR 20170039027 A KR20170039027 A KR 20170039027A KR 101892067 B1 KR101892067 B1 KR 101892067B1
Authority
KR
South Korea
Prior art keywords
log data
record
search
data
log
Prior art date
Application number
KR1020170039027A
Other languages
English (en)
Inventor
최재용
백성인
한혁
진성일
Original Assignee
주식회사 리얼타임테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 리얼타임테크 filed Critical 주식회사 리얼타임테크
Priority to PCT/KR2017/003328 priority Critical patent/WO2018182060A1/ko
Priority to KR1020170039027A priority patent/KR101892067B1/ko
Application granted granted Critical
Publication of KR101892067B1 publication Critical patent/KR101892067B1/ko

Links

Images

Classifications

    • G06F17/30368
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F17/30595
    • G06F17/30876

Landscapes

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

Abstract

본 발명은 대용량의 텍스트 로그데이터에 대해 인덱스를 구성하지 않고 일정 크기로 분할하여 저장하고, 분할 저장된 텍스트 로그데이터에서 패턴 매칭을 통해 검색조건을 만족하는 레코드 단위의 로그데이터를 생성함으로써, 보다 신속하게 로그데이터에 대한 저장 및 검색을 수행할 수 있는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법에 관한 것이다.
본 발명에 따른 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법은 업로드 관리장치에서 텍스트 로그데이터 파일에 대해 레코드 단위 로그데이터를 추출하고, 레코드 단위 로그데이터와 레코드 단위 로그데이터 사이에 레코드 구분자를 부가하여 레코드 단위의 로그데이터 스트림 형태의 업로드 데이터를 생성한 후, 이를 데이터베이스 서버의 로그데이터 테이블에 로우 단위로 저장하는 로그데이터 저장과정과, 데이터베이스 서버에서 검색요청 질의에 대해 다수의 검색 쓰레드를 생성하고, 각 검색 쓰레드에서 상기 로그데이터 테이블에 저장된 서로 다른 로우 단위의 로그데이터를 호출하여 검색 조건을 만족하는 키워드 및 레코드 구분자에 대한 패턴 매칭 처리를 수행함으로써, 검색 조건을 만족하는 키워드를 포함하는 레코드 단위의 로그데이터를 생성하는 로그데이터 검색과정을 포함하여 구성되는 것을 특징으로 한다.

Description

관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법 {METHOD FOR STORING AND SEARCHING OF TEXT LOGDATA BASED RELATIONAL DATABASE}
본 발명은 대용량의 텍스트 로그데이터에 대해 인덱스를 구성하지 않고 일정 크기로 분할하여 저장하고, 분할 저장된 텍스트 로그데이터에서 패턴 매칭을 통해 검색조건을 만족하는 레코드 단위의 로그데이터를 생성함으로써, 보다 신속하게 로그데이터에 대한 저장 및 검색 처리를 수행할 수 있도록 해 주는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법에 관한 것이다.
인터넷이 발전하면서, 인터넷상에서 사용자의 움직이는 행동양식, 예컨대 웹 사이트상에서 구매 및 거래한 기록 등의 정보들을 통합적으로 관리하여 보다 입체적으로 고객을 이해하고, 그 정보를 실시간으로 정리하는 프로세서의 구축이 필요하게 되었다.
이에, 인터넷을 이용하는 사용자들이 웹 서버를 통해 특정 웹 사이트에 접속하는 경우 이에 대한 텍스트 형태의 로그데이터인 웹 로그(Weblog)를 생성하여 저장하고, 저장된 웹 로그를 검색함으로써 사용자의 행동양식을 분석하는 기술이 발전하게 되었다.
상기한 웹 로그 등의 로그데이터는 웹 서버를 통해 이루어지는 사용자의 모든 작업에 대한 기록으로, 사용자의 요구에 의해 수행된 모든 작업에 대응하여 생성된 로그데이터는 미리 정해진 데이터 저장소에 저장하여 관리된다.
로그데이터의 크기가 방대해지고, 로그데이터에 대한 분석을 통한 빅데이터의 활용이 다양화되면서, 로그데이터를 저장 관리하기 위한 데이터 저장소에 대한 중요성도 부각되고 있다.
최근에는 데이터의 저장 및 검색이 용이하도록 설계된 관계형 데이터베이스(relational data base)를 이용하여 로그데이터가 저장 및 관리되고 있다.
관계형 데이터베이스는 도1에 도시된 바와 같이 다수의 컬럼(C1,C2..CN)과 로우(R1,R2,...) 구조의 정형화된 테이블로 구성된 데이터 항목들의 집합체로서, 그 데이터들은 데이터베이스 테이블을 재구성하지 않고 인덱스 생성을 통해 다양한 방법으로 접근하거나 조합될 수 있다. 통상 상기한 테이블은 로그데이터 정보 항목에 대응하여 컬럼수가 설정되고, 레코드 단위의 로그데이터의 수에 대응하여 로우 수가 설정된다. 즉, 상기 테이블에서 레코드 데이터는 곧 로우 데이터가 된다.
관계형 데이터베이스는 사용자와 관계형 데이터베이스를 연결시켜 주는 표준검색언어인 SQL 질의를 통해 테이블화된 데이터를 직접 조회하거나 또는 보고서를 추출할 수 있도록 구성된다.
그러나, 관계형 데이터베이스에서 제공하는 FTS(Full-Text Search) 기능을 수행함에 있어서, 인덱스 구성 시간이 오래 걸려 전체적인 패턴 매칭에 대한 수행 주기가 길고, 인덱스가 차지하는 용량이 크다는 단점이 있다.
또한, 상기한 관계형 데이터베이스에 있어서는 한 테이블당 하나의 컬럼에만 인덱스를 설정할 수 있기 때문에 FTS 기능 수행시 모든 컬럼에 대한 패턴 분석을 진행할 수 없다는 단점이 있다.
또한, 대용량 텍스트 로그데이터를 데이터 베이스에 저장하는 경우, 로우(row) 기반으로 레코드 단위의 로그데이터를 저장하게 된다. 예컨대 약 1GB 크기의 로그데이터 파일에 대해, 레코드 크기가 100byte로 설정된 경우, 약 1천만개의 레코드가 생성되어 테이블의 각 로우데이터로서 저장되는 바, 1천만번의 업로드 처리 시간이 소요되는 단점이 있다.
1. 한국등록특허 제1458979호 (명칭 : 라이프 로그 데이터 저장 방법 및 표시 방법) 2. 한국등록특허 제1539072호 (명칭 : 게임 서비스를 위한 로그 데이터를 효율적으로 저장할 수 있는 로그 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록매체)
이에, 본 발명은 상기한 사정을 감안하여 창출된 것으로, 대용량의 텍스트 로그데이터에 대해 인덱스를 구성하지 않고 일정 크기로 분할하여 저장하고, 분할 저장된 텍스트 로그데이터에서 패턴 매칭을 통해 검색조건을 만족하는 레코드 단위의 로그데이터를 생성함으로써, 보다 신속하게 로그데이터에 대한 저장 및 검색 처리를 수행할 수 있도록 해 주는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법을 제공함에 그 기술적 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 업로드 관리장치에서 텍스트 로그데이터 파일에 대해 레코드 단위 로그데이터를 추출하고, 레코드 단위 로그데이터와 레코드 단위 로그데이터 사이에 레코드 구분자를 부가하여 레코드 단위의 로그데이터 스트림 형태의 업로드 데이터를 생성한 후, 이를 데이터베이스 서버의 로그데이터 테이블에 로우 단위로 저장하는 로그데이터 저장과정과, 데이터베이스 서버에서 검색요청 질의에 대해 다수의 검색 쓰레드를 생성하고, 각 검색 쓰레드에서 상기 로그데이터 테이블에 저장된 서로 다른 로우 단위의 로그데이터를 호출하여 검색 조건을 만족하는 키워드 및 레코드 구분자에 대한 패턴 매칭 처리를 수행함으로써, 검색 조건을 만족하는 키워드를 포함하는 레코드 단위의 로그데이터를 생성하는 로그데이터 검색과정을 포함하여 구성되고, 상기 로그데이터 저장과정은, 업로드 관리장치에서 텍스트 로그데이터 파일에 대응하여 저장 쓰레드를 생성하는 쓰레드 생성 단계와, 저장 쓰레드에서 해당 텍스트 로그데이터 파일에 대해 업로드데이터를 생성하여 데이터베이스 서버로 전송하는 업로드데이터 전송 단계 및, 데이터베이스 서버에서 업로드 관리장치로부터 제공되는 업로드데이터를 대용량 컬럼을 갖는 CLOB (Character Large Object) 구조의 로그데이터 테이블의 로우 크기에 대응되도록 분할하여 로우 단위로 저장하는 데이터 저장단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법이 제공된다.
삭제
또한, 상기 데이터 저장단계는 데이터베이스 서버에서 업로드 관리장치로부터 제공되는 업로드데이터를 로그데이터 테이블의 로우 크기에 대응되는 저장 크기를 갖는 버퍼에 분할하여 저장하되, 제1 버퍼에 저장되는 레코드 구분자를 근거로 마지막 레코드의 로그데이터를 확인하여 로그데이터의 일부만 저장되는 경우에는 이전 레코드 로그데이터까지만 제1 버퍼에 저장하고, 해당 레코드 이후의 업로드데이터에 대해서는 제2 버퍼에 저장하는 단계와, 버퍼에 저장된 버퍼 크기의 분할 업로드 데이터를 로그데이터 테이블의 로우 단위 로그데이터로 저장하는 단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법이 제공된다.
또한, 상기 로그데이터 검색과정은, 데이터베이스 서버에서 검색처리를 위한 다수의 검색 쓰레드를 생성하는 검색 쓰레드 생성단계와, 각 검색 쓰레드에서 로그데이터 테이블에 저장된 서로 다른 로우 단위의 로그데이터를 호출하는 로우단위 로그데이터 호출단계, 각 검색 쓰레드에서 호출된 로우단위 로그데이터에서 패턴 매칭을 통해 검색질의에 포함된 검색 대상 키워드를 검색하는 키워드 검색단계, 각 검색 쓰레드에서 패턴 매칭을 통해 검색된 키워드를 포함하는 레코드 시작위치에 존재하는 레코드 구분자를 검색함으로써 해당 검색 키워드를 포함하는 레코드 시작위치를 산출하고, 산출된 레코드 시작위치를 근거로 해당 검색 키워드를 포함하는 기 설정된 레코드 단위의 로그데이터를 생성하는 레코드 단위 로그데이터 생성단계 및, 각 검색 쓰레드에서 생성된 레코드 단위 로그데이터를 이용하여 검색 결과 정보를 제공하는 검색 결과 로그정보 제공단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법이 제공된다.
또한, 상기 데이터베이스 서버는 검색요청 질의에 포함된 연산자 종류에 대응하여 패턴 매칭에 따른 레코드 단위의 로그데이터를 생성하고, 이를 검색 결과 로그정보로서 제공하도록 구성되되, 검색요청 질의에 OR 연산자가 포함되면, 검색 쓰레드는 호출된 로우단위 로그데이터에서 검색요청 질의에 포함된 모든 검색대상 키워드를 검색하는 단계와, 검색된 모든 키워드에 대해 해당 키워드를 포함하는 레코드 시작위치를 산출하는 단계, 패턴 매칭을 통해 산출된 레코드 시작위치에서 중복 산출된 레코드 시작위치를 제거하는 단계 및, 중복 레코드 시작위치가 제거된 레코드 시작위치를 근거로 검색 결과 레코드를 생성하는 단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법이 제공된다.
또한, 상기 데이터베이스 서버는 검색요청 질의에 포함된 연산자 종류에 대응하여 패턴 매칭에 따른 레코드 단위의 로그데이터를 생성하고, 이를 검색 결과 로그정보로서 제공하도록 구성되되, 검색요청 질의에 AND 연산자가 포함되면, 검색 쓰레드는 로우단위 로그데이터에서 검색요청 질의에 포함된 첫번째 검색대상 키워드를 검색하는 단계와, 검색된 첫 번째 검색대상 키워드를 포함하는 레코드 시작위치를 산출하는 단계, 패턴 매칭을 통해 산출된 레코드 시작위치의 레코드들을 대상으로 차순위 검색대상 키워드를 검색하고, 이에 대해 레코드 시작위치를 산출하는 동작을 마지막 검색대상 키워드까지 순차로 수행하는 단계 및, 마지막 검색대상 키워드에 대해 최종적으로 산출된 레코드 시작위치를 근거로 검색 결과 레코드를 생성하는 단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법이 제공된다.
또한, 상기 검색요청 질의는 패턴 매칭을 위한 전용 SQL 구조로서, INSERT INTO 질의와, MATCHING_TABLE 질의 및, 연산자 종류 질의를 포함하여 구성되고, INSERT INTO 질의에 대해서는 매개변수로서 결과 테이블명이 설정되며, MATCHING_TABLE 질의에 대해서는 매개변수로서 로그데이터 테이블명과, 로그파일명, 로우 구분자, 컬럼 구분자 및, 로그데이터 테이블의 컬럼명이 설정되고, OR 연산자 및 AND 연산자를 포함하는 연산자 중 검색조건에 대응되는 하나의 연산자 종류에 대해서는 매개변수로서 적어도 하나 이상의 키워드가 설정되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법이 제공된다.
본 발명에 의하면 다수의 대용량 텍스트 로그파일에 대해 서로 다른 쓰레드를 생성하여 병렬처리 방식으로 데이터베이스 서버로 로그데이터 업로드 처리를 수행함과 더불어, 대용량 컬럼 구조의 CLOB 테이블에 다수의 로그데이터들로 이루어지는 로그데이터 스트림을 하나의 로우 데이터로 저장함으로써, 로그데이터에 대한 업로드 시간을 보다 단축시킬 수 있다.
또한, 하나의 대용량 텍스트 로그데이터 파일에 대해 다수의 검색처리 쓰레드를 생성하여 병렬처리 방식으로 동시에 검색 조건에 대한 레코드 단위의 로그데이터를 검색함으로써, 로그데이터 검색시간 또한 단축시킬 수 있다.
도1은 관계형 데이터베이스에서 로그데이터가 저장되는 테이블 구조를 설명하기 위한 도면.
도2는 본 발명이 적용되는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 시스템의 개략적인 구성을 도시한 도면.
도3은 도1에 도시된 업로드 관리장치(100)에서 생성되는 업로드 데이터 구조를 설명하기 위한 도면.
도4는 본 발명에 따른 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법을 설명하기 위한 흐름도.
도5는 도4에서 OR 연산에 따른 패턴 매칭 검색 동작을 설명하기 위한 흐름도.
도6은 도4에서 AND 연산에 따른 패턴 매칭 검색 동작을 설명하기 위한 흐름도.
도7은 도4 내지 도6에서 검색요청 질의 구조를 설명하기 위한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호로 나타내고 있음을 유의해야 한다. 한편, 이에 앞서 본 명세서 및 특허청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도2는 본 발명에 적용되는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 시스템의 개략적인 구성을 나타낸 도면이다.
도2에 도시된 바와 같이 본 발명에 적용되는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 시스템은 데이터 업로드 장치(100) 및 데이터 베이스 서버(200)를 포함하여 구성된다.
데이터 업로드 장치(100)는 외부로부터 제공되는 대용량의 텍스트 로그데이터 파일에 대해 다수의 레코드 단위 로그데이터가 스트림 형태로 이루어지는 업로드 데이터를 생성하여 상기 데이터 베이스 서버(200)로 전송한다.
즉, 상기 텍스트 로그데이터 파일은 기 설정된 내용의 정보들로 이루어지는 레코드 단위의 로그데이터들을 포함하여 구성된다. 예컨대, 상기 텍스트 로그데이터 파일은 임의 사용자 단말 IP주소, URL 접속 페이지, 로그인 정보, 요청시간 등을 포함하는 다수의 웹로그 정보들로 이루어질 수 있다.
또한, 데이터 업로드 장치(100)는 도3에 도시된 바와 같이 서로 다른 레코드 단위의 로그데이터(R1 ~ RM) 사이에 기 설정된 레코드 구분자(T), 예컨대 "ENTER" 정보("\n")를 부가하여 업로드 데이터를 생성한다.
또한, 데이터 업로드 장치(100)는 업로드 데이터에 대해 해당 대용량 텍스트 로그데이터 파일 식별을 위한 식별정보를 부여하여 데이터 베이스 서버(200)로 전송할 수 있다.
또한, 상기 데이터 업로드 장치(100)는 동시에 전송할 대용량 텍스트 로그데이터 파일이 다수개인 경우, 그 파일 개수에 대응되도록 다수의 저장처리 쓰레드(CX1~CXn)를 생성한다. 즉, 데이터 업로드 장치(100)는 다수의 대용량 텍스트 로그파일에 대해 서로 다른 저장처리 쓰레드(CX1~CXn)를 생성하여 병렬처리 방식으로 데이터베이스 서버(200)로의 업로드 데이터 전송처리를 수행한다.
한편, 데이터 베이스 서버(200)는 상기 업로드 관리장치(100)로부터 제공되는 업로드 데이터를 저장하는 로그데이터 저장장치(210)와, 검색 요청에 대응하여 상기 로그데이터 저장장치(210)에서 해당 검색조건을 만족하는 로그데이터를 검색하는 로그데이터 검색장치(220)를 포함하여 구성된다.
상기 로그데이터 저장장치(210)는 상기 데이터 업로드 장치(100)로부터 제공되는 일정 크기 단위의 업로드 데이터를 일시 저장하기 위한 다수의 버퍼(B)와, 일정 크기 단위로 분할된 업로드 데이터를 저장하는 로그데이터 테이블(211)을 포함하여 구성된다.
이때, 상기 로그데이터 테이블(211)은 대용량 컬럼 구조의 CLOB(Character Large Object)테이블로 구성되고, 상기 버퍼(B)는 상기 로그데이터 테이블(211)의 로우(row) 크기에 대응되는 저장 크기를 갖도록 구성된다. 예컨대, 상기 버퍼(B)는 10Mbyte 크기의 버퍼로 구성될 수 있다.
즉, 상기 로그데이터 테이블(211)은 버퍼(B)에 분할 저장된 버퍼(B) 크기의 업로드 데이터를 하나의 로우(row) 데이터로 저장함으로써, 테이블을 구성한다.
여기서, 상기 로그데이터 저장장치(210)는 업로드 관리장치(100)로부터 제공되는 업로드 데이터를 버퍼(B)에 분할하여 저장하되, 제1 버퍼에 저장되는 레코드 구분자를 근거로 마지막 레코드의 로그데이터를 확인하여 로그데이터의 일부만 저장되는 경우에는 이전 레코드 로그데이터까지만 제1 버퍼에 저장하고, 해당 레코드 이후의 업로드 데이터에 대해서는 제2 버퍼에 저장한다. 즉, 각 버퍼에는 N(자연수)개의 레코드 단위 로그데이터 스트림이 저장된다. 이때, 동일 대용량 텍스트 로그데이터 파일에 대해 버퍼(B)에 저장되는 일정 크기의 업로드 데이터에 대해서는 해당 파일 식별정보를 부가하여 로그데이터 테이블(211)의 로우 데이터로 저장할 수 있다. 예컨대, 파일 식별정보는 로그데이터 테이블(211)에서 분할 업로드 데이터에 대응되는 컬럼 데이터로 추가 저장될 수 있다.
한편, 로그데이터 검색장치(220)는 패턴 매칭 처리부(221)를 통해 로그데이터 검색요청에 대해 패턴매칭 처리를 수행하고, 그 결과정보를 검색결과 테이블(222)에 저장한다.
상기, 패턴 매칭 처리부(221)는 검색요청에 대해 다수의 검색처리를 위한 쓰레드(CY1~CYn)를 생성하고, 각 검색처리 쓰레드(CY1~CYn)에서 상기 로그데이터 테이블(211)에 저장된 서로 다른 로우(row) 단위의 로그데이터를 호출하여 검색 조건을 만족하는 키워드 및 레코드 구분자에 대한 패턴 매칭 처리를 수행한다.
즉, 패턴 매칭 처리부(221)는 하나의 대용량 텍스트 로그데이터 파일에 대해 다수의 검색처리 쓰레드(CY1~CYn)를 생성하여 병렬처리 방식으로 동시에 검색 조건에 대한 레코드를 검색한다.
이때, 패턴 매칭 처리부(221)는 로그데이터 테이블(211)로부터 호출한 로우단위 로그데이터에서 패턴 매칭을 통해 검색 대상 키워드를 검색하고, 검색된 키워드를 포함하는 레코드 시작위치에 존재하는 레코드 구분자를 검색함으로써 해당 검색 키워드를 포함하는 레코드 시작위치를 산출한다. 그리고, 산출된 레코드 시작위치를 근거로 해당 검색 키워드를 포함하는 기 설정된 레코드 단위의 로그데이터를 생성하여 검색결과 테이블(222)에 저장한다.
또한, 패턴 매칭 처리부(221)는 검색요청 질의에 포함된 연산자 종류에 대응하여 패턴 매칭에 따른 검색결과에 해당하는 레코드 단위 로그데이터를 생성한다. 이때, 패턴 매칭 검색 연산자 종류로는 "AND" 연산자와 "OR" 연산자를 포함하고, 이들 연산자들은 하나의 검색질의에 대해 선택적으로 수행된다.
즉, 로그데이터 검색장치(220)는 외부로부터 요청되는 검색 질의에 대하여 검색 결과 테이블(222)에 저장된 레코드 단위 로그데이터를 이용하여 검색 결과 정보를 검색 요청 대상으로 제공한다.
이어, 본 발명의 제1 실시예에 따른 관계형 데이터베이스 기반의 대용량 텍스트 로그데이터 저장 및 검색 방법을 도4에 도시된 흐름도를 참조하여 설명한다.
먼저, 외부로부터 웹로그 등의 대용량 텍스트 로그데이터 파일이 업로드 관리장치(100)로 입력되면, 업로드 관리장치(100)는 파일별로 로그데이터 저장처리를 수행하기 위한 저장처리 쓰레드(CXY1~CXn)를 생성한다(ST110). 이때, 동시에 처리할 텍스트 로그데이터 파일 수에 대응하여 다수의 저장처리 쓰레드(CX1~CXn)가 생성될 수 있다.
각 저장처리 쓰레드(CX1~CXn)는 해당 텍스트 로그데이터 파일에서 로그데이터 스트림 형태로 이루어지는 업로드 데이터를 생성하여 로그데이터 저장장치(210)로 전송한다(ST210). 이때, 다수의 저장처리 쓰레드(CX1~CXn)가 생성된 경우, 각 저장처리 쓰레드(CX1~CXn)에서 서로 다른 텍스트 로그데이터 파일에 대한 업로드 데이터가 동시에 로그데이터 저장장치(210)로 업로드 된다. 이에 따라, 다수의 텍스트 로그데이터 파일에 대한 업로드 시간이 단축된다. 업로드 데이터는 도3에 도시된 바와 같이 다수의 레코드 단위 로그데이터(R1~RM)가 연속되는 형태로 구성되되, 특정 패턴 즉, 레코드 구분자(T)를 통해 레코드 단위가 구분되도록 구성된다.
한편, 로그데이터 저장장치(210)는 상기 업로드 관리장치(100)로부터 제공되는 업로드 데이터를 버퍼(B) 저장크기에 대응되게 분할하여 버퍼(B)에 저장한다(ST130). 이때, 하나의 텍스트 로그데이터 파일, 다시 말해 하나의 저장처리 쓰레드에 대해서는 하나의 버퍼가 할당될 수도 있고, 또는 10 Mbyte 이상의 대용량 텍스트 로그데이터 파일에 대해서는 다수의 버퍼가 할당되는 것도 가능하다.
예컨대, 약 1Gbyte 텍스트 로그데이터 파일을 처리하는 제1 저장처리 쓰레드에서 처리된 업로드 데이터는 두 개 이상의 서로 다른 10 Mbyte 버퍼, 또는 동일 버퍼에 다수 회 저장될 수 있다. 즉, 제1 저장처리 쓰레드로부터 제공되는 처음 10 Mbyte 단위의 제1 분할 업로드 데이터는 제1 버퍼에 저장되고, 이후 제2 분할 업로드 데이터는 제2 버퍼에 저장되는 형태로 저장되거나, 제1 버퍼에 저장된 제1 분할 업로드 데이터가 로그데이터 테이블(211)에 저장되어 저장 가능 상태로 전환된 경우, 제2 분할 업로드 데이터는 제1 버퍼에 다시 저장될 수 있다.
또한, 로그데이터 저장장치(210)는 하나의 버퍼(B)에 저장된 일정 저장 크기 예컨대, 10 Mbyte의 로그데이터를 로그데이터 테이블(211)의 하나의 로우 데이터로서 저장한다(ST140). 이때, 로그데이터 테이블(211)은 대용량 컬럼 구조의 CLOB(Character Large Object) 테이블로 구현되는 바, 하나의 로우(row)에는 다수의 레코드 단위의 로그데이터 스트림들로 이루어지는 대용량(10 Mbyte)의 로그데이터들이 저장될 수 있다.
예컨대, 약 1Gbyte 텍스트 로그데이터 파일의 경우, 한 레코드의 크기가 100 byte 이면 전체 레코드 수는 약 1천만개로서, 하나의 레코드가 하나의 로우(row)로서 저장되는 로우(row) 기반의 일반 테이블이 데이터베이스 서버에 구비되는 경우에는 다수의 로그데이터 테이블이 요구될 수 있음은 물론, 1 천만번의 업로드 처리 시간이 소요된다. 그러나 본 발명에서는 10 Mbyte 의 로그데이터들로 이루어지는 로그데이터 스트림이 CLOB(Character Large Object) 구조의 테이블에서 하나의 로우(row) 데이터로서 저장되는 바, 100 번의 업로드 처리를 수행하게 됨으로써, 기존 로우(row) 기반 테이블에 비해 로그데이터 업로드 시간이 보다 단축되는 효과를 얻을 수 있다.
한편, 상술한 바와 같이 CLOB(Character Large Object) 테이블로 구현되는 로그데이터 테이블(211)에 로그데이터 스트림형태의 업로드 데이터가 로우(row) 단위로 분할 저장된 상태에서, 외부로부터 로그데이터 검색요청정보가 로그데이터 검색장치(220)로 인가되면, 로그데이터 검색장치(220)는 검색요청정보에 대응하여 레코드 검색 처리를 수행할 검색처리 쓰레드(CY1~CYn)를 생성한다(ST210). 이때, 로그데이터 검색장치(220)는 하나의 대용량의 텍스트 로그데이터 파일에 대해 다수의 검색처리 쓰레드(CY1~CYn)를 생성하여 동시에 해당 파일을 검색하도록 할 수 있다.
상기 각 검색처리 쓰레드(CY1~CYn)는 로그데이터 테이블(211)에서 10Mbyte 로우 단위 업로드 데이터 즉, 로우 단위의 로그데이터를 호출하고, 호출된 로우 단위의 로그데이터에서 검색조건을 만족하는 키워드를 검색한다(ST220,ST230). 예컨대, 1 Gbyte의 대용량의 텍스트 로그데이터 파일이 100개의 로우 데이터로서 로그데이터 테이블(211)에 저장된 경우, 각 검색처리 쓰레드(CY1~CYn)는 로그데이터 테이블(211)에서 10Mbyte의 서로 다른 로우 단위 로그데이터를 호출한다. 그리고, 검색처리 쓰레드(CY1~CYn)는 호출된 로우단위 로그데이터에서 검색 조건에 대응하여 패턴 매칭 방법을 통해 검색대상 키워드를 검색한다.
한편, 로그데이터 검색장치(220)는 상기 ST230에서 검색된 키워드 위치를 기준으로 패턴 매칭 방법을 이용하여 해당 키워드를 포함하는 레코드 시작위치를 산출한다(ST240). 즉, 상기 로그데이터 검색장치(220)는 현재 검색된 키워드에서 일정 크기 단위로 이전 저장방향으로 이동하면서 기 설정된 레코드 구분자 패턴 위치를 검색함으로써, 해당 키워드를 포함하는 레코드 시작위치를 산출한다.
이어, 로그데이터 검색장치(220)는 레코드 시작위치를 기준으로 기 설정된 레코드 크기단위, 예컨대 100 byte 단위로 ST220 단계에서 호출된 로그데이터를 분할함으로써, 해당 검색 키워드를 포함하는 레코드를 생성하고, 이를 검색결과 레코드로서 검색결과 테이블(222)에 저장한다(ST250).
또한, 로그데이터 검색장치(220)는 검색결과 테이블(222)에 저장된 레코드 단위의 로그데이터를 이용하여 검색요청에 대응되는 검색결과 형태로 가공하여 외부로 제공한다(ST260). 예컨대, 로그데이터 검색장치(220)는 검색요청에 대응되는 검색결과정보를 디스플레이수단(미도시)으로 표시출력한다.
한편, 상기 로그데이터 검색장치(200)는 검색요청 질의에 포함된 연산자 종류에 대응하여 패턴 매칭에 따른 레코드 단위의 로그데이터를 생성하고, 이를 이용하여 검색 결과 로그정보를 제공하게 된다. 이때, 패턴 매칭 검색 연산자 종류로는 "AND" 연산자와 "OR" 연산자를 포함하는 바, 이하에서는 OR 연산과 AND 연산에 따른 패턴 매칭 레코드 검색 동작을 설명한다.
도5 내지 도7는 로그데이터 검색과정(ST200)에서의 패턴 매칭 처리 동작을 설명하기 위한 도면으로, 도5는 OR 연산에 따른 패턴 매칭 처리 과정을 설명하기 위한 흐름도이고, 도6은 AND 연산에 따른 패턴 매칭 처리 과정을 설명하기 위한 흐름도이며, 도7은 상기 도5 및 도6 의 패턴 매칭 연산을 위한 패턴 매칭 질의구조를 설명하기 위한 도면이다.
먼저, OR 연산에 따른 패턴 매칭 처리 동작은,
로그데이터 검색장치(220)에서 검색요청 질의를 분석하여 검색조건에서 OR 연산자가 포함된 질의로 판단되면(ST510), 각 검색처리 쓰레드(CY1~CYn)는 로그데이터 테이블(211)로부터 호출된 해당 로우단위 로그데이터에서 검색요청 질의에 포함된 모든 검색대상 키워드를 검색한다(ST520).
여기서, 텍스트 로그데이터를 패턴 매칭하는 질의 구조는 전용 SQL 형태로서, 패턴 매칭 질의 구조는 도7 (A)에 도시된 바와 같이, 기본적으로 INSERT INTO 질의와 MATCHING_TABLE 질의 및 연산자 종류 질의를 포함한다. 또한, 상기 INSERT INTO 질의에 대해서는 매개변수로서 결과 테이블명(res_table)이 설정되고, MATCHING_TABLE 질의에 대해서는 매개변수로서 로그데이터 테이블명(ori_table)과, 로그 파일명(udt_name), 로우 구분자(row_sep), 컬럼 구분자(col_sep) 및, 로그데이터 테이블의 컬럼명(ori_dara_col)이 설정되며, OR 연산자 및 AND 연산자를 포함하는 연산자 중 검색조건에 대응되는 하나의 연산자 종류(MATCH_IN 또는 MATCH_ALL)에 대해서는 매개변수로서 적어도 하나 이상의 키워드가 설정된다. 도7 (C)에는 OR 연산자에 해당하는 "MATCH_IN"을 포함하는 질의구조가 예시되어 있다.
이어, 로그데이터 검색장치(220)는 모든 검색 키워드에 대하여 해당 검색 키워드를 포함하는 레코드 시작위치를 산출한다(ST530). 이때, 하나의 레코드 단위 로그데이터는 다수의 검색 대상 키워드가 포함될 수 있다.
이에, 로그데이터 검색장치(220)는 상기 ST530 단계에서 산출된 레코드 시작위치를 키(KEY)로 하여 중복 레코드 제거동작을 수행한다(ST540). 이때, 로그데이터 검색장치(220)는 HASH 자료구조를 사용하여 중복된 레코드를 제거할 수 있다.
이어, 로그데이터 검색장치(220)는 중복 제거된 레코드를 검색 결과 레코드로서 검색결과 테이블(222)에 저장한다(ST550).
한편, AND 연산에 따른 패턴 매칭 처리 동작은,
먼저, 로그데이터 검색장치(220)에서 검색요청 질의를 분석하여 검색조건에서 OR 연산자가 포함된 질의로 판단되면(ST610), 각 검색처리 쓰레드(CY1~CYn)는 로그데이터 테이블(211)로부터 호출된 해당 로우단위 로그데이터에서 검색요청 질의에 포함된 첫번째 검색대상 키워드를 검색한다(ST620). 이때, AND 연산 질의는 도7 (B)에 도시된 바와 같이, 연산자 종류로서 AND 연산에 대응되는 MATCH_ALL 이 설정된다.
이어, 로그데이터 검색장치(220)는 상기 ST620 단계에서 검색된 첫번째 키워드를 포함하는 레코드 시작위치를 산출하여 저장한다(ST630).
이후, 로그데이터 검색장치(220)는 검색 요청 질의에서 현재 검색 결과가 마지막 검색대상 키워드에 대한 검색 결과인지를 판단한다.(ST640).
로그데이터 검색장치(220)는 상기 ST640 단계에서 현재 검색 결과가 마지막 검색 대상 키워드에 대한 결과가 아닌 경우, 상기 ST630단계에서 이전 검색 대상 키워드 검색 결과로 산출된 레코드 위치 범위내에서 차 순위 검색 대상 키워드를 검색한다(ST650).
그리고, 로그데이터 검색장치(220)는 상기 ST650 단계에서 검색된 차 순위 검색 대상 키워드를 포함하는 레코드 시작위치를 산출하여 저장하는 ST630 단계를 수행한다.
즉, 로그데이터 검색장치(220)는 상술한 ST630 내지 ST650 단계를 반복수행하여 검색 요청 질의에서 마지막 검색 대상 키워드까지 순차로 이전 레코드 시작위치 범위내에서의 레코드 시작위치 산출처리를 수행한다.
한편, 로그데이터 검색장치(220)는 상기 ST640 단계에서 현재 레코드 시작위치 산출 결과가 마지막 검색 대상 키워드에 대한 것으로 판단되면, 현재 저장된 최종 레코드 시작위치를 근거로 검색조건에 대응되는 레코드 단위 로그데이터를 생성하여 검색결과 테이블(222)에 저장한다(ST660).
100 : 업로드 관리장치, 200 : 데이터베이스 서버,
210 : 로그데이터 저장장치, 211 : 로그데이터 테이블,
220 : 로그데이터 검색장치, 221 : 패턴매칭 처리부,
222 : 검색결과 테이블, CX : 저장처리 쓰레드,
CY : 검색처리 쓰레드, B : 버퍼.

Claims (7)

  1. 업로드 관리장치에서 텍스트 로그데이터 파일에 대해 레코드 단위 로그데이터를 추출하고, 레코드 단위 로그데이터와 레코드 단위 로그데이터 사이에 레코드 구분자를 부가하여 레코드 단위의 로그데이터 스트림 형태의 업로드 데이터를 생성한 후, 이를 데이터베이스 서버의 로그데이터 테이블에 로우 단위로 저장하는 로그데이터 저장과정과,
    데이터베이스 서버에서 검색요청 질의에 대해 다수의 검색 쓰레드를 생성하고, 각 검색 쓰레드에서 상기 로그데이터 테이블에 저장된 서로 다른 로우 단위의 로그데이터를 호출하여 검색 조건을 만족하는 키워드 및 레코드 구분자에 대한 패턴 매칭 처리를 수행함으로써, 검색 조건을 만족하는 키워드를 포함하는 레코드 단위의 로그데이터를 생성하는 로그데이터 검색과정을 포함하여 구성되고,
    상기 로그데이터 저장과정은,
    업로드 관리장치에서 텍스트 로그데이터 파일에 대응하여 저장 쓰레드를 생성하는 저장 쓰레드 생성 단계와, 저장 쓰레드에서 해당 텍스트 로그데이터 파일에 대해 업로드데이터를 생성하여 데이터베이스 서버로 전송하는 업로드데이터 전송 단계 및, 데이터베이스 서버에서 업로드 관리장치로부터 제공되는 업로드데이터를 대용량 컬럼을 갖는 CLOB (Character Large Object) 구조의 로그데이터 테이블의 로우 크기에 대응되도록 분할하여 로우 단위로 저장하는 데이터 저장단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 데이터 저장단계는 데이터베이스 서버에서 업로드 관리장치로부터 제공되는 업로드데이터를 로그데이터 테이블의 로우 크기에 대응되는 저장 크기를 갖는 버퍼에 분할하여 저장하되, 제1 버퍼에 저장되는 레코드 구분자를 근거로 마지막 레코드의 로그데이터를 확인하여 로그데이터의 일부만 저장되는 경우에는 이전 레코드 로그데이터까지만 제1 버퍼에 저장하고, 해당 레코드 이후의 업로드데이터에 대해서는 제2 버퍼에 저장하는 단계와,
    버퍼에 저장된 버퍼 크기의 분할 업로드 데이터를 로그데이터 테이블의 로우 단위 로그데이터로 저장하는 단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법.
  4. 제1항에 있어서,
    상기 로그데이터 검색과정은,
    데이터베이스 서버에서 검색처리를 위한 다수의 검색 쓰레드를 생성하는 검색 쓰레드 생성단계와,
    각 검색 쓰레드에서 로그데이터 테이블에 저장된 서로 다른 로우 단위의 로그데이터를 호출하는 로우단위 로그데이터 호출단계,
    각 검색 쓰레드에서 호출된 로우단위 로그데이터에서 패턴 매칭을 통해 검색질의에 포함된 검색 대상 키워드를 검색하는 키워드 검색단계,
    각 검색 쓰레드에서 패턴 매칭을 통해 검색된 키워드를 포함하는 레코드 시작위치에 존재하는 레코드 구분자를 검색함으로써 해당 검색 키워드를 포함하는 레코드 시작위치를 산출하고, 산출된 레코드 시작위치를 근거로 해당 검색 키워드를 포함하는 기 설정된 레코드 단위의 로그데이터를 생성하는 레코드 단위 로그데이터 생성단계 및,
    각 검색 쓰레드에서 생성된 레코드 단위 로그데이터를 이용하여 검색 결과 정보를 제공하는 검색 결과 로그정보 제공단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법.
  5. 제4항에 있어서,
    상기 데이터베이스 서버는 검색요청 질의에 포함된 연산자 종류에 대응하여 패턴 매칭에 따른 레코드 단위의 로그데이터를 생성하고, 이를 검색 결과 로그정보로서 제공하도록 구성되되,
    검색요청 질의에 OR 연산자가 포함되면,
    검색 쓰레드는 호출된 로우단위 로그데이터에서 검색요청 질의에 포함된 모든 검색대상 키워드를 검색하는 단계와,
    검색된 모든 키워드에 대해 해당 키워드를 포함하는 레코드 시작위치를 산출하는 단계,
    패턴 매칭을 통해 산출된 레코드 시작위치에서 중복 산출된 레코드 시작위치를 제거하는 단계 및,
    중복 레코드 시작위치가 제거된 레코드 시작위치를 근거로 검색 결과 레코드를 생성하는 단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법.
  6. 제4항에 있어서,
    상기 데이터베이스 서버는 검색요청 질의에 포함된 연산자 종류에 대응하여 패턴 매칭에 따른 레코드 단위의 로그데이터를 생성하고, 이를 검색 결과 로그정보로서 제공하도록 구성되되,
    검색요청 질의에 AND 연산자가 포함되면,
    검색 쓰레드는 로우단위 로그데이터에서 검색요청 질의에 포함된 첫번째 검색대상 키워드를 검색하는 단계와,
    검색된 첫 번째 검색대상 키워드를 포함하는 레코드 시작위치를 산출하는 단계,
    패턴 매칭을 통해 산출된 레코드 시작위치의 레코드들을 대상으로 차순위 검색대상 키워드를 검색하고, 이에 대해 레코드 시작위치를 산출하는 동작을 마지막 검색대상 키워드까지 순차로 수행하는 단계 및,
    마지막 검색대상 키워드에 대해 최종적으로 산출된 레코드 시작위치를 근거로 검색 결과 레코드를 생성하는 단계를 포함하여 구성되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법.
  7. 제5항 또는 제6항에 있어서,
    상기 검색요청 질의는 패턴 매칭을 위한 전용 SQL 구조로서,
    INSERT INTO 질의와, MATCHING_TABLE 질의 및, 연산자 종류 질의를 포함하여 구성되고,
    INSERT INTO 질의에 대해서는 매개변수로서 결과 테이블명이 설정되며,
    MATCHING_TABLE 질의에 대해서는 매개변수로서 로그데이터 테이블명과, 로그파일명, 로우 구분자, 컬럼 구분자 및, 로그데이터 테이블의 컬럼명이 설정되고,
    OR 연산자 및 AND 연산자를 포함하는 연산자 중 검색조건에 대응되는 하나의 연산자 종류에 대해서는 매개변수로서 적어도 하나 이상의 키워드가 설정되는 것을 특징으로 하는 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색방법.
KR1020170039027A 2017-03-28 2017-03-28 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법 KR101892067B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2017/003328 WO2018182060A1 (ko) 2017-03-28 2017-03-28 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법
KR1020170039027A KR101892067B1 (ko) 2017-03-28 2017-03-28 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170039027A KR101892067B1 (ko) 2017-03-28 2017-03-28 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법

Publications (1)

Publication Number Publication Date
KR101892067B1 true KR101892067B1 (ko) 2018-08-27

Family

ID=63455115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170039027A KR101892067B1 (ko) 2017-03-28 2017-03-28 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법

Country Status (2)

Country Link
KR (1) KR101892067B1 (ko)
WO (1) WO2018182060A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102132877B1 (ko) * 2019-01-25 2020-07-10 주식회사 리얼타임테크 분산 데이터베이스 시스템의 대용량 텍스트 로그 데이터 분산 처리 방법
CN111767451A (zh) * 2020-01-15 2020-10-13 北京沃东天骏信息技术有限公司 一种搜索方法、电子设备与计算机可读存储介质
CN113779058A (zh) * 2020-10-16 2021-12-10 北京京东振世信息技术有限公司 获取业务数据的方法、装置、设备和计算机可读介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532347B (zh) * 2019-09-02 2023-12-22 北京博睿宏远数据科技股份有限公司 一种日志数据处理方法、装置、设备和存储介质
CN112734360B (zh) * 2020-12-28 2024-04-26 深圳市瞬点科技有限公司 端到端的业务流程管理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5496896B2 (ja) * 2007-10-02 2014-05-21 ログロジック,インコーポレーテッド ログデータ内の関連するイベントを検索する方法
KR101458979B1 (ko) 2012-05-31 2014-11-10 에스코어 주식회사 라이프 로그 데이터 저장 방법 및 표시 방법
KR101539072B1 (ko) 2010-12-20 2015-07-23 네이버비즈니스플랫폼 주식회사 게임 서비스를 위한 로그 데이터를 효율적으로 저장할 수 있는 로그 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20150114965A (ko) * 2013-01-31 2015-10-13 페이스북, 인크. 낮은 지연속도 데이터 액세스를 위한 데이터 스트림의 분할

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174345B2 (en) * 2003-05-30 2007-02-06 Oracle International Corporation Methods and systems for auto-partitioning of schema objects
US7792814B2 (en) * 2005-09-30 2010-09-07 Sap, Ag Apparatus and method for parsing unstructured data
US8442982B2 (en) * 2010-11-05 2013-05-14 Apple Inc. Extended database search
CN104794123B (zh) * 2014-01-20 2018-07-27 阿里巴巴集团控股有限公司 一种为半结构化数据构建NoSQL数据库索引的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5496896B2 (ja) * 2007-10-02 2014-05-21 ログロジック,インコーポレーテッド ログデータ内の関連するイベントを検索する方法
KR101539072B1 (ko) 2010-12-20 2015-07-23 네이버비즈니스플랫폼 주식회사 게임 서비스를 위한 로그 데이터를 효율적으로 저장할 수 있는 로그 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR101458979B1 (ko) 2012-05-31 2014-11-10 에스코어 주식회사 라이프 로그 데이터 저장 방법 및 표시 방법
KR20150114965A (ko) * 2013-01-31 2015-10-13 페이스북, 인크. 낮은 지연속도 데이터 액세스를 위한 데이터 스트림의 분할

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102132877B1 (ko) * 2019-01-25 2020-07-10 주식회사 리얼타임테크 분산 데이터베이스 시스템의 대용량 텍스트 로그 데이터 분산 처리 방법
CN111767451A (zh) * 2020-01-15 2020-10-13 北京沃东天骏信息技术有限公司 一种搜索方法、电子设备与计算机可读存储介质
CN111767451B (zh) * 2020-01-15 2024-04-16 北京沃东天骏信息技术有限公司 一种搜索方法、电子设备与计算机可读存储介质
CN113779058A (zh) * 2020-10-16 2021-12-10 北京京东振世信息技术有限公司 获取业务数据的方法、装置、设备和计算机可读介质

Also Published As

Publication number Publication date
WO2018182060A1 (ko) 2018-10-04

Similar Documents

Publication Publication Date Title
KR101892067B1 (ko) 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법
US20160063021A1 (en) Metadata Index Search in a File System
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
US8108411B2 (en) Methods and systems for merging data sets
CN107368527B (zh) 基于数据流的多属性索引方法
KR102102313B1 (ko) 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템
US20200042510A1 (en) Method and device for correlating multiple tables in a database environment
US20220083618A1 (en) Method And System For Scalable Search Using MicroService And Cloud Based Search With Records Indexes
US20140214838A1 (en) Method and system for processing large amounts of data
CN109947796B (zh) 一种分布式数据库系统查询中间结果集的缓存方法
US20180129708A1 (en) Query processing management in a database management system
CN109857898A (zh) 一种海量数字音频指纹存储与检索的方法及系统
US11461333B2 (en) Vertical union of feature-based datasets
US11468031B1 (en) Methods and apparatus for efficiently scaling real-time indexing
US11132345B2 (en) Real time indexing
KR20110037889A (ko) 구조화된 데이터 소스들과 비구조화된 데이터 소스들간의 상호 검색 및 경보
CN110889023A (zh) 一种elasticsearch的分布式多功能搜索引擎
JP2015197909A (ja) 大容量データを処理するための、sqlパーシングによる2レベルクエリー及び結果キャッシングを用いたオンライン分析プロセッシング方法
US11790008B2 (en) Persisted queries and batch streaming
KR101136457B1 (ko) 데이터베이스 관리 시스템에서 구조화 질의어(SQL)실행경로(Trace) 분석 방법 및 장치
KR101358793B1 (ko) 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체
US10019483B2 (en) Search system and search method
JP2017537398A (ja) 一組の構造化データタームからの非構造化検索クエリの生成
CN110245037B (zh) 一种基于日志的Hive用户操作行为还原方法
KR20210066004A (ko) 코샤딩 및 랜덤화된 코샤딩

Legal Events

Date Code Title Description
GRNT Written decision to grant