CN1139489A - Apparatus for accelerating processing of transactions on computer databases - Google Patents

Apparatus for accelerating processing of transactions on computer databases Download PDF

Info

Publication number
CN1139489A
CN1139489A CN94194672A CN94194672A CN1139489A CN 1139489 A CN1139489 A CN 1139489A CN 94194672 A CN94194672 A CN 94194672A CN 94194672 A CN94194672 A CN 94194672A CN 1139489 A CN1139489 A CN 1139489A
Authority
CN
China
Prior art keywords
value
search
address
database
key value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN94194672A
Other languages
Chinese (zh)
Inventor
L.M.惠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Paracom Corp
Original Assignee
Paracom Corp
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 Paracom Corp filed Critical Paracom Corp
Publication of CN1139489A publication Critical patent/CN1139489A/en
Pending legal-status Critical Current

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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

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

A hardware accelerator (120) for managing a computer database (110). The accelerator (120) includes a key memory (124) for storing a map of record key values to record address values, a search processor (122) for searching the key memory (124) for a given key value and providing the associated record address value to the central processor (102), and a bus interface (130) for interfacing the search processor (122) and the key memory (124) to the central processor (102). Database management software (116) executing on the central processor (102) requests a mapping from key values to record address values by issuing requests over the bus interface (130) to the search processor (122). The accelerator (120) also provides operations to add and delete entries in the key memory (124). The accelerator (124) uses a modified binary search that is particularly useful for searching a memory in which the search values of the entries are not unique; the modified binary search finds the first entry in the memory matching a given value. At each iteration of the binary search, the CARRY generated by the comparison of the probed entry to the given value is used to alter the probe address calculated in the next iteration of the search. Instead of terminating when the given value is found, the search continues until the start and end addresses have converged on the first entry that matches the given entry.

Description

