KR20200094074A - 인덱스 관리 방법, 장치, 기기 및 저장 매체 - Google Patents

인덱스 관리 방법, 장치, 기기 및 저장 매체 Download PDF

Info

Publication number
KR20200094074A
KR20200094074A KR1020190157615A KR20190157615A KR20200094074A KR 20200094074 A KR20200094074 A KR 20200094074A KR 1020190157615 A KR1020190157615 A KR 1020190157615A KR 20190157615 A KR20190157615 A KR 20190157615A KR 20200094074 A KR20200094074 A KR 20200094074A
Authority
KR
South Korea
Prior art keywords
index
identifier
target
data
determining
Prior art date
Application number
KR1020190157615A
Other languages
English (en)
Other versions
KR102368775B1 (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 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20200094074A publication Critical patent/KR20200094074A/ko
Application granted granted Critical
Publication of KR102368775B1 publication Critical patent/KR102368775B1/ko

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • 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/2365Ensuring data consistency and integrity
    • 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/24Querying
    • G06F16/248Presentation of query results

Landscapes

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

Abstract

본 발명의 예시적 실시예에 따라, 인덱스 관리 방법, 장치, 기기 및 컴퓨터 판독 가능한 저장 매체를 제공한다. 인덱스 관리 방법은 데이터베이스에 저장된 타겟 데이터에 대한 타겟 인덱스를 결정하는 단계를 포함하되, 타겟 인덱스는 타겟 인덱스의 저장 버전을 식별하기 위한 대응되는 인덱스 식별자를 갖는다. 상기 인덱스 관리 방법은, 타겟 인덱스에 기반하여, 데이터베이스에 저장된 타겟 데이터를 획득하는 단계를 더 포함하되, 타겟 데이터는 타겟 데이터의 저장 버전을 식별하기 위한 대응되는 데이터 식별자를 갖는다. 상기 인덱스 관리 방법은 나아가, 인덱스 식별자와 데이터 식별자가 매칭되지 않는 것에 응답하여, 타겟 인덱스와 관련되는 동작을 결정하는 단계를 포함한다. 이러한 방식으로, 데이터베이스 인덱스의 효과적인 관리를 구현할 수 있으며, 후속 호출에 대한 오버 헤드 타임을 감소시키고 데이터 판독 성능을 향상시킨다.

Description

인덱스 관리 방법, 장치, 기기 및 저장 매체{METHOD, APPARATUS, DEVICE AND STORAGE MEDIUM FOR MANAGING INDEX}
관련 출원에 대한 상호 참조
본 출원은 중국 특허 출원 제201910088131.2호(출원일: 2019년 1월 29일, 발명의 명칭: "Method, Apparatus, Device and Storage Medium for Managing Index")에 대한 우선권을 주장하며, 이 기초출원은 이의 전문이 참고로 본 명세서에 원용된다.
기술 분야
본 발명의 실시예는 주요하게 컴퓨터 분야에 관한 것으로, 보다 구체적으로, 인덱스 관리 방법, 장치, 기기 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.
다양한 분야에서 데이터에 대한 수요가 증가함에 따라, 데이터베이스 기술은 점차적으로 광범위하게 응용된다. 필요한 데이터를 보다 간편하게 조회하기 위해, 때로는 데이터베이스에서 2차 인덱스를 생성할 필요가 있다. 데이터가 지속적으로 업데이트됨에 따라, 생성된 인덱스 중의 일부는 이들이 지시하는 데이터에 더이상 적합하지 않을 수 있으므로 이러한 인덱스를 삭제해야 한다. 따라서, 데이터베이스의 성능을 향상시키기 위해 이러한 인덱스를 효과적으로 관리할 필요가 있다. 그러나 인덱스 관리에 대한 기존 방법에 있어서 각각의 처리할 인덱스 및 이가 지시하는 데이터에 대해 일련의 동작동을 수행하여야만 상기 인덱스가 삭제되어야 할지 여부를 결정할 수 있으므로 이는 데이터베이스의 성능을 감소시킨다.
본 개시의 실시예는 인덱스 관리 방법을 제공한다.
제1 양태에 있어서, 본 개시는 인덱스 관리 방법을 제공하며, 상기 방법은, 데이터베이스에 저장된 타겟 데이터에 대한 타겟 인덱스를 결정하는 단계(여기서 상기 타겟 인덱스는 상기 타겟 인덱스의 저장 버전을 식별하기 위한 대응되는 인덱스 식별자를 구비함); 상기 타겟 인덱스에 기반하여, 상기 데이터베이스에 저장된 상기 타겟 데이터를 획득하는 단계(여기서 상기 타겟 데이터는 상기 타겟 데이터의 저장 버전을 식별하기 위한 대응되는 데이터 식별자를 구비함); 및 상기 인덱스 식별자와 상기 데이터 식별자가 매칭되지 않는 것에 응답하여, 상기 타겟 인덱스와 관련되는 동작을 결정하는 단계를 포함한다.
제2 양태에 있어서, 본 개시는 인덱스 관리 장치를 제공하며, 상기 장치는, 데이터베이스에 저장된 타겟 데이터에 대한 타겟 인덱스를 결정하도록 구성되는 인덱스 결정 모듈(여기서 상기 타겟 인덱스는 상기 타겟 인덱스의 저장 버전을 식별하기 위한 대응되는 인덱스 식별자를 구비함); 상기 타겟 인덱스에 기반하여, 상기 데이터베이스에 저장된 상기 타겟 데이터를 획득하도록 구성되는 데이터 획득 모듈(여기서 상기 타겟 데이터는 상기 타겟 데이터의 저장 버전을 식별하기 위한 대응되는 데이터 식별자를 구비함); 및 상기 인덱스 식별자와 상기 데이터 식별자가 매칭되지 않는 것에 응답하여, 상기 타겟 인덱스와 관련되는 동작을 결정하도록 구성되는 동작 결정 모듈을 포함한다.
제3 양태에 있어서, 본 개시는 기기를 제공하며, 상기 기기는 하나 또는 복수개의 프로세서; 및 하나 또는 복수개의 프로그램을 저장하기 위한 저장 장치를 포함하되, 상기 하나 또는 복수개의 프로그램이 상기 하나 또는 복수개의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수개의 프로세서가 본 개시의 제1 양태에 따른 인덱스 관리 방법을 구현하도록 한다.
제4 양태에 있어서, 본 개시는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 저장 매체를 제공하며, 상기 프로그램이 프로세서에 의해 실행될 경우, 본 개시의 제1 양태에 따른 인덱스 관리 방법을 구현한다.
본 발명 내용의 일부에서 설명된 내용은 본 발명의 실시예의 핵심 또는 주요 특징을 한정하려는 것을 목적으로 하지 않으며, 본 발명의 범위를 한정하려는 것이 아님을 이해해야 한다. 본 발명의 다른 특징은 이하 설명에 의해 쉽게 이해될 것이다.
첨부된 도면과 함께 이하 상세한 설명을 참조하여, 본 발명의 다양한 실시예의 전술한 설명 및 다른 특징 이점 및 양태는 보다 명백해질 것이다. 도면에서, 동일하거나 유사한 도면 표기는 동일하거나 유사한 요소를 나타낸다.
도 1은 본 발명의 실시예들이 구현될 수 있는 예시적 환경의 개략도를 도시한다.
도 2는 본 발명의 실시예에 따른 인덱스 관리 프로세스의 흐름도를 도시한다.
도 3은 본 발명의 일부 실시예에 따른 데이터 저장 구조를 도시한 개략도를 도시한다.
도 4는 본 발명의 일부 실시예에 따른 인덱스 식별자 및 데이터 식별자의 테이블을 도시한 개략도를 도시한다.
도 5는 본 발명의 일부 실시예에 따른 간섭 필드를 도시하는 개략도를 도시한다.
도 6은 본 발명의 일부 실시예에 따른 타겟 인덱스와 관련되는 동작을 결정하는 프로세스의 흐름도를 도시한다.
도 7은 본 발명의 실시예에 따른 인덱스 관리 장치의 예시적 블록도를 도시한다.
도 8은 본 발명의 다양한 실시예들이 구현될 수 있는 컴퓨팅 기기의 블록도를 도시한다.
아래에 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명한다. 도면에 본 발명의 일부 실시예를 도시하였으나 본 발명은 다양한 형태로 구현될 수 있고, 여기서 설명된 실시예에 한정되는 것으로 해석되는 것이 아니라, 반대로 이러한 실시예를 제공하는 것은 본 발명을 보다 명확하고 완전하게 이해하기 위한 것임은 자명할 것이다. 본 발명의 도면 및 실시예는 단지 예시로서, 본 발명의 보호 범위를 한정하려는 것이 아님을 이해해야 할 것이다.
본 발명의 실시예의 설명에서, 용어 "포함하다" 및 이와 유사한 용어는 "포함하나 한정되지 않는다"와 같은 개방적 포함으로 이해되어야 한다. 용어 "기반하여"는 "적어도 부분적으로 기반하여"로 이해되어야 한다. 용어 "일 실시예" 또는 "상기 실시예"는 "적어도 일 실시예"로 이해되어야 한다. 용어 "제1", "제2" 등은 상이하거나 동일한 객체를 지칭할 수 있다. 아래 설명은 다른 명시적 및 암시적 정의를 더 포함할 수 있다.
전술한 바와 같이, 일부 경우, 데이터 조회 요청에 보다 잘 응답하기 위하여, 데이터베이스에 2차 인덱스를 구축해야 한다. 아래에 데이터베이스 HBase를 예로 설명한다. HBase는 고신뢰성, 고성능, 컬럼(열) 지향 및 확장 가능한 분산형 저장 시스템이다. 사용자는 행 키(rowkey) 및 행 키의 범위에 의해 데이터를 검색하고 기본 키를 조회(행 키를 기본 키로 사용함)하며, 고성능으로 대량의 데이터에서 타겟 데이터를 조회할 수 있다. 그러나, 실제 응용에서, 대부분 수요는 모두 기본 키가 아닌 키에 대한 조회이다. HBase는 필터링을 제공하는 방식으로 기본 키가 아닌 키에 대해 스캔하지만, 이러한 방식에 필요로 되는 데이터는 종종 전체 테이블 스캔이 필요하며, 전체 클러스터에 대한 소모가 비교적 크고 조회 성능이 비교적 낮으며, 많은 양의 데이터가 있는 상황에 적용되지 않는다.
기본 키가 아닌 키로 조회하기 위해, 현재 일반적으로 HBase 소스 데이터 테이블 중의 데이터에 대해 역 인덱스(즉, 2차 인덱스)를 구축하며, 다시 역 인덱스 중 행 키를 통하여 대응되는 HBase 소스 데이터 테이블의 행 키 정보를 획득함으로써 타겟 데이터를 찾는다. 역 인덱스의 저장은 설계와 관계되며, HBase 소스 데이터 테이블과 동일한 테이블일 수 있고, 독립 테이블일 수도 있다.
스트리밍 데이터 생산에 있어서, HBase 소스 데이터 테이블 중의 데이터가 끊임없이 업데이트됨으로 인해 역 인덱스에 이가 지시하는 데이터에 더이상 적합하지 않는 인덱스(본 출원에서 또한 더티 인덱스로 지칭될 수 있음)가 존재하게 된다. 이 경우, 퇴장(exit) 동작을 수행하여 더티 인덱스를 클리어해야 한다. 데이터 입력 시 더티 인덱스를 클리어할 경우 입력 속도가 저하되고, 입력 성능이 높은 시스템에 있어서는, 일반적으로 상기 동작을 지연하여 데이터가 판독될 시 진행한다.
기존에서, 2차 인덱스의 퇴장 지연은 2가지 해결 수단을 사용한다. 첫 번째 수단은, 대규모로 퇴장을 지연시키는 것이다. 이러한 수단에서, 데이터를 판독하는 동시에 데이터의 모든 2차 인덱스에 대해 퇴장 논리 판단을 수행하여 특정된 2차 인덱스를 클리어할지 여부를 결정한다. 두 번째 수단은, 수요에 따라 퇴장을 지연시키는 것이다. 이러한 수단에서, 데이터를 판독하는 동시에 명중된 2차 인덱스 조회에만 대해 퇴장 논리 판단을 수행하므로, 기껏해야 명중된 인덱스 데이터에 영향을 미치게 될 뿐이다.
상기 두 가지 기존의 수단에서, 모두 각각의 처리할 인덱스에 대해 일련의 동작(즉 퇴장 논리 판단)을 수행해야만 상기 인덱스가 제거되어야 하는지 여부를 결정할 수 있으며, 이는 데이터베이스의 성능을 감소시킨다. 이밖에, 상기 두 가지 기존의 수단은 사용 상황이 다소 상이하고, 초래한 문제 및 단점도 서로 상이하다. 첫 번째 수단은 인덱스 액세스가 밀집된 상황에서만 사용될 수 있고, 사용 범위는 비교적 제한된다. 대규모로 퇴장을 지연시키는 것은 대량의 관련없는 인덱스도 퇴장시키므로, 성능을 감소시킨다. 두 번째 수단은 수요에 따라 인덱스 데이터를 퇴장시킬 수 있으나 조회할 때마다 모두 명중된 인덱스가 클리어되어야 하는지 여부를 판단해야 하므로, 따라서 성능이 떨어진다.
본 발명의 실시예에 따라, 인덱스를 관리하는 수단을 제안한다. 상기 수단에서, 타겟 인덱스의 저장 버전을 식별하기 위한 인덱스 식별자 및 타겟 데이터의 저장 버전을 식별하기 위한 데이터 식별자를 설정하고, 인덱스 식별자 및 데이터 식별자를 비교하여 타겟 인덱스와 관련되는 동작을 결정할 수 있다. 이러한 방식으로, 타겟 인덱스가 삭제되어야 하는지 여부를 결정하는데 있어서 필요로 되는 동작을 감소시킬 수 있으며, 따라서 본 발명의 수단은 데이터베이스 인덱스의 효과적 관리에 유리하며, 이로써 후속 호출에 오버 헤드 타임을 감소시키고 데이터 판독 성능을 향상시킨다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 구체적으로 설명한다.
도 1은 본 발명의 실시예들이 구현될 수 있는 예시적 환경(100)의 개략도를 도시한다. 상기 예시적 환경(100)에서, 데이터베이스(101)에는 데이터(121, 123)가 저장되며, 데이터는 데이터의 저장 버전을 식별하기 위한 서로 대응되는 데이터 식별자(122, 124)를 갖는다. 데이터 식별자는 타임 스탬프 또는 기설정 규칙에 따라 정의된, 데이터의 저장 버전을 식별할 수 있는 일련의 수치일 수 있다. 인덱스(111, 113)는 인덱스의 저장 버전을 식별하기 위한 서로 대응되는 인덱스 식별자(112, 114)를 갖는다. 인덱스 식별자는 타임 스탬프, 기설정 규칙에 따라 정의된 일련의 수치, 또는 기설정 식별자일 수 있다. 아래에 도 3 및 도 4를 참조하여 데이터 식별자 및 인덱스 식별자를 상세하게 설명한다.
인덱스(111, 113)는 데이터베이스(101)에 저장된, 이에 대한 데이터를 지시할 수 있으며, 예를 들어, 이에 대한 데이터의 데이터베이스(101)에서의 저장 위치를 통해 데이터를 지시할 수 있다. 예를 들어, 인덱스(111)는 데이터(121)에 대한 인덱스일 수 있다. 인덱스(111, 113)는 데이터베이스(101)에 저장된 데이터의 현재 버전 또는 이전의 버전에 기반하여 생성된 것일 수 있다. 예를 들어, 인덱스(111, 113)는 2차 인덱스 또는 역 인덱스일 수 있다.
전술한 바와 같이, 데이터베이스(101)에 저장된 데이터가 업데이트됨에 따라, 일부 인덱스(예를 들어, 데이터의 이전의 버전에 기반하여 생성된 인덱스임)는 기존에 이에 대응되는 데이터를 지시함에 있어서 더이상 적합하지 않을 수 있다. 이경우, 컴퓨팅 기기(102)에 의해 인덱스(예를 들어, 인덱스(111, 113))를 관리하며, 예를 들어 그 중의 더티 인덱스를 클리어한다. 도 1에 도시된 환경(100)은 단지 예시적인 것으로, 복수개의 컴퓨팅 기기를 사용하여 데이터베이스(101) 중의 인덱스를 관리하는 것을 결정할 수 있다. 컴퓨팅 기기(102)는 고정 컴퓨팅 기기일 수 있고, 모바일 폰, 태블릿 컴퓨터 등과 같은 휴대용 컴퓨팅 기기일 수도 있다.
데이터베이스(101)는 컴퓨팅 기기(102)에 저장될 수 있고, 컴퓨팅 기기(102)와 원격으로 저장될 수도 있다. 컴퓨팅 기기(102)는 클라이언트에 배치될 수도 있고, 서버사이드에 배치될 수도 있으며, 본 발명의 범위는 이에 한정되지 않는다. 도 1에서는 인덱스(111, 113)를 데이터(121, 123)와 함께 동일한 데이터베이스(101)에 저장되는 것으로 도시하였으나, 인덱스(111, 113)는 데이터(121, 123)와 분리되어 저장될 수도 있으며, 예를 들어, 기타 데이터베이스에 저장될 수 있다.
본 발명의 실시예에 의해 제공된 인덱스 관리 수단을 보다 명확하게 이해하기 위해, 도 2를 참조하여 본 발명의 실시예를 보다 더 상세하게 설명한다. 도 2는 본 발명의 실시예에 따른 인덱스 관리 프로세스(200)의 흐름도를 도시한다. 프로세스(200)는 도 1의 컴퓨팅 기기(102)에 의해 구현될 수 있다. 설명의 편의를 고려하여, 도 1을 참조하여 프로세스(200)를 설명한다.
블록 210에서, 컴퓨팅 기기(102)는 데이터베이스(101)에 대해 저장된 타겟 데이터의 타겟 인덱스를 결정한다. 설명의 편의를 고려하여, 아래에 인덱스(111)를 타겟 인덱스로 하여 설명하며, 데이터(121)를 타겟 인덱스(111)에 대한 타겟 데이터로 가정한다. 타겟 인덱스(111)는 타겟 인덱스(111)의 저장 버전을 식별하기 위한 상응한 인덱스 식별자(112)를 갖는다. 인덱스 식별자(112)는 타임 스탬프, 일련의 수치 중의 하나의 수치, 또는 기설정 식별자일 수 있다.
일부 실시예에서, 프로세스(200)는 데이터 조회 프로세스와 서로 결합될 수 있다. 컴퓨팅 기기(102)는 타겟 데이터(121)에 대한 조회 요청과 같은 조회 요청을 수신할 수 있으며, 조회 요청 중의 키워드에 기반하여 타겟 인덱스(111)를 결정한다. 예를 들어, 컴퓨팅 기기(102)는 사용자로부터 조회 요청을 수신하며, 상기 조회 요청을 분석하여 타겟 인덱스(111)를 명중한다.
일부 실시예에서, 프로세스(200)는 정기적으로 수행될 수 있으며, 즉 컴퓨팅 기기(102)는 정기적으로 인덱스를 관리할 수 있다. 프로세스(200)는 예를 들어 사용자로부터의 명령에 응답하여 작동될 수 있다. 이러한 실시예에서, 데이터베이스(101) 중의 각각의 인덱스에 대해 프로세스(200)를 수행할 수 있으며, 타겟 인덱스(111)는 임의의 인덱스일 수 있다.
블록 220에서, 컴퓨팅 기기(102)는 타겟 인덱스(111)에 기반하여, 데이터베이스(101)에 저장된 타겟 데이터(121)를 획득하며, 타겟 데이터(121)는 타겟 데이터(121)의 저장 버전을 식별하기 위한 상응한 데이터 식별자(122)를 갖는다. 데이터 식별자(122)는 타겟 데이터(121)의 입력 또는 업데이트와 관련되는 타임 스탬프, 일련의 수치 중의 하나의 수치 등일 수 있다.
일부 실시예에서, 컴퓨팅 기기(102)는 타겟 인덱스(111)에 기반하여 데이터베이스(101) 중 타겟 데이터(121)의 저장 위치를 결정할 수 있으며, 결정된 저장 위치에 기반하여, 데이터베이스(101)로부터 타겟 데이터(121)를 획득한다. 예를 들어, 타겟 인덱스(111)와 타겟 데이터(121)가 데이터베이스(101)의 동일한 테이블에 저장될 경우, 타겟 인덱스(111)는 타겟 데이터(121)의 상기 테이블에서의 행을 지시할 수 있다. 타겟 인덱스(111)와 타겟 데이터(121)가 상이한 테이블에 저장될 경우, 타겟 인덱스(111)는 타겟 데이터(121)가 저장되는 테이블 및 타겟 데이터(121)가 상기 테이블에서 어느 행에 있는지를 지시할 수 있다.
아래에 도 3 및 도 4를 참조하여 예시적 방식으로 타겟 인덱스, 인덱스 식별자, 타겟 데이터와 데이터 식별자 사이의 관계를 보다 상세하게 설명한다. 도 3은 본 발명의 일부 실시예에 따른 데이터 저장 구조(300)를 도시한 개략도를 도시한다. 도 3은 HBase의 데이터 저장 구조를 예로 설명하며, 이는 단지 예시적인 것일 뿐, 본 발명의 실시예는 임의의 구조로 저장된 데이터 및 인덱스에 응용될 수 있음을 이해해야 한다.
도 3에 도시된 바와 같이, 요소(310)는 해당 행의 요소들이 각각의 열 패밀리(Column Family, CF)를 표시함을 나타내고, 요소(320)는 해당 행의 요소들이 각각의 열을 표시함을 나타낸다. 데이터 저장 구조(300)는 d 열 패밀리(311)(CF:d로도 표시될 수 있음), s 열 패밀리(312)(CF:s로 표시될 수도 있음) 및 i 열 패밀리(313)(CF:i로 표시될 수도 있음) 3개의 열 패밀리를 포함한다. d 열 패밀리(311)는 하나의 d:@cnt 열(321)만 포함하고, 포맷이 json인 소스 데이터를 저장한다.
s 열 패밀리(312)는 소스 데이터와 연관되는 시스템 필드를 저장한다. 예를 들어, s:@ts열(322)은 d:@cnt 열(321) 중의 데이터의 업데이트 시간을 저장할 수 있다. s:@tag 열(323)은 데이터(d 열 패밀리(311) 및 s 열 패밀리(312)의 데이터를 포함할 수 있음)의 저장 버전을 식별하기 위한 데이터 식별자를 저장할 수 있다.
i 열 패밀리(313)는 i:@tag 열(325)을 포함하고, 인덱스 식별자(112)와 같은 인덱스의 인덱스 식별자를 저장한다. 이러한 예시에서, 행(330)이 인덱스와 연관되는 정보를 저장할 경우, d 열 패밀리(311) 및 s 열 패밀리(312)는 빈 것일 수 있다. 행(330)이 데이터와 연관되는 정보를 저장할 경우, i 열 패밀리(313)는 빈 것일 수 있다. 상기 예시에서, 인덱스 및 데이터에 상이한 열 패밀리를 배치하여, 물리적 저장에서 이들을 격리시키며, 따라서 인덱스를 액세스할 경우 상기 열의 최소한의 데이터 액세스를 지정하여 액세스 속도를 가속화할 수 있다.
아래에 도 4를 참조하여 일 구체적인 예시를 설명한다. 도 4는 본 발명의 일부 실시예에 따른 인덱스 식별자 및 데이터 식별자의 테이블(400)을 도시한 개략도이다. 테이블(400)의 상부는 인덱스와 연관되는 정보를 저장하기 위한 것이고, 하부는 데이터와 연관되는 정보를 저장하기 위한 것이다. 행(430)은 데이터의 행 키(421)(상기 예시에서 15임), 소스 데이터(422), 업데이트 시간(423)(T1) 및 데이터 식별자(424)(T1)를 포함한다. 상기 예시에서, 데이터 식별자(424)는 소스 데이터(422)의 입력과 서로 대응되는 타임 스탬프이다. 행(430)에 저장된 데이터는 도 1 중의 타겟 데이터(121)의 일 구체적인 예시이며, 데이터 식별자(424)는 도 1 중의 데이터 식별자(122)의 일 구체적인 예시이다.
인덱스(411 및 413)는 행(430)에 저장된 데이터(예를 들어, 소스 데이터(422))에 기반하여 기설정된 규칙에 따라 생성된 것이다. 인덱스(411 및 413)는 각각 상응한 인덱스 식별자(412 및 414)를 갖는다. 인덱스(411)를 예로, `Act_@type_15는 이의 타겟 데이터에 대해, "type" 속성에 대응되는 속성값이 "Act"임을 지시하고, 상기 타겟 데이터는 행 키가 15인 행에 저장된다. 도 4의 예시에서, 인덱스(411 및 413)는 소스 데이터(422) 입력 시 생성된 것이며, 따라서 데이터 식별자(424)와 매칭되는 인덱스 식별자, 즉 타임 스탬프(T1)를 갖는다. 인덱스(411 및 413)는 도 1 중의 타겟 인덱스(111)의 구체적인 예시이며, 인덱스 식별자(412 및 414)는 도 1 중의 인덱스 식별자(112)의 구체적인 예시이다.
시간(T2)에서, 행(430) 중의 데이터가 업데이트될 경우, 예를 들어, "type" 속성의 속성값이 ["Act1","TVPlay1"]로 수정될 경우, 데이터 식별자(424)는 타임 스탬프(T2)로 업데이트된다. 동시에, `Act1_@type_15 및 `TVPlay1_@type_15와 같은 새로운 인덱스를 생성하며, 상기 2개의 새로운 인덱스에 대응되는 인덱스 식별자는 타임 스탬프(T2)로 설정된다. 이경우, 인덱스(411 및 413)는 행(430)에 저장된 데이터를 지시함에 있어서 더이상 적합하지 않으며, 인덱스 식별자(412 및 414)도 데이터 식별자(424)와 매칭되지 않는다. 본 발명의 실시예에서, 데이터 식별자 및 인덱스 식별자는 또한 각각 데이터 신뢰 식별자 및 인덱스 신뢰 식별자(때로는 신뢰 식별자로 총칭됨)로 지칭될 수 있다.
도 4의 예시에서, 데이터 식별자 및 인덱스 식별자는 타임 스탬프의 형태를 갖는다. 타임 스탬프는 하나의 점차적으로 증가되는 필드이며, 데이터가 변화될 경우, 타임 스탬프는 수정되어 데이터 신뢰 식별자 및 인덱스 신뢰 식별자가 더이상 매칭되지 않기에, 더티 인덱스의 삭제(또는 퇴장) 메커니즘을 유발한다. 따라서, 타임 스탬프를 신뢰 식별자로 사용하여 데이터 및 인덱스의 저장 버전을 간단하게 식별할 수 있다.
또한 미리 정의된 점차적으로 증가되는 수열과 같은 다른 형태의 데이터 식별자 및 인덱스 식별자를 이용할 수 있다. 예를 들면, 공차가 d인 등차수열을 신뢰 식별자로 사용할 수 있다. 데이터가 초기에 데이터베이스(101)에 입력될 경우, 데이터 식별자를 a로 설치하고, 동시에 생성된 인덱스의 인덱스 식별자도 a로 설치된다. 데이터가 수정될 경우, 데이터 식별자는 d 만큼 증가되어 a+d로 변하고, 동시에 생성된 새로운 인덱스의 인덱스 식별자는 a+d로 설정된다. 이경우, 기존 인덱스의 인덱스 식별자(값이 a)와 데이터 식별자(a+d)는 상이하며, 이들은 매칭되지 않는다. 다른 일 예시로서, 공차가 2인 등차수열을 신뢰 식별자로 사용할 수 있다. 데이터가 초기에 데이터베이스(101)에 입력될 경우, 데이터 식별자를 b로 설정하고, 동시에 생성된 인덱스의 인덱스 식별자는 b+1로 설정된다. 데이터가 수정될 경우, 데이터 식별자는 2가 증가되어 b+2로 변하고, 동시에 생성된 새로운 인덱스의 인덱스 식별자는 (b+1)+2로 설정된다.
도 3 및 도 4의 예시에서, 데이터 및 그 인덱스는 동일한 테이블에 저장되며, 상이한 열 패밀리로 구분된다. HBase와 같은 데이터베이스에 대해, 열 패밀리를 지정하여 데이터를 획득한다. 따라서, 이러한 신뢰 식별자의 저장 설계의 하나의 장점으로서, 데이터를 획득함과 동시에 열 패밀리 하의 @trust 열(즉, 신뢰 식별자)을 획득하며, 별도의 요청을 추가할 필요가 없다. 본 발명의 실시예도 데이터 및 그 인덱스가 상이한 테이블에 저장된 경우에 사용될 수 있음을 이해해야 한다.
일부 실시예에서, d:@cnt 열(321) 중의 소스 데이터를 쉽게 수정하기 위해, s 열 패밀리(312)는 하나 또는 복수개의 s:@prop 열(324)(도 3을 참조)을 포함할 수 있고, 이는 d:@cnt 열(321) 중의 소스 데이터를 수정하기 위한 하나 또는 복수개의 필드(본 출원에서 또한 간섭 필드로 지칭될 수 있음)를 저장한다. 이경우, 최종 출력된 데이터는 d 열 패밀리(311) 및 s 열 패밀리(312)가 합병 후 생성된 최종 데이터이며, 아울러 동일한 필드의 데이터는 CF:s를 기준으로 한다. 아래에 도 5를 참조하여 이에 대해 설명한다.
도 5는 본 발명의 일부 실시예에 따른 간섭 필드를 도시하는 개략도(500)이다. 도 5에 도시된 s:@type 열(524)은 s:@prop 열(324)의 하나의 구체적인 구현으로 볼 수 있으며, 이는 소스 데이터(422) 중의 속성 "type"의 속성값을 수정 또는 간섭한다. 도면에 도시된 바와 같이, 간섭 필드(501)가 ["Act2","TVPlay2"]인 경우, 최종 출력된 결과(502)는 소스 데이터(422)와 상이하다. 간섭 필드는 소스 데이터보다 높은 우선권을 갖는다.
이러한 실시예에서, 인덱스 식별자는 타임 스탬프 또는 등차수열을 제외한 기설정 식별자를 포함할 수 있으며, 상기 기설정 식별자는 타겟 인덱스와 타겟 데이터의 연관성이 불확실함을 지시할 수 있다. 예를 들어, 기설정 식별자는 문자 부호 NULL일 수 있다. 예를 들어, 소스 데이터(422)는 업데이트되었으나 간섭 필드(501)는 업데이트되지 않았을 경우, 생성된 인덱스의 인덱스 식별자는 NULL과 같은 기설정 식별자로 설치된다.
계속하여 도 2를 참조한다. 블록 230에서, 컴퓨팅 기기(102)는 인덱스 식별자(112)와 데이터 식별자(122)가 매칭되는지 여부를 결정한다. 인덱스 식별자(112) 및 데이터 식별자(122)가 동일한 포맷의 타임 스탬프일 경우, 인덱스 식별자(112)와 데이터 식별자(122)가 동일하면, 이들이 매칭된다고 인식하고, 인덱스 식별자(112)와 데이터 식별자(122)가 상이하면, 이들이 매칭되지 않는다고 인식한다. 인덱스 식별자(112) 및 데이터 식별자(122)가 모두 타임 스탬프이나 포맷이 상이할 경우, 인덱스 식별자(112) 및 데이터 식별자(122)가 동일한 시간을 지시하면, 이들이 매칭된다고 인식하고, 인덱스 식별자(112) 및 데이터 식별자(122)가 상이한 시간을 지시하면, 이들이 매칭되지 않는다고 인식한다.
인덱스 식별자(112) 및 데이터 식별자(122)가 전술한 바와 같이 공차가 d인 등차수열을 사용할 경우, 인덱스 식별자(112)와 데이터 식별자(122)가 동일하면, 이들이 매칭된다고 인식하고, 인덱스 식별자(112)와 데이터 식별자(122)가 상이하면, 이들이 매칭되지 않는다고 인식한다. 인덱스 식별자(112) 및 데이터 식별자(122)가 전술한 바와 같이 공차가 2인 등차수열을 사용할 경우, 인덱스 식별자(112)가 데이터 식별자(122)보다 1 크면, 이들이 매칭된다고 인식하며 그러지 않을 경우 이들이 매칭되지 않는다고 인식한다.
전술한 바와 같은 인덱스 식별자가 NULL과 같은 기설정 식별자를 포함한 실시예에서, 인덱스 식별자(112)가 기설정 식별자이면, 인덱스 식별자(112)와 데이터 식별자(122)가 매칭되지 않는다고 인식한다.
블록 230에서 인덱스 식별자(112)와 데이터 식별자(122)가 매칭되지 않는다고 결정되면, 프로세스(200)는 블록 240으로 진행된다. 블록 240에서, 컴퓨팅 기기(102)는 타겟 인덱스(111)와 관련되는 동작을 결정한다. 예를 들어, 컴퓨팅 기기(102)는 타겟 인덱스(111)에 대한 퇴장 논리 처리를 수행하여, 타겟 인덱스(111)가 삭제되어야 할지 여부를 결정할 수 있다. 아래에 도 6을 참조하여 이러한 프로세스를 설명한다.
블록 230에서 인덱스 식별자(112)와 데이터 식별자(122)가 매칭된다고 결정되면, 이는 타겟 인덱스(111)와 타겟 데이터(121)는 연관성을 갖고, 타겟 데이터(121)를 지시할 수 있음을 의미한다. 이경우, 타겟 인덱스(111) 및 그 인덱스 식별자(112)는 보류된다.
프로세스(200)와 데이터 조회 과정이 결합된 실시예(전술한 블록 210을 참조하여 언급된 바와 같이)에서, 인덱스 식별자(112)와 데이터 식별자(122)가 매칭된다고 결정되면, 컴퓨팅 기기(102)는 타겟 데이터(121)에 기반하여 조회 요청에 대한 응답을 제공할 수 있다. 예를 들어, 컴퓨팅 기기(102)는 타겟 데이터(121)에 기반하여 조회 결과를 결정할 수 있으며, 또한 조회 결과를 조회 요청에 대한 응답으로 제공한다. 상기 간섭 필드가 없는 경우, 컴퓨팅 기기(102)는 타겟 데이터(121)의 상응한 부분(예를 들어, 소스 데이터(422))을 직접 조회 결과로 하여 제공할 수 있다. 상기 간섭 필드(예를 들어, 간섭 필드(501))를 구비한 경우, 컴퓨팅 기기(102)는 소스 데이터(422) 및 간섭 필드(501)에 기반하여 조회 결과(502)(도 5를 참조)를 결정할 수 있으며, 조회 결과(502)를 조회 요청에 대한 응답으로 제공한다.
이상에서는 본 발명의 실시예에 따른 인덱스 관리 프로세스(200)를 설명하였다. 이러한 방식으로, 데이터 식별자 및 인덱스 식별자를 이용하여 타겟 인덱스와 타겟 데이터 사이의 연관성을 지시할 수 있으며, 또한 이에 기반하여 타겟 인덱스가 클리어되는지 여부를 결정한다. 따라서, 본 발명의 수단은 데이터베이스 인덱스를 효과적으로 관리할 수 있으며, 후속 호출에 오버 헤드 타임을 감소시키고 데이터 판독 성능을 향상시킨다.
도 6은 본 발명의 일부 실시예에 따른 타겟 인덱스와 관련되는 동작을 결정하는 프로세스(600)의 흐름도이다. 프로세스(600)는 도 1의 컴퓨팅 기기(102)에 의해 구현될 수 있으며, 또한 도 2 중의 블록 240의 일 구체적인 구현으로 인식될 수 있다.
인덱스 식별자(112)와 데이터 식별자(122)가 매칭되지 않는다고 결정되면, 블록 610에서, 컴퓨팅 기기(102)는 타겟 데이터(121)와 관련되는 인덱스 세트를 생성한다. 컴퓨팅 기기(102)는 타겟 데이터(121)를 분석하고 또한 타겟 인덱스(111)를 생성한 규칙과 동일한 기설정 규칙에 기반하여 상기 인덱스 세트를 생성할 수 있다. 예를 들면, 컴퓨팅 기기(102)는 타겟 데이터(121)를 분석할 수 있고, 속성 "type"에 대해 상기 인덱스 세트를 생성한다. 타겟 데이터(121)가 소스 데이터 및 간섭 필드를 포함하면, 상기 인덱스 세트를 생성할 시 컴퓨팅 기기(102)는 우선 소스 데이터 및 간섭 필드를 합병시켜야 하며, 또한 합병 후의 데이터에 기반하여 상기 인덱스 세트를 생성한다.
블록 620에서, 컴퓨팅 기기(102)는 블록 610에서 생성된 상기 인덱스 세트가 타겟 인덱스(111)를 포함하는지 여부를 결정한다. 상기 인덱스 세트가 타겟 인덱스(111)를 포함하면, 타겟 인덱스(111)는 타겟 데이터(121)와 관련된 것임을 의미하고, 프로세스(600)는 블록 630으로 진행된다. 블록 630에서, 컴퓨팅 기기(102)는 데이터 식별자(122)에 기반하여 인덱스 식별자(112)를 수정함으로써 인덱스 식별자(112)와 데이터 식별자(122)가 매칭되도록 한다. 예를 들어, 신뢰 식별자가 타임 스탬프인 경우, 컴퓨팅 기기(102)는 인덱스 식별자(112)를 데이터 식별자(122)와 동일한 타임 스탬프로 수정할 수 있다.
타겟 데이터(121)가 소스 데이터 및 간섭 필드를 포함할 경우에 대해, 인덱스 식별자는 또한 NULL과 같은 기설정 식별자일 수 있다. 따라서, 일부 실시예에서, 컴퓨팅 기기(102)는 인덱스 식별자(112)가 기설정 식별자인지 여부를 결정할 수 있으며, 기설정 식별자는 타겟 인덱스(111)와 타겟 데이터(121)의 연관성이 불확실함을 지시한다. 인덱스 식별자(112)가 기설정 식별자임을 결정할 경우, 컴퓨팅 기기(102)는 인덱스 식별자(112)를 데이터 식별자(122)로 수정할 수 있다.
데이터 조회 과정과 결합한 실시예(전술한 블록 210을 참조하여 언급된 바와 같이)에서, 블록 630에서, 컴퓨팅 기기(102)는 타겟 데이터(121)에 기반하여 조회에 대한 응답을 제공할 수 있다. 예를 들어, 도 2에서 설명된 전술한 바와 같이, 컴퓨팅 기기(102)는 타겟 데이터(121)에 기반하여 조회 결과를 결정할 수 있으며, 조회 결과를 조회 요청에 대한 응답으로 제공한다.
컴퓨팅 기기(102)가 블록 620에서 상기 인덱스 세트가 타겟 인덱스(112)를 포함하지 않는다고 결정할 경우, 이는 타겟 인덱스(111)가 타겟 데이터(121)를 더이상 지시하지 않음을 의미하고, 즉 타겟 인덱스(111)는 클리어되어야 하는 더티 인덱스로 됨을 의미한다. 이경우, 프로세스(600)는 블록 640으로 진행된다. 블록 640에서, 컴퓨팅 기기(102)는 타겟 인덱스(111) 및 인덱스 식별자(112)를 삭제한다. 즉 컴퓨팅 기기(102)는 더티 인덱스의 퇴장 동작을 수행한다.
본 출원에서, 도 6을 참조하여 설명된 프로세스(600)는 퇴장 논리 처리로 지칭될 수 있다. 전술한 설명에서 언급된 바와 같이, 데이터 조회 과정에서, 데이터 식별자와 인덱스 식별자가 매칭되는 경우에 대해, 퇴장 논리 처리를 수행하지 않고 직접 조회 결과를 제공할 수 있다. 이는 주요하게 기존의 수요에 따라 퇴장하는 수단 중 2개의 문제를 최적화한다. 첫째는, 매번 조회마다 모두 데이터를 분석해야 한다는 것이고, 둘째는, 매번 조회 때마다 모두 타겟 인덱스가 타겟 데이터에 의해 생성된 인덱스에 포함되어 있는지 여부를 판단해야 하는 것이다. 따라서, 이러한 실시예에서, 데이터 식별자 및 인덱스 식별자를 사용하여, 데이터 조회의 효율 및 데이터베이스의 판독 성능을 향상시킬 수 있다.
인덱스 식별자 및 데이터 식별자를 사용하기 위해, 컴퓨팅 기기(102)는 타겟 데이터(121)에 기반하여 타겟 인덱스(111) 및 인덱스 식별자(112)를 생성해야 한다. 타겟 데이터(121)가 간섭 필드를 포함하지 않는 경우에 대해, 타겟 데이터(121)가 데이터베이스(101)에 입력되고자 하거나 이미 입력된 것임이 결정될 경우, 컴퓨팅 기기(102)는 타겟 인덱스(111) 및 데이터 식별자(122)를 생성할 수 있으며, 또한 생성된 데이터 식별자(122)에 기반하여 인덱스 식별자(112)를 결정한다. 예를 들어, 타겟 데이터(121)가 초기에 데이터베이스(101)에 입력될 경우, 또는 타겟 데이터(121)의 업데이트가 인덱스와 관련된 필드(인덱스의 배치 필드)에 연관될 경우, 타겟 인덱스(111) 및 데이터 식별자(122)를 생성하며, 예를 들어, 데이터 식별자(122)는 타겟 데이터(121)를 초기 입력하거나 업데이트할 때의 타임 스탬프이다. 다음, 컴퓨팅 기기(102)는 데이터 식별자(122)에 기반하여 인덱스 식별자(112)를 데이터 식별자(122)와 동일한 타임 스탬프로 설정할 수 있다.
아래에 타겟 데이터(121)가 소스 데이터 및 소스 데이터를 수정하기 위한 간섭 필드를 포함한 경우를 고려한다(예를 들어, 도 5에 도시된 바와 같음). 타겟 인덱스(111)가 타겟 데이터(121)가 데이터베이스(101)에 초기에 입력될 때 생성된 것이면, 인덱스 식별자(112)의 설정은 간섭 필드를 포함하지 않은 경우와 동일하며, 즉 데이터 식별자(122)와 매칭되게 설치된다. 타겟 인덱스(111)가 타겟 데이터(121)가 업데이트될 때 생성된 것이면, 업데이트된 것이 소스 데이터인지 간섭 필드인지 고려해야 한다. 타겟 데이터(121)의 소스 데이터가 업데이트되고자 하거나 이미 업데이트되었다고 결정될 경우, 컴퓨팅 기기(102)는 타겟 인덱스(111)(업데이트가 인덱스와 관계되는 필드에 연관되는 경우)를 생성할 수 있고, 또한 대응되는 인덱스 식별자(112)를 NULL과 같은 기설정 식별자로 결정하며, 이러한 기설정 식별자는 타겟 인덱스(111)와 타겟 데이터(121)의 연관성이 불확실함을 지시한다. 이는 간섭 필드가 소스 데이터보다 높은 우선권을 가지므로, 소스 데이터를 관계되는트할 때 간섭 필드를 판독하지 않으면 타겟 인덱스와 타겟 데이터 사이의 연관성을 알 수 없게 된다.
계속하여 도 3, 도 4 및 도 5 중의 예시를 참조하여 타겟 데이터가 소스 데이터 및 간섭 필드 두 부분을 포함하는 경우에 대해 설명한다. 데이터 식별자의 업데이트는 d 열 패밀리(311) 및 s 열 패밀리(312) 2개의 열 패밀리의 업데이트로 나뉜다. (1) d 열 패밀리(311)(즉 d:@cnt 열(321)) 업데이트 시, 즉 소스 데이터 업데이트 시, 데이터 식별자를 업데이트하는데 이는 d 열 패밀리(311)에 저장된 것이 원래의 가공 데이터이므로 수정이 있을 경우 데이터 식별자는 반드시 업데이트되어야 하기 때문이다. (2) s 열 패밀리(312) 업데이트 시, 업데이트된 필드가 인덱스와 연관되는 필드에 포함될 때에만 데이터 식별자를 업데이트하며 그러지 않을 경우 그 어떤 동작도 수행하지 않는다. 도 4 중의 예시에 대해, 업데이트된 필드가 "type" 필드와 연관될 경우에만 데이터 식별자를 업데이트한다. 업데이트된 필드가 "name"이면, 데이터 식별자를 업데이트하지 않는다.
인덱스 식별자 업데이트는 아래 3가지 경우로 나뉜다. (1) d 열 패밀리(311) 데이터가 초기화될 경우, 데이터 식별자와 매칭되는 인덱스 식별자를 직접 입력한다. (2) d 열 패밀리(311) 업데이트로 인해 인덱스를 입력(즉, 업데이트가 인덱스와 연관되는 필드에 연관됨)할 경우, 입력 성능을 향상시키기 위해, 데이터 입력 시 기존 데이터의 s 열 패밀리(312)를 판독 및 합병하지 않음으로 인해, 인덱스와 데이터 사이의 연관성을 알 수 없게 되므로, 생성된 인덱스와 대응되는 인덱스 식별자는 NULL과 같은 기설정 식별자로 설정된다. (3) s 열 패밀리(312) 업데이트로 인해 인덱스를 입력할 경우, 업데이트된 필드는 인덱스와 연관되는 필드에 관련되며, 인덱스 식별자를 데이터 식별자와 매칭되게 설정하고, 그러지 않으면 아무런 처리도 수행하지 않는다.
도 7은 본 발명의 실시예에 따른 인덱스 관리 장치(700)의 예시적 블록도를 도시한다. 도 7에 도시된 바와 같이, 장치(700)는 데이터베이스에 저장된 타겟 데이터에 대한 타겟 인덱스를 결정하도록 구성되는 인덱스 결정 모듈(710)(여기서 타겟 인덱스는 타겟 인덱스의 저장 버전을 식별하기 위한 대응되는 인덱스 식별자를 구비함); 타겟 인덱스에 기반하여, 데이터베이스에 저장된 타겟 데이터를 획득하도록 구성되는 데이터 획득 모듈(720)(여기서 타겟 데이터는 타겟 데이터의 저장 버전을 식별하기 위한 대응되는 데이터 식별자를 구비함); 및 인덱스 식별자와 데이터 식별자가 매칭되지 않는 것에 응답하여, 타겟 인덱스와 관련되는 동작을 결정하도록 구성되는 동작 결정 모듈(730)을 포함한다.
일부 실시예에서, 동작 결정 모듈(730)은, 타겟 데이터와 관련되는 인덱스 세트를 생성하도록 구성되는 데이터 해석 모듈; 인덱스 세트가 타겟 인덱스를 포함하는지 여부를 결정하도록 구성되는 인덱스 판단 모듈; 및 인덱스 세트가 타겟 인덱스를 포함하는 것에 응답하여, 인덱스 식별자와 데이터 식별자가 매칭되도록 데이터 식별자에 기반하여 인덱스 식별자를 수정하도록 구성되는 식별자 수정 모듈을 포함한다.
일부 실시예에서, 식별자 수정 모듈은, 인덱스 식별자가 기설정 식별자인지 여부를 결정하도록 구성되는 식별자 판단 모듈(여기서 기설정 식별자는 타겟 인덱스와 타겟 데이터의 연관성이 불확실함을 지시함); 및 인덱스 식별자가 기설정 식별자임을 결정한 것에 응답하여, 인덱스 식별자를 데이터 식별자로 수정하도록 구성되는 예정 수정 모듈을 포함한다.
일부 실시예에서, 인덱스 관리 장치(700)는, 인덱스 세트가 타겟 인덱스를 포함하지 않는 것에 응답하여, 타겟 인덱스와 인덱스 식별자를 삭제하도록 구성되는 인덱스 삭제 모듈을 더 포함한다.
일부 실시예에서, 인덱스 결정 모듈(710)은, 타겟 데이터에 대한 조회 요청을 수신하도록 구성되는 요청 수신 모듈; 및 조회 요청 중의 키워드에 기반하여, 타겟 인덱스를 결정하도록 구성되는 타겟 결정 모듈을 포함한다.
일부 실시예에서, 인덱스 관리 장치(700)는, 인덱스 식별자와 데이터 식별자가 매칭되는 것에 응답하여, 타겟 데이터에 기반하여 조회 결과를 결정하도록 구성되는 결과 결정 모듈; 및 조회 요청에 대한 응답으로 조회 결과를 제공하도록 구성되는 결과 제공 모듈을 더 포함한다.
일부 실시예에서, 데이터 획득 모듈(720)은, 타겟 인덱스에 기반하여, 데이터베이스 중 타겟 데이터의 저장 위치를 결정하도록 구성되는 위치 결정 모듈; 및 저장 위치에 기반하여, 데이터베이스로부터 타겟 데이터를 획득하도록 구성되는 타겟 획득 모듈을 포함한다.
일부 실시예에서, 인덱스 관리 장치(700)는, 타겟 데이터에 기반하여, 타겟 인덱스 및 인덱스 식별자를 생성하도록 구성되는 식별자 생성 모듈을 더 포함한다.
일부 실시예에서, 식별자 생성 모듈은, 타겟 데이터가 데이터베이스에 입력될 것임을 결정한 것에 응답하여, 타겟 인덱스 및 데이터 식별자를 생성하도록 구성되는 제1 인덱스 생성 모듈; 및 생성된 데이터 식별자에 기반하여 인덱스 식별자를 결정하도록 구성되는 인덱스 식별자 결정 모듈을 포함한다.
일부 실시예에서, 타겟 데이터는 소스 데이터 및 소스 데이터를 수정하기 위한 간섭 필드를 포함하며, 여기서 식별자 생성 모듈은, 타겟 데이터의 소스 데이터가 업데이트될 것임을 결정한 것에 응답하여, 타겟 인덱스를 생성하도록 구성되는 제2 인덱스 생성 모듈; 및 인덱스 식별자를 기설정 식별자로 결정하도록 구성되는 예정 식별자 결정 모듈을 포함하되, 기설정 식별자는 타겟 인덱스와 타겟 데이터의 연관성이 불확실함을 지시한다.
도 8은 본 발명의 실시예가 구현될 수 있는 예시적 기기(800)의 예시적 블록도를 도시한다. 기기(800)는 도 1의 컴퓨팅 기기(102)를 구현할 수 있다. 도면에 도시된 바와 같이, 기기(800)는 판독 전용 메모리(ROM)(802)에 저장된 컴퓨터 프로그램 명령 또는 저장 유닛(808)으로부터 랜덤 액세스 메모리(RAM)(803)에 로딩된 컴퓨터 프로그램 명령에 따라, 다양한 적절한 동작 및 처리를 수행할 수 있는 중앙 처리 장치(CPU)(801)를 포함한다. RAM(803)에, 기기(800) 작동에 필요한 다양한 프로그램과 데이터가 더 저장될 수 있다. CPU(801), ROM(802) 및 RAM(803)은 버스(804)를 통해 서로 연결된다. 입력/출력(I/O) 인터페이스(805)도 버스(804)에 연결된다.
예를 들어 키보드, 마우스 등을 포함하는 입력 유닛(806); 예를 들어 디스플레이 장치, 스피커 등을 포함하는 출력 유닛(807); 예를 들어 자기 디스크, 광 디스크 등을 포함하는 저장 유닛(808); 및 예를 들어 LAN 카드, 모뎀, 무선 통신 트랜시버 등을 포함하는 통신 유닛(809)을 포함하는 기기(800) 중의 복수개의 부재는 I/O 인터페이스(805)에 연결된다. 통신 유닛(809)은 기기(800)가 인터넷과 같은 컴퓨터 네트워크 및/또는 다양한 전기 통신망에 의해 다른 기기와 정보/데이터를 교환할 수 있도록 허용한다.
처리 유닛(801)은 예를 들어 프로세스(200) 및 프로세스(600) 중 어느 하나와 같이 전술한 다양한 방법과 처리를 수행한다. 예를 들어, 일부 실시예에서, 프로세스(200) 및 프로세스(600) 중 어느 하나는 저장 유닛(808)과 같은 기계 판독 가능 매체에 유형으로 포함되는 컴퓨터 소프트웨어 프로그램에 의해 구현될 수 있다. 일부 실시예에서, 컴퓨터 프로그램의 일부 또는 전부는 ROM(802) 및/또는 통신 유닛(809)에 의해 기기(800)에 로딩 및/또는 실장될 수 있다. 컴퓨터 프로그램이 RAM(803)에 로딩되고 CPU(801)에 의해 실행될 경우, 전술한 프로세스(200) 및 프로세스(600) 중 어느 하나 또는 복수개의 단계를 수행할 수 있다. 선택적으로 가능하게, 다른 실시예에서, CPU(801)는 다른 임의의 적절한 방식에 의해(예를 들어, 펌웨어에 의해) 프로세스(200) 및 프로세스(600) 중 어느 하나를 수행하도록 구성될 수 있다.
본문에서 이상 설명된 기능은 적어도 일부가 하나 또는 복수개의 하드웨어 논리 부재에 의해 실행될 수 있다. 예를 들어, 비제한적으로, 사용 가능한 시범 유형의 하드웨어 논리 부재는 필드 프로그램 가능 게이트 어레이(FPGA), 전용 집적 회로(ASIC), 전용 표준 제품(ASSP), 시스템 온 칩의 시스템(SOC), 복합 프로그램 가능한 논리 소자(CPLD) 등을 포함한다.
본 발명의 방법을 구현하는 프로그램 코드는 하나 또는 복수개의 프로그래밍 언어의 임의의 조합으로 편집할 수 있다. 이러한 프로그램 코드는 범용 컴퓨터, 전용 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치의 프로세서 또는 제어기에 제공될 수 있으며, 프로그램 코드는 프로세서 또는 제어기에 의해 실행될 경우, 흐름도 및/또는 블록도에 지정된 기능/작동이 구현되도록 할 수 있다. 프로그램 코드는 완전히 기계에서 실행되거나, 부분적으로 기계에서 실행되거나, 독립형 소프트웨어 패키지로서 기계에서 실행되며, 일부는 원격 기계에서 실행되거나 완전히 원격 기계 또는 서버에서 실행될 수 있다.
본 발명의 컨텍스트에서, 기계 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 의해 또는 명령 실행 시스템, 장치 또는 기기와 결합하여 사용하기 위한 프로그램을 포함하거나 저장할 수 있는 유형 매체일 수 있다. 기계 판독 가능 매체는 기계 판독 가능 신호 매체 또는 기계 판독 가능한 저장 매체일 수 있다. 기계 판독 가능 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 기기, 또는 상기 내용의 임의의 적절한 조합을 포함할 수 있지만 이에 한정되지 않는다. 기계 판독 가능한 저장 매체의 보다 구체적인 예는 하나 또는 복수개의 와이어에 기반한 전기 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, CD-ROM, 광학 저장 기기, 자기 저장 기기 또는 전술한 내용의 임의의 적절한 조합을 포함한다.
이밖에, 특정 순서로 각 동작을 설명하였지만, 이는 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되도록 요구되거나 모든 도시된 동작들이 예기한 결과에 달성하기 위해 수행되어야 함을 이해해야 한다. 일정한 환경에서, 다수의 미션 및 합병 처리는 유리할 수 있다. 마찬가지로, 전술한 설명에서 여러 개의 구체적인 구현 세부사항이 포함되어 있지만 이것이 본 발명의 범위를 한정하는 것으로 해석되어서는 안 된다. 독립적인 실시예의 컨텍스트에서 설명된 특정된 특징은 단일 구현으로 조합되어 구현될 수 있다. 반대로, 단일 구현의 컨텍스트에서 설명된 다양한 특징은 또한 다수의 구현에서 독립적으로 또는 임의의 적절한 하위 조합으로 구현될 수도 있다.
구조 특징 및/또는 방법 논리적 동작에 특정된 언어로 본 주제를 설명하였지만, 첨부된 청구범위에서 한정된 주제는 전술한 특정된 특징 또는 동작에 반드시 한정되는 것은 아님을 이해해야 한다. 반대로, 전술한 특정된 특징 및 동작은 단지 청구범위의 예시적 형태를 구현하기 위한 것이다.

Claims (22)

  1. 인덱스 관리 방법으로서,
    데이터베이스에 저장된 타겟 데이터에 대한 타겟 인덱스를 결정하는 단계로서, 상기 타겟 인덱스는 상기 타겟 인덱스의 저장 버전을 식별하기 위한 대응되는 인덱스 식별자를 구비하는, 상기 타겟 인덱스를 결정하는 단계;
    상기 타겟 인덱스에 기반하여, 상기 데이터베이스에 저장된 상기 타겟 데이터를 획득하는 단계로서, 상기 타겟 데이터는 상기 타겟 데이터의 저장 버전을 식별하기 위한 대응되는 데이터 식별자를 구비하는, 상기 타겟 데이터를 획득하는 단계; 및
    상기 인덱스 식별자와 상기 데이터 식별자가 매칭되지 않는 것에 응답하여, 상기 타겟 인덱스와 관련되는 동작을 결정하는 단계를 포함하는, 인덱스 관리 방법.
  2. 제1항에 있어서,
    상기 타겟 인덱스와 관련되는 상기 동작을 결정하는 단계는,
    상기 타겟 데이터와 관련되는 인덱스 세트를 생성하는 단계;
    상기 인덱스 세트가 상기 타겟 인덱스를 포함하는지 여부를 결정하는 단계; 및
    상기 인덱스 세트가 상기 타겟 인덱스를 포함하는 것에 응답하여, 상기 인덱스 식별자와 상기 데이터 식별자가 매칭되도록 상기 데이터 식별자에 기반하여 상기 인덱스 식별자를 수정하는 단계를 포함하는, 인덱스 관리 방법.
  3. 제2항에 있어서,
    상기 인덱스 식별자를 수정하는 단계는,
    상기 인덱스 식별자가 기설정 식별자인지 여부를 결정하는 단계로서, 상기 기설정 식별자는 상기 타겟 인덱스와 상기 타겟 데이터의 연관성이 불확실함을 지시하는, 상기 상기 인덱스 식별자가 기설정 식별자인지 여부를 결정하는 단계; 및
    상기 인덱스 식별자가 상기 기설정 식별자임을 결정한 것에 응답하여, 상기 인덱스 식별자를 상기 데이터 식별자로 수정하는 단계를 포함하는, 인덱스 관리 방법.
  4. 제2항에 있어서,
    상기 인덱스 세트가 상기 타겟 인덱스를 포함하지 않는 것에 응답하여, 상기 타겟 인덱스와 상기 인덱스 식별자를 삭제하는 단계를 더 포함하는, 인덱스 관리 방법.
  5. 제1항에 있어서,
    상기 타겟 인덱스를 결정하는 단계는,
    상기 타겟 데이터에 대한 조회 요청을 수신하는 단계; 및
    상기 조회 요청 중의 키워드에 기반하여, 상기 타겟 인덱스를 결정하는 단계를 포함하는, 인덱스 관리 방법.
  6. 제5항에 있어서,
    상기 인덱스 식별자와 상기 데이터 식별자가 매칭되는 것에 응답하여, 상기 타겟 데이터에 기반하여 조회 결과를 결정하는 단계; 및
    상기 조회 요청에 대한 응답으로 상기 조회 결과를 제공하는 단계를 더 포함하는, 인덱스 관리 방법.
  7. 제1항에 있어서,
    상기 타겟 데이터를 획득하는 단계는,
    상기 타겟 인덱스에 기반하여, 상기 데이터베이스 중 상기 타겟 데이터의 저장 위치를 결정하는 단계; 및
    상기 저장 위치에 기반하여, 상기 데이터베이스로부터 상기 타겟 데이터를 획득하는 단계를 포함하는, 인덱스 관리 방법.
  8. 제1항에 있어서,
    상기 타겟 데이터에 기반하여, 상기 타겟 인덱스 및 상기 인덱스 식별자를 생성하는 단계를 더 포함하는, 인덱스 관리 방법.
  9. 제8항에 있어서,
    상기 타겟 인덱스 및 상기 인덱스 식별자를 생성하는 단계는,
    상기 타겟 데이터가 상기 데이터베이스에 입력될 것임을 결정한 것에 응답하여, 상기 타겟 인덱스 및 상기 데이터 식별자를 생성하는 단계; 및
    생성된 상기 데이터 식별자에 기반하여 상기 인덱스 식별자를 결정하는 단계를 포함하는, 인덱스 관리 방법.
  10. 제8항에 있어서,
    상기 타겟 데이터는 소스 데이터 및 상기 소스 데이터를 수정하기 위한 간섭 필드를 포함하며, 상기 타겟 인덱스 및 상기 인덱스 식별자를 생성하는 단계는,
    상기 타겟 데이터의 상기 소스 데이터가 업데이트될 것임을 결정한 것에 응답하여, 상기 타겟 인덱스를 생성하는 단계; 및
    상기 인덱스 식별자를 기설정 식별자로 결정하는 단계로서, 상기 기설정 식별자는 상기 타겟 인덱스와 상기 타겟 데이터의 연관성이 불확실함을 지시하는, 상기 인덱스 식별자를 기설정 식별자로 결정하는 단계를 포함하는, 인덱스 관리 방법.
  11. 인덱스 관리 장치로서,
    데이터베이스에 저장된 타겟 데이터에 대한 타겟 인덱스를 결정하도록 구성되는 인덱스 결정 모듈로서, 상기 타겟 인덱스는 상기 타겟 인덱스의 저장 버전을 식별하기 위한 대응되는 인덱스 식별자를 구비하는, 상기 인덱스 결정 모듈;
    상기 타겟 인덱스에 기반하여, 상기 데이터베이스에 저장된 상기 타겟 데이터를 획득하도록 구성되는 데이터 획득 모듈로서, 상기 타겟 데이터는 상기 타겟 데이터의 저장 버전을 식별하기 위한 대응되는 데이터 식별자를 구비하는, 상기 데이터 획득 모듈; 및
    상기 인덱스 식별자와 상기 데이터 식별자가 매칭되지 않는 것에 응답하여, 상기 타겟 인덱스와 관련되는 동작을 결정하도록 구성되는 동작 결정 모듈을 포함하는, 인덱스 관리 장치.
  12. 제11항에 있어서,
    상기 동작 결정 모듈은,
    상기 타겟 데이터와 관련되는 인덱스 세트를 생성하도록 구성되는 데이터 해석 모듈;
    상기 인덱스 세트가 상기 타겟 인덱스를 포함하는지 여부를 결정하도록 구성되는 인덱스 판단 모듈; 및
    상기 인덱스 세트가 상기 타겟 인덱스를 포함하는 것에 응답하여, 상기 인덱스 식별자와 상기 데이터 식별자가 매칭되도록 상기 데이터 식별자에 기반하여 상기 인덱스 식별자를 수정하도록 구성되는 식별자 수정 모듈을 포함하는, 인덱스 관리 장치.
  13. 제12항에 있어서,
    상기 식별자 수정 모듈은,
    상기 인덱스 식별자가 기설정 식별자인지 여부를 결정하도록 구성되는 식별자 판단 모듈로서, 상기 기설정 식별자는 상기 타겟 인덱스와 상기 타겟 데이터의 연관성이 불확실함을 지시하는, 상기 식별자 판단 모듈; 및
    상기 인덱스 식별자가 상기 기설정 식별자임을 결정한 것에 응답하여, 상기 인덱스 식별자를 상기 데이터 식별자로 수정하도록 구성되는 기설정 수정 모듈을 포함하는, 인덱스 관리 장치.
  14. 제12항에 있어서,
    상기 인덱스 세트가 상기 타겟 인덱스를 포함하지 않는 것에 응답하여, 상기 타겟 인덱스와 상기 인덱스 식별자를 삭제하도록 구성되는 인덱스 삭제 모듈을 더 포함하는, 인덱스 관리 장치.
  15. 제11항에 있어서,
    상기 인덱스 결정 모듈은,
    상기 타겟 데이터에 대한 조회 요청을 수신하도록 구성되는 요청 수신 모듈; 및
    상기 조회 요청 중의 키워드에 기반하여, 상기 타겟 인덱스를 결정하도록 구성되는 타겟 결정 모듈을 포함하는, 인덱스 관리 장치.
  16. 제15항에 있어서,
    상기 인덱스 식별자와 상기 데이터 식별자가 매칭되는 것에 응답하여, 상기 타겟 데이터에 기반하여 조회 결과를 결정하도록 구성되는 결과 결정 모듈; 및
    상기 조회 요청에 대한 응답으로 상기 조회 결과를 제공하도록 구성되는 결과 제공 모듈을 더 포함하는, 인덱스 관리 장치.
  17. 제11항에 있어서,
    상기 데이터 획득 모듈은,
    상기 타겟 인덱스에 기반하여, 상기 데이터베이스 중 상기 타겟 데이터의 저장 위치를 결정하도록 구성되는 위치 결정 모듈; 및
    상기 저장 위치에 기반하여, 상기 데이터베이스로부터 상기 타겟 데이터를 획득하도록 구성되는 타겟 획득 모듈을 포함하는, 인덱스 관리 장치.
  18. 제11항에 있어서,
    상기 타겟 데이터에 기반하여, 상기 타겟 인덱스 및 상기 인덱스 식별자를 생성하도록 구성되는 식별자 생성 모듈을 더 포함하는, 인덱스 관리 장치.
  19. 제18항에 있어서,
    상기 식별자 생성 모듈은,
    상기 타겟 데이터가 상기 데이터베이스에 입력될 것임을 결정한 것에 응답하여, 상기 타겟 인덱스 및 상기 데이터 식별자를 생성하도록 구성되는 제1 인덱스 생성 모듈; 및
    생성된 상기 데이터 식별자에 기반하여 상기 인덱스 식별자를 결정하도록 구성되는 인덱스 식별자 결정 모듈을 포함하는, 인덱스 관리 장치.
  20. 제18항에 있어서,
    상기 타겟 데이터는 소스 데이터 및 상기 소스 데이터를 수정하기 위한 간섭 필드를 포함하며, 상기 식별자 생성 모듈은,
    상기 타겟 데이터의 상기 소스 데이터가 업데이트될 것임을 결정한 것에 응답하여, 상기 타겟 인덱스를 생성하도록 구성되는 제2 인덱스 생성 모듈; 및
    상기 인덱스 식별자를 기설정 식별자로 결정하도록 구성되는 기설정 식별자 결정 모듈로서, 상기 기설정 식별자는 상기 타겟 인덱스와 상기 타겟 데이터의 연관성이 불확실함을 지시하는, 상기 기설정 식별자 결정 모듈을 포함하는, 인덱스 관리 장치.
  21. 기기로서,
    하나 또는 복수개의 프로세서; 및
    하나 또는 복수개의 프로그램을 저장하기 위한 저장 장치를 포함하되, 상기 하나 또는 복수개의 프로그램이 상기 하나 또는 복수개의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수개의 프로세서가 제1항 내지 제10항 중 어느 한 항에 따른 인덱스 관리 방법을 구현하도록 하는, 기기.
  22. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 저장 매체로서,
    상기 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제10항 중 어느 한 항에 따른 인덱스 관리 방법을 구현하는, 컴퓨터 판독 가능한 저장 매체.
KR1020190157615A 2019-01-29 2019-11-29 인덱스 관리 방법, 장치, 기기 및 저장 매체 KR102368775B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910088131.2 2019-01-29
CN201910088131.2A CN109815240B (zh) 2019-01-29 2019-01-29 用于管理索引的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
KR20200094074A true KR20200094074A (ko) 2020-08-06
KR102368775B1 KR102368775B1 (ko) 2022-02-28

Family

ID=66605764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190157615A KR102368775B1 (ko) 2019-01-29 2019-11-29 인덱스 관리 방법, 장치, 기기 및 저장 매체

Country Status (5)

Country Link
US (1) US11308060B2 (ko)
EP (1) EP3690669A1 (ko)
JP (1) JP6982049B2 (ko)
KR (1) KR102368775B1 (ko)
CN (1) CN109815240B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112269905B (zh) * 2020-11-06 2023-07-21 湖南快乐阳光互动娱乐传媒有限公司 一种提高系统数据查询能力的方法及系统
US20220158831A1 (en) * 2020-11-13 2022-05-19 Citrix Systems, Inc. Preventing http cookie stealing using cookie morphing
CN113407741B (zh) * 2021-06-04 2022-09-20 北京三快在线科技有限公司 素材管理方法、装置、电子设备及存储介质
CN114328526A (zh) * 2021-12-27 2022-04-12 中国电信股份有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN114743694A (zh) * 2022-04-18 2022-07-12 北京京东拓先科技有限公司 筛选数据的方法、装置、设备和计算机可读介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003366A (ja) * 1998-06-11 2000-01-07 Hitachi Ltd 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2003281182A (ja) * 2002-03-19 2003-10-03 Seiko Epson Corp 情報検索装置、情報検索方法、プログラムおよび記録媒体
KR20080046905A (ko) * 2006-11-23 2008-05-28 삼성전자주식회사 최적화된 인덱스 검색 방법 및 장치
JP2008165474A (ja) * 2006-12-28 2008-07-17 Internatl Business Mach Corp <Ibm> データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
JP2015210815A (ja) * 2014-04-25 2015-11-24 ネイバー コーポレーションNAVER Corporation データベース管理方法及びデータベース管理システム
CN105512325A (zh) * 2015-12-21 2016-04-20 华为技术有限公司 多版本数据索引的更新、删除与建立方法及装置
US20180300352A1 (en) * 2015-11-20 2018-10-18 Hewlett-Packard Development Company, L.P. Xml file condensing

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727196A (en) 1992-05-21 1998-03-10 Borland International, Inc. Optimized query interface for database management systems
JP2000501532A (ja) 1995-12-01 2000-02-08 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー データベースアクセス
US7499907B2 (en) * 2001-10-12 2009-03-03 Teradata Us, Inc. Index selection in a database system
JP4299022B2 (ja) 2003-02-28 2009-07-22 トヨタ自動車株式会社 コンテンツ検索用インデックス生成装置
JP5310399B2 (ja) * 2009-09-01 2013-10-09 富士通株式会社 索引管理装置の処理方法および索引管理装置
US8903814B2 (en) 2011-07-07 2014-12-02 International Business Machines Corporation Indexing timestamp with time zone value
WO2013138179A1 (en) * 2012-03-13 2013-09-19 Google Inc. System and method for providing a binary representation of a web page
EP2856404A4 (en) * 2012-05-24 2015-12-09 Google Inc SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR PROVIDING A CONTACTLESS PROTOCOL
US11816465B2 (en) * 2013-03-15 2023-11-14 Ei Electronics Llc Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
CN103605777B (zh) * 2013-11-28 2017-04-12 北京国双科技有限公司 数据库索引处理方法和装置
CN103714121B (zh) * 2013-12-03 2017-07-14 华为技术有限公司 一种索引记录的管理方法及装置
CN103741421B (zh) 2013-12-12 2016-05-11 张子军 定型机热循环以及除废系统
CN103902698B (zh) * 2014-03-31 2018-04-13 北京皮尔布莱尼软件有限公司 一种数据存储系统和存储方法
CN105183915B (zh) * 2015-10-14 2018-08-17 江苏师范大学 减少索引维护开销的多版本管理方法
CN107291768B (zh) * 2016-04-11 2021-03-05 创新先进技术有限公司 一种索引建立的方法及装置
CN108880972B (zh) 2017-05-09 2022-08-12 腾讯科技(深圳)有限公司 一种信息处理方法、服务器及终端
KR20190107965A (ko) * 2018-03-13 2019-09-23 주식회사 웨이브쓰리디 드론을 이용한 코딩 교육 시스템
US11088838B2 (en) * 2018-05-11 2021-08-10 Palo Alto Networks, Inc. Automated authentication of a new network element
US11874811B2 (en) * 2018-12-28 2024-01-16 Teradata Us, Inc. Control versioning of temporal tables to reduce data redundancy

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003366A (ja) * 1998-06-11 2000-01-07 Hitachi Ltd 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2003281182A (ja) * 2002-03-19 2003-10-03 Seiko Epson Corp 情報検索装置、情報検索方法、プログラムおよび記録媒体
KR20080046905A (ko) * 2006-11-23 2008-05-28 삼성전자주식회사 최적화된 인덱스 검색 방법 및 장치
JP2008165474A (ja) * 2006-12-28 2008-07-17 Internatl Business Mach Corp <Ibm> データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
JP2015210815A (ja) * 2014-04-25 2015-11-24 ネイバー コーポレーションNAVER Corporation データベース管理方法及びデータベース管理システム
US20180300352A1 (en) * 2015-11-20 2018-10-18 Hewlett-Packard Development Company, L.P. Xml file condensing
CN105512325A (zh) * 2015-12-21 2016-04-20 华为技术有限公司 多版本数据索引的更新、删除与建立方法及装置

Also Published As

Publication number Publication date
CN109815240B (zh) 2022-02-25
EP3690669A1 (en) 2020-08-05
US20200242097A1 (en) 2020-07-30
KR102368775B1 (ko) 2022-02-28
JP2020123320A (ja) 2020-08-13
US11308060B2 (en) 2022-04-19
CN109815240A (zh) 2019-05-28
JP6982049B2 (ja) 2021-12-17

Similar Documents

Publication Publication Date Title
US11334544B2 (en) Method, apparatus, device and medium for storing and querying data
KR20200094074A (ko) 인덱스 관리 방법, 장치, 기기 및 저장 매체
US20200057753A1 (en) Generating an index for a table in a database background
US8185546B2 (en) Enhanced control to users to populate a cache in a database system
US9411840B2 (en) Scalable data structures
US11030242B1 (en) Indexing and querying semi-structured documents using a key-value store
US20140046928A1 (en) Query plans with parameter markers in place of object identifiers
US10282437B2 (en) Partial indexes for partitioned tables
US10977251B1 (en) Join index bitmap for non-equality query conditions
CN105760418B (zh) 用于对关系数据库表进行交叉列搜索的方法和系统
US9734178B2 (en) Searching entity-key associations using in-memory objects
US8396858B2 (en) Adding entries to an index based on use of the index
CN109408539B (zh) 数据操作方法、装置、服务器和存储介质
US20110302220A1 (en) Sql processing for data conversion
US9984108B2 (en) Database joins using uncertain criteria
US10019483B2 (en) Search system and search method
CN103891244B (zh) 一种进行数据存储和检索的方法及装置
US20160210324A1 (en) Flexible data format for database management systems
US10929396B1 (en) Multi-type attribute index for a document database
US11372843B2 (en) Function-based indexes in database systems
US11586604B2 (en) In-memory data structure for data access
US20240078237A1 (en) Database Join Operations With Early Filtering
CN117874082A (zh) 一种关联字典数据检索的方法及相关组件
JP2003271649A (ja) リレーショナルデータベース問い合わせ処理方式及びリレーショナルデータベース問い合わせ処理システム

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant