IP Library › Granted Patent US 10,984,005
Granted Patent B2
US 10,984,005 · App. 15/712,842 · Granted Apr 20, 2021

Database search apparatus and method of searching databases

Inventor: Eiji Seki (Akashi, JP)
Assignee: FUJITSU LIMITED
G06F16/24578G06F16/2246G06F16/2462
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,984,005
App. No.
15/712,842
Granted
Apr 20, 2021
Kind
B2
Abstract

A database search apparatus includes a processor that receives a search query including first keys. The processor calculates a first score based on statistical information. The first score represents search performance of searching a first database in accordance with the search query. The first database stores a data group including combinations of a key and a value of the key. The statistical information includes information regarding each key included in the data group. The processor calculates a second score based on the statistical information. The second score represents search performance of searching a second database different from the first database in accordance with the search query, the second database storing the data group. The processor selects the first database or the second database based on the first score and the second score. The processor instructs the selected database to performing a search in accordance with the search query.

Claims (34)

1. A non-transitory computer-readable recording medium having stored therein a program that causes a computer to execute a process, the process comprising:

receiving a search query including first keys;

calculating a first score on basis of statistical information, the first score representing search performance of searching a first database in accordance with the search query, the first database storing a data group including combinations of a key and a value of the key, the first database being a relational database and having a B-tree index and a transposed index, the statistical information including information regarding each key included in the data group;

calculating a second score on basis of the statistical information, the second score representing search performance of searching a second database different from the first database in accordance with the search query, the second database storing the data group;

selecting the first database or the second database on basis of the first score and the second score;

instructing the selected database to perform a search in accordance with the search query;

determining, for each of first keys, whether the search is to be performed by using the B-tree index or the transposed index on basis of whether the search is a forward match search or an intermediate match search;

calculating third scores representing search performance of searching the first database for the first keys, respectively, on basis of the statistical information in accordance with results of the determining; and

calculating the first score on basis of the third scores.

2. The non-transitory computer-readable recording medium according to claim 1 , the process further comprising:

selecting the first database when the first score is better than the second score; and

selecting the second database when the second score is better than the first score.

3. The non-transitory computer-readable recording medium according to claim 1 , the process further comprising instructing the first database to perform the search in accordance with the results of the determining upon selecting the first database.

4. The non-transitory computer-readable recording medium according to claim 1 , wherein the statistical information includes a number of different keys included in the data group, a number of different values of each of the different keys, histogram data regarding the values of each of the different keys, a number of different words or grams included in the values of each of the different keys, and a histogram data regarding the words or grams included in the values of each of the different keys.

5. A method of searching databases, comprising:

receiving, by a computer, a search query including first keys;

calculating a first score on basis of statistical information, the first score representing search performance of searching a first database in accordance with the search query, the first database storing a data group including combinations of a key and a value of the key, the first database being a relational database and having a B-tree index and a transposed index, the statistical information including information regarding each key included in the data group;

calculating a second score on basis of the statistical information, the second score representing search performance of searching a second database different from the first database in accordance with the search query, the second database storing the data group;

selecting the first database or the second database on basis of the first score and the second score;

instructing the selected database to perform a search in accordance with the search query;

determining, for each of first keys, whether the search is to be performed by using the B-tree index or the transposed index on basis of whether the search is a forward match search or an intermediate match search;

calculating third scores representing search performance of searching the first database for the first keys, respectively, on basis of the statistical information in accordance with results of the determinations; and

calculating the first score on basis of the third scores.

6. A database search apparatus, comprising:

a memory that stores instructions; and

a processor coupled to the memory and the processor configured to execute the instructions to:

receive a search query including first keys;

calculate a first score on basis of statistical information, the first score representing search performance of searching a first database in accordance with the search query, the first database storing a data group including combinations of a key and a value of the key, the first database being a relational database and having a B-tree index and a transposed index, the statistical information including information regarding each key included in the data group;

calculate a second score on basis of the statistical information, the second score representing search performance of searching a second database different from the first database in accordance with the search query, the second database storing the data group;

select the first database or the second database on basis of the first score and the second score;

instruct the selected database to perform a search in accordance with the search query;

determine, for each of first keys, whether the search is to be performed by using the B-tree index or the transposed index on basis of whether the search is a forward match search or an intermediate match search;

calculate third scores representing search performance of searching the first database for the first keys, respectively, on basis of the statistical information in accordance with which of the forward and intermediate match search is used; and

calculate the first score on basis of the third scores.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2017
From: SEKI, EIJI
To: FUJITSU LIMITED
Reel/Frame 043742/0744 →
Priority Claims (1)
JP JP2016-197598 · Oct 5, 2016 · national
Continuity (1)
Related Publication 20180095968A1 · Apr 5, 2018