The device of speed-up computation machine data storehouse issued transaction
Background of invention
The present invention is relevant with the apparatus and method of the issued transaction in speed-up computation machine data storehouse.
Computer Database is a set of data recording, and each data recording has one or more logic keys, and these logic keys play the effect of " name " of record.In general, when one in application requests accessing database record, it just provides a logic keys value to a data base administrator, then, data base administrator is acquired information from the index that is kept at disk or storer, this logic keys value is mapped to the address value of a record.This recording address value appointment data relevant with this logic keys value are recorded in the position on the disk.Therefore, the effect of database index and an index to a book are closely similar: the reader provides a logic keys value (topics of interest), and a recording address value (page number) of the information that seek then is provided by index.
One database can have a plurality of key words.In general, select a certain key word as " primary key ", it provides the clear and definite and visit rapidly to this record, and " from key word " provides the slower or more indefinite visit to a record.Such as, employee's database can use the primary key of employee's numbering as it, and with employee's name and department's numbering as from key word.Key word index resides on the disk as the fixed part of database.It can be stored in the same file with data recording itself (as the catalogue that is sticked together with a book), also can reside in the independent file and (resemble an encyclopedical index of multireel/overview volume).
Known data base management system (DBMS) is divided into two logical layers: the high level that is called data base administrator--and it provides user interface (such as data base query language), with the bottom that is called database engine (database engine)--the structure of its maintenance data base, i.e. logic keys value and be stored in relation between the physical data in the database file.
Summary of the invention
The first, the invention provides the hardware acceleration device of supervisory computer database.This acceleration equipment comprise the storage one map (this map with the record key value and the address value associated of record) a keyword memory; One search processor (,, and relevant recording key value being offered central processing unit) with its searched key word memory for a given key value; One bus interface (being used for search processor and keyword memory are connected to central processing unit); With a database management language (it is carried out on central processing unit, requires map from key value to the recording address value by send request to search processor on bus interface).
Preferred embodiment of the present invention can comprise following feature.Keyword memory can be stored the map from a key word to a plurality of recording addresses, such as for not exclusive from key word.Search processor can comprise the structure of using binary search search structure keyword memory, and this structure can provide in the keyword memory first that is complementary with a given key value.Database management language has a structure, a key value is offered search processor with map before the recording address, its is carried out from the map of the key value of a logic keys value to a coding.Central processing unit comprises the structure of distributing keyword memory.Be stored in the map that index file in the magnetic disk memory of principal computer can the storage key memory content.A port memory can be arranged, can the read and write keyword memory by its central processing unit.Search processor can provide index corresponding to an item of the keyword memory of given key value to central processing unit, and database management language is read every from the keyword memory corresponding to this index then.The database acceleration equipment can comprise to/in keyword memory, increase and/or the structure of deleted entry.
The second, the present invention has a kind of improved binary search, and this method is particularly useful to searching storage under the not unique situation of the value of the item of being searched for.Improved binary search finds the item of first coupling set-point in storer.As in a common binary search, every with the sequential storage that sorted in storer.Produce one and sound out the address, promptly begin the mean value with end address, and sound out corresponding item.According to the comparative result of the item of souning out, will begin or end address is made as the exploration address with set-point.This improvement has utilized by the carry of souning out with set-point that comparison produced (CARRY), to change the exploration address of calculating in the repeating of search next time.When finding specified value, this search does not stop, but proceeds, and begins to be converged on first that mates set-point with end address up to it.
Advantage of the present invention is as follows, and the data base administrator that uses the database acceleration equipment is not than there being the faster of acceleration equipment, and this is with regard to the mapping of energy completion logic key value to the recording address value because of the Disk Backup that does not need access index information.For database software dealer, the invention provides the characteristics of duplicating of preventing: it is otiose not having the illegal copies of database acceleration equipment plate database management language.Software database engine in the past have to the fast access of search with to the increase of record or the long access (generally being laminated tissue) of deletion, and to the increase of record or the fast access of deletion with do one at a slow speed between the search (generally being relational database) and trade off.On the contrary, the present invention to be searching for and update functions than the much higher speed of arbitrary software database engine, and more simple in the design.
From the description of a following preferred embodiment and accompanying drawing, can more clearly understand other advantage of the present invention and characteristics, wherein:
Brief description of the drawings
Fig. 1 is the block diagram with computing machine of database acceleration equipment.
Fig. 2 has shown the magnetic disc storage of a database and the database acceleration equipment with a keyword memory.
Fig. 3 is the block diagram of database acceleration equipment.
Fig. 4 is the operational flowchart of database acceleration equipment.
The description of preferred embodiment
Referring to Fig. 1, personal computer 100 has a CPU (central processing unit) (CPU) 102, a random access storage device (RAM) 104 and a disk or other high capacity storage unit 106, and all these unit carry out communication by a system bus 108.Disk 106 is preserved data file 110 and index file 112, and these files constitute a database, and the CPU102 operation is stored in database management language 114 and the application software 116 among the RAM104.Also by bus 108 communications, this acceleration equipment 120 has a steering logic 122 and a keyword memory 124 to database acceleration equipment 120.
Following the unloading phase, the index information that the logic keys value is mapped to the recording address value is packed into keyword memory 124 to be used for fast access from index file 112.
In operating usually, application software 116 is to a certain operation of database management language 114 requests.If this request is one of SEARCH (search), ADDITION (increase) or DELETION (deletion), database management language 114 just then communicates that request to database acceleration equipment 120 by a bus interface 130 on system bus 108, and skips the step of accessing database index file.Consider SEARCH operation, as the typical operation of carrying out by database acceleration equipment 120 (below in conjunction with Fig. 4, further go through SEARCH, ADDITION and DELETION), database management language 114 offers database acceleration equipment 120 with the order (SEARCH) of a logic keys value and this logic keys of search.In database acceleration equipment 120, steering logic 122 (it can be a state machine) is directed to this requested operation in the keyword memory 124 of this acceleration equipment.If in keyword memory 124, find this logical value, steering logic 122 offers data base administrator 114 with a recording address value relevant with this logic keys value, then, data base administrator promptly can the visit be asked the record of the appropriate databases in the database file 110.
Referring to Fig. 2, the keyword memory 124 of database acceleration equipment is organized into and seems to have two row, the logic keys value that the left side one row 202 are used to encode, the recording address value that the right one row are used to be correlated with.In Fig. 2, the database 110 that signal has index 112 has 5 data records, and each all has advocates peace from key word.The unloading phase, according to the clooating sequence of key value, these are advocated peace put into the keyword memory 124 from codimg logic key word and relative recording address.In operating usually, steering logic 122 is guided in left column 202 the logic keys value 211-215 of a coding or the search of 221-225.When finding the logic keys value of this yard, the respective items that is listed as on the right side is exactly recording address value 231-235 or the 241-245 of record 251-255.Therefore, keyword memory 124 plays the effect of a high-speed cache for the information in the index file 112.
Referring to Fig. 3, database acceleration equipment 120 has a bus interface 130, its design proposal is mainly determined by the bus protocol of principal computer, such as present AT, ISA, EISA, Microchannel (microchannel) or MacIntosh bus structure common on various personal computers.The logic of Fig. 3 can realize with arbitrary common technology, such as customization VLSI, gate array, field programmable gate array, programmable logic array (PAL), bit-slice processor (bit-slice processor) or a microprocessor.The size of keyword memory 124 is wanted to preserve database 110 needed key words, is generally 256kB.
Database acceleration equipment 120 has a plurality of data and control registers that are mapped to the memory headroom of primary processor 102.Primary processor 102 generally is by value being write the service that comes the requested database acceleration equipment in these registers, such as height and lower boundary, a bid value (such as SEARCH) and a GO (carrying out) order in the zone of the value that will search for, the keyword memory that will search for.When this request of database acceleration equipment 120 services, primary processor 102 can be by carrying out other function or by execution finishing of this operation being waited in the circular wait of one status register of this database acceleration equipment.These steps will go through below.
Primary processor can read or write keyword memory 124.Be the access critical word memory, primary processor 102 writes control buffer zone 301 with a storer LOAD (packing into) or UNLOAD (drawing off) order.In response, the address multiplexer is delivered to keyword memory 124 with the address value of address buffer 309.When control buffer zone 301 is changed to LOAD, any data value of write memory data buffer zone 303 all will be write being located by address buffer 309 specified addresses of keyword memory 124 successively.Similarly,, will be copied into memory data buffer zone 303, read for primary processor by the cell value of 309 addressing of address buffer when control buffer zone 301 when being changed to UNLOAD.In general, because keyword memory 124 is quite big, control buffer zone 301 is stored in the upper address bits that moves " window " on the keyword memory 124, and the low address position is stored in the address buffer 309.
The unloading phase of going through now, its process is as follows.With codimg logic key word/recording address value to the keyword memory 124 of packing into.The codimg logic key value is stored in the row 202 of keyword memory 124 with 16 coding key values; Primary processor can use any suitable method, such as CRC known hash functions such as (cyclic redundancy check (CRC)), the logic keys value of each random length is mapped to 16 coding key value.Therefore, a plurality of logic keys values can be mapped to the one and same coding key value, and can have different recording addresses.The integer that recording address value among Fig. 2 is listed as with 16 is stored in the secondary series 204, the recording mechanism in the expression database file 110.In order to load keyword memory 124, master data base management software 114 obtains the counting of record number and the logic and the recording address value of this data-base recording from database 110 and 112, and selects which codimg logic key word and recording address are stored in the keyword memory 124.Such as, index file 112 can be with the form memory encoding logic keys and the recording address of keyword memory 124 uses, in this case, might only load keyword memory 124 keyword memory 124 by simply index being copied to from index file 112.Perhaps, host data library software 114 can sense data library file 110 record, extract logic keys, they are mapped to 16 coding key word, and use above-mentioned LOAD order will encode key word/recording address being stored in the keyword memory 124.
Host data library software 114 management keyword memory 124 are such as keyword memory 124 is distributed to a plurality of logic keys.For example, if keyword memory 124 has 4096, database file 110 has three key words (be generally a primary key and two from key word), host data library software 114 can determine primary key is stored in item 0 to 1365, second key word is stored in item 1366 to 2730, the 3rd key word is stored in item 2731 to 4095.Host data library software 114 is safeguarded the scope of the keyword memory of giving each logic keys, thereby asks it can both determine correct border for each SEARCH, ADDITION or DELETION.According to the requirement of search strategy manage in the keyword memory 124 the item, the search circuit of database acceleration equipment 120 is realized these search strategies.For example, if database acceleration equipment 120 uses binary search, the item of keyword memory 120 just must be stored with clooating sequence so, and does not have at interval in the scope of distributing to the logic keys value.
Fig. 4 is shown in keyword memory 124 and is divided and loads the operation of database acceleration equipment 120 afterwards.In step 402, primary processor 102 will be ordered and data value is write in a plurality of data registers of this acceleration equipment, and will be clear and definite in each operation that the effect of these registers will be described below.Comparison step 408 is distinguished different orders, i.e. SEARCH, DELETION and ADDITION operation, and each in them is discussed below.
Referring now to Fig. 3 and 4,, binary search first key value of search in corresponding to one of a coding key value selected keyword memory scope is used in SEARCH order, therefore should come the item of storage key storer 124 according to the ascending order of coding key value 202.In step 402, primary processor 102 deposits the numbering of the item of the scope that needs in the keyword memory 124 to search for respectively among one an initial address register SAR316 and the end address register EAR314.The coding key value of searching for is stored in the data buffer 310.Specify the value of SEARCH order to be stored in the control buffer zone 301.In case in step 402 and 404 with these data storage in register separately, 102 of primary processors write a GO signal in the GO/ result buffer 307 in step 404.
In step 406, database acceleration equipment 120 is changed to BUSY (doing) by the value (being read by primary processor 102) that will control buffer zone 301 and responds.In step 408, which order is steering logic 302 determine to carry out, and the logic of the acceleration equipment 120 of controlling database is carried out appropriate command.The SEARCH process starts from step 410.CARRY (carry) signal Be Controlled logic 302 from comparer 318 is changed to 1.In the subsequent step of this search, this CARRY signal is produced automatically by comparer 320, and be used to revise the normal rule of binary search, thereby, if selected coding key value occurs repeatedly in keyword memory 124, this search will be in these first termination of order, rather than stops when hitting for the first time.The FOUND signal also is changed to 0 in step 410.Whether the FOUND signal indicates the item in the keyword memory 124 to mate with the codimg logic key value, thereby whether the indication search is successful.In step 412, totalizer 317 is the content addition of SAR316, EAR314 and CARRY, and removed by 2 in shift register 320, with formation value M1, i.e. and the address of the keyword memory of in this step of binary search, souning out 124.In step 414, FINISHED sign is noted the result who the currency of the value of M1 and SAR316 is compared by comparer 319, and this result indicates whether this is the last exploration of this binary search.Eyes front step 426, if the FINISHED sign is set 414, then the exploration at item M1 is the final exploration of this binary search, this search can repeat middle termination this time.
In step 416, M1 is multiplexed to address key words storer 124 by an address multiplexer 308.Keyword memory 124 the item M1 coding key word/recording address value be loaded into an extra buffer 311.In step 418, will compare with the coding key value of being soundd out 311 from the search key value of data buffer 310 by comparer 320.Steering logic 302 use the result of comparers 320 determine the coding key value of being soundd out be less than, equal or greater than this search key value.In step 422, if the key value of search equates that with the key value of being soundd out the CARRY of comparer 320 is cleared (CARRY:=0).Steering logic 302 is put FOUND sign (FOUND:=1), and uses the content of the value replacement EAR314 of M1.In step 420, if extra buffer 311 (preserve soundd out key value) less than data buffer 310 (preserving the key value of search), then the value of M1 is latched into SAR316 from address MUX308, and with CARRY set (being 1).Otherwise, in step 424, the key value of key value 311 great-than search of being soundd out; And address M1 is latched into EAR314 from address MUX308, and removes CARRY.Notice that binary search does not stop under the situation of the coding key value coupling of search key value and keyword memory 124; Search procedure to last till always lower bound SAR316 and upper bound EAR314 converge in the keyword memory 124 with data buffer 310 in the search key value deposited be complementary first till.
In step 426, when binary search finishes, when the content (equaling the value of M1) that is EAR314 was one of content of SAR, M1 pointed to first in the keyword memory 124 that is complementary with the key value of encoding, if this exists between specified original SAR and EAR.If be provided with the FOUND sign in step 422, then know the item that has a coupling at least.Thereby the YES of step 426 (affirming) relatively guides processor into step 428, and the value of M1 is written into GO/ result buffer 307, and the FOUND state value is written into control buffer zone 301.A NO (negating) represents that relatively binary search must continue, and just the difference between EAR and the SAR reduces half.
Search arithmetic at step 430 end data storehouse acceleration equipment.If primary processor 102 is being waited for control buffer zone 301 always, it can then have been carried out now.The value that primary processor 102 is read M1 from GO/ result buffer 307, the item in the keyword memory 124 that the value indication of M1 will be read.If the key word of the key word of this coding and the coding of search is complementary, then will indicate a record of from database file 110, reading for this low 16.Usually, primary processor 102 will be read indicated record from database file 110.
Owing to for the key value of one and same coding a plurality of records (can be not unique from key word for logic keys itself particularly) can be arranged, must check all records of the key value of coding usually with search.Search procedure 410-430 only provides first in the keyword memory that is complementary with the coding key value of being searched for; Usually primary processor 102 will use above-mentioned UNLOAD to order from keyword memory 124 and read record subsequent item and the database file 110, up to the coding key value of reading from keyword memory 124 no longer with the coding keyword matching of being searched for till.
DELETION and ADDITION operation are shown in the step 440-452 of process flow diagram.Because coding key word and recording address must keep closely (in the keyword memory space for a specific logic keys special use any gap cannot be arranged) to array, ADDITION will carry out greater than the part of the key value that the is inserted keyword memory position that moves up in the array; Then primary processor 102 with new coding key word and recording address to writing selected position.DELETION carries out one in the downward copy of the high end parts of keyword memory, sees step 450-454.Host data library software 114 upgrades its end address, thereby can use correct EAR value restriction next operation to keyword memory 124.
For carrying out an ADDITION (DELETION) order, at step 402-404, the item No. of keyword memory that primary processor 102 will be used for inserting the memory location of (deletion) writes UCR306, last effective item No. is write EAR314, an ADDITION (DELETION) bid value is write control buffer zone 301, and a GO (carrying out) signal is write GO buffer zone 307.In step 406, the value that steering logic 302 will be controlled buffer zone 301 is changed to BUSY, and moves in data and to be changed to FOUND or NOTBUSY after finishing.At step 440-442 (450-452), ADDITION (DELETION) order will be moved one greater than all make progress (descending) of item specified in UCR306.The database acceleration equipment is finished ADDITION when order, with one that duplicates in the keyword memory, uses above-mentioned LOAD order that one new is write on first that this duplicates.Finish ADDITION (DELETION) order in step 446 (454).
124 maintenances of key word map are consistent with database file 110, such as after DELETION and ADDITION order.Can utilize more employed technology in traditional software database engine, and some technology can be simplified widely.The database management language 114 that operates on the principal computer 102 is safeguarded a transaction journal file, and this document writes down the affairs of all write data library files.Preserve the transaction journal file and help failure recovery.Because indexed search, insertion and deletion take place with RAM speed in keyword memory 124, and be not to take place with disk speed in the index file 112, so the index file of the complexity of using for the raising performance in the hierarchical data base management software (with the database engine software of the complexity of managing this index file) no longer needs at this.Just the index file of the right map of the coding key word/recording address of keyword memory 124 is just enough only one, and can frequent updating, such as only upgrading when do not re-use the same day.If computer crashes and do not upgrade index file 112 with consistent with database file 110 can produce index file 112 again from the record of database file 110.When the user normally withdrawed from, primary processor used its access window to read item from keyword memory 124, and a map of keyword memory 124 is stored in the index file 112, made index file 112 consistent with database file 110.When the user logined into this database next time, keyword memory can directly be packed into from index file 112.
After database acceleration equipment 120 sent an order, primary processor 102 entered a circular wait at host data library software 114, waited for that the database acceleration equipment is provided with one " operation is finished " status code at control buffer zone 301.The database acceleration equipment is very fast, sounds out for 16 times such as in 256K storage 64K search being used, and for the clock of the database acceleration equipment of 16MHz, can finish in 937ns, and primary processor only needs to carry out twice or three times to a circulation and repeats.
Other embodiment can carry out different tissues to keyword memory.Such as for a large database, preferably use the expression of 32 (or longer) for coding key word and recording address.Length register can the prescribed coding key value length, or the type register can be specified the control sequence of logic keys.Recording address can adopt any expression easily to store, and can be used for finding disk volume, cylinder, magnetic head and the record of data recording such as storage.Keyword memory can be organized into and use any search technique easily, such as B-tree, hash table (hash table), Fibonaccian search or interpolation search (interpolation search).The influence of the relative frequency that the selection of keyword memory tissue may be inserted and delete and search for.
Other embodiment is included in the following claim.

Claims (16)

1. to being stored in the device that principal computer and relevant with it database manage, described database has a plurality of records, each record is by a recording address value and at least one logic keys value sign, and principal computer has a central processing unit, and this device comprises:
A keyword memory is used to store the map of the key value of described data-base recording to the recording address value of described record;
A search processor is used to respond request from central processing unit for a given key value, searches for described keyword memory, and provides relevant recording address value to central processing unit;
A bus interface is used for described search processor and described keyword memory are connected to central processing unit; With
Database management language, it is carried out on described central processing unit, and described software arrangements becomes by sending the map of asking from described given key value to described recording address value to described search processor, and described request transmits by described bus interface.
2. according to the device of claim 1, also be included in the mapping device that in the described keyword memory map key value is mapped to a plurality of recording address values.
3. according to the device of claim 1, wherein said search processor comprises and uses a binary search device to search for the device of described keyword memory, and described binary search device provides first of the described keyword memory that is complementary with described given key value.
4. according to the device of claim 3, wherein said binary search device comprises:
(a) described key value is stored in device in the indexed item of described keyword memory with clooating sequence;
(b) be used to provide the device of an initial address and an end address, described address is corresponding to the item No. in the described keyword memory interval that will search for;
(c) be used to provide the device of a desired search value;
(d) be used to provide an initial CARRY value and to be initially the device of the FOUND value of " vacation ";
(e) by with this start address, end address and CARRY addition, and then divided by 2, thereby form a device of souning out the address;
(f) be used to read device by the key value of the item of the described keyword memory of described exploration allocation index;
(g) be used for device that described search value and the described key value of reading are compared, described device is changed to 0 or 1 according to this comparative result with described CARRY value;
(h) if the described key value of reading less than the value of described search, is used for described start address is changed to the device of described exploration address;
(i), be used for FOUND is changed to very and described end address is changed to the device of described exploration address if the described key value of reading equals the value of described search;
(j) if the described key value of reading greater than the value of described search, is used for described end address is changed to the device of described exploration address; And
(k) duplicating device (e) to (j) equals the device of start address up to search index.
5. according to the device of claim 1, wherein said database management language is included in a coding key value is offered described search processor to be used for the device that map is encoded into a logic keys value one coding key value before.
6. according to the device of claim 1, wherein carry out the described database management language of described searching period and comprise the device that carries out circular wait at described search processor.
7. according to the device of claim 1, wherein said central processing unit comprises the device that distributes described keyword memory.
8. according to the device of claim 1, also comprise:
Index file on magnetic disk memory that is stored in described principal computer, described index file is stored a map of the content of described keyword memory.
9. according to the device of claim 1, also comprise:
A port memory, by it, described central processing unit can the described keyword memory of read and write.
10. according to the device of claim 1, wherein said search processor provides an index of a certain of described keyword memory according to described given key value to described central processing unit, and described database management language also comprises a device of reading from the described keyword memory corresponding to described index.
11. method that is used for locating a record of database that is stored in the storer relevant with a computing machine, described database has a plurality of records, each record is by a recording address value and at least one logic keys value sign, and this method comprises the following steps:
The map index of storage in a keyword memory of a database acceleration equipment peripheral hardware from the key value of described record to the recording address value;
A key value of a record of described database is provided to described peripheral hardware;
The described map index of search is so that a recording address value relevant with the described key value that provides to be provided on described peripheral hardware, and described search is carried out by the relevant processor of described peripheral hardware; And
Quote a record of the described database relevant with described definite recording address value.
12. the method according to claim 11 also comprises the following steps:
Add a new record to described database; And
Storage one a new key value and a new recording address value in described peripheral hardware, described new key value is relevant with described new record, and described new recording address value indicate described newly be recorded in position in the described database.
13. the method according to claim 11 also comprises the following steps:
Deletion one record from described database; And
Deletion and the described deleted relevant key value of record from described peripheral hardware, and the recording address value of described deleted record.
14. the method according to claim 11 also comprises the following steps:
One key value is being offered described search processor with before being used for described search, described logic keys value is being encoded into a coding key value.
15. the method according to claim 11 also comprises the following steps:
Copy an index of a certain of described keyword memory to described central processing unit corresponding to described given key value; And
From described keyword memory, read relevant by described central processing unit corresponding to described index.
16. be used for the method for the item of searching storage, wherein each has a search value, this method comprises the steps:
(a) described is stored in the described storer with clooating sequence according to described search value;
(b) provide an initial address and an end address, described address is corresponding to the item No. in the described keyword memory interval that will search for;
(c) provide a desired search value;
(d) provide an initial CARRY value;
(e), and then, sound out the address thereby form one divided by 2 by with this start address, end address and CARRY addition;
(f) read item by the storer of described exploration allocation index;
(g) described search value and the described item of reading are compared, described CARRY value is changed to 0 or 1 according to this comparative result;
(h) if the search value of the described item of reading less than the value of described search, is changed to described exploration address with described start address;
(i) if the search value of the described item of reading equals the value of described search, described end address is changed to described exploration address;
(j) if the search value of the described item of reading greater than the value of described search, is changed to described exploration address with described end address; And
(k) repeating step (e) to (j) equals start address up to souning out the address.
CN94194672A 1993-11-02 1994-10-04 Apparatus for accelerating processing of transactions on computer databases Pending CN1139489A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14714793A 1993-11-02 1993-11-02
US08/147,147 1993-11-02

Publications (1)

Publication Number Publication Date
CN1139489A true CN1139489A (en) 1997-01-01

Family

ID=22520453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94194672A Pending CN1139489A (en) 1993-11-02 1994-10-04 Apparatus for accelerating processing of transactions on computer databases

Country Status (7)

Country Link
US (1) US5544357A (en)
EP (1) EP0727067A4 (en)
JP (1) JPH09507109A (en)
CN (1) CN1139489A (en)
AU (1) AU7965794A (en)
BR (1) BR9407962A (en)
WO (1) WO1995012846A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297933C (en) * 2002-06-06 2007-01-31 株式会社理光 Full-lext search device capable of excecuting merge treatment and logon/deletion treatment
CN101872316A (en) * 2004-07-30 2010-10-27 英特尔公司 Maintaining processor resources during architectural events
CN102289387A (en) * 2010-06-21 2011-12-21 微软公司 Action framework in software transactional memory
CN102289393A (en) * 2010-06-21 2011-12-21 微软公司 Composition of locks in software transactional memory
WO2012000448A1 (en) * 2010-07-02 2012-01-05 Huawei Technologies Co., Ltd. System architecture for integrated hierarchical query processing for key/value stores
WO2014089828A1 (en) * 2012-12-14 2014-06-19 华为技术有限公司 Method for accessing storage device and storage device
CN105408878A (en) * 2013-07-31 2016-03-16 惠普发展公司,有限责任合伙企业 Indexing accelerator with memory-level parallelism support

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US6330659B1 (en) * 1997-11-06 2001-12-11 Iready Corporation Hardware accelerator for an object-oriented programming language
US9098297B2 (en) * 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
CN1266512A (en) * 1997-05-08 2000-09-13 艾瑞迪公司 Hardware acceleration for an object-oriented programming language
US6278994B1 (en) 1997-07-10 2001-08-21 International Business Machines Corporation Fully integrated architecture for user-defined search
US6253196B1 (en) 1997-07-10 2001-06-26 International Business Machines Corporation Generalized model for the exploitation of database indexes
US6219662B1 (en) 1997-07-10 2001-04-17 International Business Machines Corporation Supporting database indexes based on a generalized B-tree index
US6192358B1 (en) 1997-07-10 2001-02-20 Internatioanal Business Machines Corporation Multiple-stage evaluation of user-defined predicates
US6266663B1 (en) 1997-07-10 2001-07-24 International Business Machines Corporation User-defined search using index exploitation
US6285996B1 (en) 1997-07-10 2001-09-04 International Business Machines Corp. Run-time support for user-defined index ranges and index filters
DE19810843B4 (en) 1998-03-12 2004-11-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and access device for determining the storage address of a data value in a storage device
US6389425B1 (en) 1998-07-09 2002-05-14 International Business Machines Corporation Embedded storage mechanism for structured data types
WO2001013583A2 (en) 1999-08-16 2001-02-22 Iready Corporation Internet jack
EP1368905A4 (en) * 2000-07-31 2009-06-24 Infineon Technologies Ag Apparatus and method for configurable multi-dwell search engine for spread spectrum applications
US7039717B2 (en) * 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US7379475B2 (en) 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
US20030041302A1 (en) * 2001-08-03 2003-02-27 Mcdonald Robert G. Markup language accelerator
US20030093566A1 (en) * 2001-11-09 2003-05-15 Jardin Cary A. System and method for network and application transparent database acceleration
US6697276B1 (en) * 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
WO2004036432A1 (en) * 2002-10-21 2004-04-29 Annex Systems Incorporated Database accelerator
US7409400B2 (en) * 2003-10-22 2008-08-05 Intel Corporation Applications of an appliance in a data center
US7437666B2 (en) * 2003-10-22 2008-10-14 Intel Corporation Expression grouping and evaluation
US7328403B2 (en) 2003-10-22 2008-02-05 Intel Corporation Device for structured data transformation
US7458022B2 (en) * 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
US7260631B1 (en) 2003-12-19 2007-08-21 Nvidia Corporation System and method for receiving iSCSI protocol data units
US7899913B2 (en) 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US8065439B1 (en) 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US8549170B2 (en) 2003-12-19 2013-10-01 Nvidia Corporation Retransmission system and method for a transport offload engine
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US7624198B1 (en) 2003-12-19 2009-11-24 Nvidia Corporation Sequence tagging system and method for transport offload engine data lists
US7206872B2 (en) 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7249306B2 (en) 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7698413B1 (en) 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US7957379B2 (en) 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
US7822780B1 (en) * 2004-10-20 2010-10-26 Embarq Holdings Company, LP Computerized method and system for generating procedures capable of being used with multiple databases
US7843911B2 (en) * 2005-11-15 2010-11-30 Nominum, Inc. Data grouping approach to telephone number management in domain name systems
US20080189251A1 (en) * 2006-08-25 2008-08-07 Jeremy Branscome Processing elements of a hardware accelerated reconfigurable processor for accelerating database operations and queries
US9424315B2 (en) 2007-08-27 2016-08-23 Teradata Us, Inc. Methods and systems for run-time scheduling database operations that are executed in hardware
US7895151B2 (en) * 2008-06-23 2011-02-22 Teradata Us, Inc. Fast bulk loading and incremental loading of data into a database
US8458129B2 (en) 2008-06-23 2013-06-04 Teradata Us, Inc. Methods and systems for real-time continuous updates
US9141670B2 (en) * 2007-08-27 2015-09-22 Teradata Us, Inc. Methods and systems for hardware acceleration of streamed database operations and queries based on multiple hardware accelerators
US7966343B2 (en) 2008-04-07 2011-06-21 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible data structures
US8862625B2 (en) 2008-04-07 2014-10-14 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible indexing and replicated reordered columns
US8335889B2 (en) * 2008-09-11 2012-12-18 Nec Laboratories America, Inc. Content addressable storage systems and methods employing searchable blocks
JP2011040124A (en) * 2009-08-07 2011-02-24 Toshiba Corp Method of reading data in semiconductor memory device
US9032017B1 (en) 2010-08-10 2015-05-12 Scalarc Inc Method and system for transparent read-write query routing when load balancing databases
US8543554B1 (en) 2010-08-10 2013-09-24 ScalArc Inc. Method and system for transparent database query caching
US8484242B1 (en) * 2010-08-24 2013-07-09 ScalArc, Inc. Method and system for transparent database connection pooling and query queuing
US8763091B1 (en) 2010-08-24 2014-06-24 ScalArc Inc. Method and system for user authentication offload in a transparent database load balancer
GB201120314D0 (en) * 2011-11-24 2012-01-04 Business Partners Ltd Secure database searching
US8938480B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for fast loading of data from an external distributed file system to a database management system
DE102016108081A1 (en) 2016-05-02 2017-11-02 Denso Corporation Microprocessor with additional commands for binary search and associated search method
CN111046041B (en) * 2019-12-09 2024-02-27 珠海格力电器股份有限公司 Data processing method and device, storage medium and processor

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651483A (en) * 1969-01-03 1972-03-21 Ibm Method and means for searching a compressed index
DE3309989A1 (en) * 1983-03-19 1984-10-11 Bayer Ag, 5090 Leverkusen METHOD AND DEVICE FOR REDUCING THE SPEED OF FLOWING MEDIA
US4630234A (en) * 1983-04-11 1986-12-16 Gti Corporation Linked list search processor
US4575798A (en) * 1983-06-03 1986-03-11 International Business Machines Corporation External sorting using key value distribution and range formation
US4633391A (en) * 1983-10-21 1986-12-30 Storage Technology Partners Ii Extended index for digital information storage and retrieval device
JPH0724036B2 (en) * 1983-12-23 1995-03-15 株式会社日立製作所 Database processing method
JPS6151288U (en) * 1984-09-10 1986-04-07
US5010478A (en) * 1986-04-11 1991-04-23 Deran Roger L Entity-attribute value database system with inverse attribute for selectively relating two different entities
US4862411A (en) * 1987-02-26 1989-08-29 International Business Machines Corporation Multiple copy data mechanism on synchronous disk drives
US4939598A (en) * 1988-02-08 1990-07-03 International Business Machines Corporation Managing data storage space on large capacity record media
GB8816413D0 (en) * 1988-07-09 1988-08-17 Int Computers Ltd Data processing system
JPH0285927A (en) * 1988-09-22 1990-03-27 Hitachi Vlsi Eng Corp Memory device
US5136707A (en) * 1988-10-28 1992-08-04 At&T Bell Laboratories Reliable database administration arrangement
JPH02236668A (en) * 1989-03-10 1990-09-19 Hitachi Ltd Input/output processing method
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
GB9023096D0 (en) * 1990-10-24 1990-12-05 Int Computers Ltd Database search processor
JPH04256041A (en) * 1991-02-07 1992-09-10 Oki Electric Ind Co Ltd Data base retrieving device
US5265260A (en) * 1991-06-26 1993-11-23 International Business Machines Corporation High performance sort hardware for a database accelerator in a data processing system
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297933C (en) * 2002-06-06 2007-01-31 株式会社理光 Full-lext search device capable of excecuting merge treatment and logon/deletion treatment
US9086958B2 (en) 2004-07-30 2015-07-21 Intel Corporation Maintaining processor resources during architectural events
US8788790B2 (en) 2004-07-30 2014-07-22 Intel Corporation Maintaining processor resources during architectural events
US9996475B2 (en) 2004-07-30 2018-06-12 Intel Corporation Maintaining processor resources during architectural events
US8806172B2 (en) 2004-07-30 2014-08-12 Intel Corporation Maintaining processor resources during architectural evens
US9164901B2 (en) 2004-07-30 2015-10-20 Intel Corporation Maintaining processor resources during architectural events
CN101872316B (en) * 2004-07-30 2013-04-10 英特尔公司 Method, device and processor for maintaining processor resources during architectural events
US9152561B2 (en) 2004-07-30 2015-10-06 Intel Corporation Maintaining processor resources during architectural events
US8543793B2 (en) 2004-07-30 2013-09-24 Intel Corporation Maintaining processor resources during architectural events
CN101872316A (en) * 2004-07-30 2010-10-27 英特尔公司 Maintaining processor resources during architectural events
US9507730B2 (en) 2004-07-30 2016-11-29 Intel Corporation Maintaining processor resources during architectural events
US10740249B2 (en) 2004-07-30 2020-08-11 Intel Corporation Maintaining processor resources during architectural events
US10303620B2 (en) 2004-07-30 2019-05-28 Intel Corporation Maintaining processor resources during architectural events
US9164918B2 (en) 2004-07-30 2015-10-20 Intel Corporation Maintaining processor resources during architectural events
CN102289387A (en) * 2010-06-21 2011-12-21 微软公司 Action framework in software transactional memory
CN102289393B (en) * 2010-06-21 2019-03-29 微软技术许可有限责任公司 The composition of lock in software transactional memory
CN102289387B (en) * 2010-06-21 2019-09-03 微软技术许可有限责任公司 Movement frame in software transactional memory
CN102289393A (en) * 2010-06-21 2011-12-21 微软公司 Composition of locks in software transactional memory
US9411634B2 (en) 2010-06-21 2016-08-09 Microsoft Technology Licensing, Llc Action framework in software transactional memory
US8433695B2 (en) 2010-07-02 2013-04-30 Futurewei Technologies, Inc. System architecture for integrated hierarchical query processing for key/value stores
CN102971732B (en) * 2010-07-02 2015-09-30 华为技术有限公司 The system architecture of the integrated classification query processing of key/value storer
CN102971732A (en) * 2010-07-02 2013-03-13 华为技术有限公司 System architecture for integrated hierarchical query processing for key/value stores
WO2012000448A1 (en) * 2010-07-02 2012-01-05 Huawei Technologies Co., Ltd. System architecture for integrated hierarchical query processing for key/value stores
WO2014089828A1 (en) * 2012-12-14 2014-06-19 华为技术有限公司 Method for accessing storage device and storage device
CN105408878A (en) * 2013-07-31 2016-03-16 惠普发展公司,有限责任合伙企业 Indexing accelerator with memory-level parallelism support

Also Published As

Publication number Publication date
AU7965794A (en) 1995-05-23
WO1995012846A1 (en) 1995-05-11
US5544357A (en) 1996-08-06
EP0727067A4 (en) 1998-04-15
BR9407962A (en) 1996-12-03
EP0727067A1 (en) 1996-08-21
JPH09507109A (en) 1997-07-15

Similar Documents

Publication Publication Date Title
CN1139489A (en) Apparatus for accelerating processing of transactions on computer databases
US5557770A (en) Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
US5499367A (en) System for database integrity with multiple logs assigned to client subsets
US5408654A (en) Method to reorganize an index file without sorting by changing the physical order of pages to match the logical order determined from the index structure
JP3862274B2 (en) File allocation method of file system integrated with RAID disk subsystem
US6385626B1 (en) Method and apparatus for identifying changes to a logical object based on changes to the logical object at physical level
CA1303747C (en) Method of rapidly opening disk files identified by path names
US6460048B1 (en) Method, system, and program for managing file names during the reorganization of a database object
US6564219B1 (en) Method and apparatus for obtaining an identifier for a logical unit of data in a database
EP1342173B1 (en) Database management system and method for databases having large objects
US6691137B1 (en) Cache management system utilizing cascading tokens
CN103635900B (en) Time-based data partitioning
US6691136B2 (en) Fast data retrieval based upon contiguous consolidation of records according to frequency of access
Turner et al. A DBMS for large statistical databases
US5999936A (en) Method and apparatus for compressing and decompressing sequential records in a computer system
EP0583108B1 (en) Entity-relation database
US6134562A (en) System for modifying a database using a transaction log
US20060206543A1 (en) Database reorganization program and method
US8510269B2 (en) Uninterrupted database index reorganization/movement
JPH1063436A (en) Method and device for storing data
JP2721034B2 (en) Clustering control system
JPH0225946A (en) File controller
JPS61160133A (en) Data input control method
Moran et al. Incorporating Oracle on-line space management with long-term archival technology
JPS61262836A (en) Record processing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication