CN104769576A - Leapfrog tree-join - Google Patents

Leapfrog tree-join Download PDF

Info

Publication number
CN104769576A
CN104769576A CN201380050050.4A CN201380050050A CN104769576A CN 104769576 A CN104769576 A CN 104769576A CN 201380050050 A CN201380050050 A CN 201380050050A CN 104769576 A CN104769576 A CN 104769576A
Authority
CN
China
Prior art keywords
connection attribute
connection
iteration
attribute
tree
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.)
Granted
Application number
CN201380050050.4A
Other languages
Chinese (zh)
Other versions
CN104769576B (en
Inventor
托德·L·费尔德赫伊曾
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.)
Enfu (USA) Co.,Ltd.
Original Assignee
Luo Jiqibuluo Ces Co Ltd
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 Luo Jiqibuluo Ces Co Ltd filed Critical Luo Jiqibuluo Ces Co Ltd
Publication of CN104769576A publication Critical patent/CN104769576A/en
Application granted granted Critical
Publication of CN104769576B publication Critical patent/CN104769576B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/2246Trees, e.g. B+trees
    • 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/2282Tablespace storage structures; 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24544Join order optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query

Landscapes

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

Abstract

A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S0, and a scope C is initialized to empty. Tables including a join attribute A that is first in S0 are identified. A new sequence S omits A from S0. Iteration through each identified table proceeds in join attribute A order. The iteration utilizes a tree index structure for each identified table where the index key includes all join attributes in the identified table in S0 order. For each matched value v of the join attribute located during the iterating, a new scope Cv is created by appending "A=v" to the scope C. If S is empty, a tuple corresponding to the scope Cv is output. Otherwise, S0 is set to S and for each scope Cv, C is set to Cv and the steps beginning with the identifying step are recursively invoked.

Description

Skip tree-like connection
The cross reference of related application
This application claims the U.S. Provisional Application No.61/706 being entitled as " Leapfrog Tree-Join " submitted on September 27th, 2012, the rights and interests of 484.The full content of this application is merged into herein by reference.
Background technology
The present invention relates generally to database manipulation, and relates more specifically to the attended operation to relation database table.
Data base management system (DBMS) makes user can store and upgrade bulk information, also supports the inquiry to this information simultaneously.Combining the data from some tables is the basic operation that relational database management system uses when carrying out data base querying.In attended operation, how one or more condition makes the line correlation in each participation table join with generated query result if being specified.Although can process the output of attended operation further to generate Query Result, the cost of one or more attended operation is normally significant in both Time and place.Propose for realizing the some algorithms connected, described connection comprises classification merging connection, nested circulation connects, the nested circulation of index connects and hash connects.The situation that these algorithms are often used in more complicated Connection inquiring to be decomposed into paired catenation sequence connects two tables next time.
Summary of the invention
Embodiment comprises a kind of method, system and computer program for connecting according to the record of condition of contact set to the set from the table in database about connection attribute collection S.Comprise on the one hand: connection attribute S is arranged as ordered arrangement S 0, and action scope C is initialized as sky.Comprise on the one hand: be identified in the table comprising connection attribute A in the set of database table, described connection attribute A is ordered sequence S 0first.Comprise on the one hand: create from S 0in deleted the new sequence S' of the connection attribute of connection attribute A.Also comprise on the one hand: each table traveled through in the table identified carries out iteration according to the order of connection attribute A, described iteration based on the tree index structure for each table in identified table, in described tree index structure index key comprise in identified table according to S 0all connection attributes of order.Also comprise on the one hand: for each matching value v of the connection attribute of locating during iteration, create new role territory C by " A=v " is attached to action scope C v.Also comprise on the one hand: determine whether S' is empty, and based on determining that S' is empty, export the tuple corresponding to action scope C.Also comprise on the one hand: based on determining S' not for empty, by S 0be set as S' and for each action scope C v, C is set as C vand to identification, establishment, iteration, add and determine to carry out recursive call.
Supplementary features and advantage is realized by technology of the present invention.Describe in detail other embodiments of the present invention and aspect in this article and think that other embodiments of the present invention and aspect are parts for claimed invention.In order to understand the present invention with advantage and feature better, with reference to instructions and with reference to accompanying drawing.
Accompanying drawing explanation
Specifically note in the claims at the latter end place of instructions and clearly advocate to be regarded as theme of the present invention.According to following detailed description done by reference to the accompanying drawings, aforementioned and other feature and advantage of the present invention become obvious, in the accompanying drawings:
Fig. 1 depicts the process flow diagram of the illustrative methods according to embodiment;
Fig. 2 depicts the block diagram that can realize the system skipping tree-like connection thereon according to embodiment.
Embodiment
Illustrative embodiments relates to the new technique of the connection for once calculating multiple database table, is called by this new technique in this article " skipping tree-like connection ".Skip tree-like connection and equal connection is carried out simultaneously to the table of any amount of shared attribute.Embodiment described herein obtains the complexity constraint (such as, when input become more may need less step) better than the combination of paired attended operation.
Merging join algorithm can be carried out as follows.As original hypothesis, the table R all comprising attribute v can be considered 1, R 2..., R rset, wherein, the order showing to increase progressively by v is physically classified.Scan each table to obtain by using vernier the merging shown about attribute v to connect.At vernier C rplace has the table R of minimum v value by C rreach is until C rthe value at place is at least the maximal value of the v at any vernier place.When all tables are unanimously single v value, by by needed for inquiring about in v and each table other property values carry out combination and generate output record.In tradition merges and connects, in table, there are multiple output records that multiple records with value v can cause for single v value.
Except pressing v classification, can also suppose that above each table has the tree index about v.In embodiments, use B tree construction, but alternative tree structure can also be used, such as but not limited to trie structure.When using tree index, because and non-required scans each v value, so can more effectively realize merging connection.Such as, can suppose to show R 1have key word for 1,2,3 ..., 1000} record, and table R 2have key word for 1, the record of 750}.Then, at algorithm after v=1, the maximal value at any vernier place is v=750.System can at R 1in search for 750 about in the index of v, instead of scan R linearly 1until arrive v=750.Find next project time, the complexity under worst case table size in from linearly dropping to logarithm.Using and simply set traversal technology, is that the total cost m of the increasing sequence of search key in the table of n has complexity O (m log (n/m)) in size.
As described herein, embodiment can use the modification merging and connect, and this modification is called that vernier connects.Vernier connect adopt tree index as above and using with the tuple SC of property value corresponding to " action scope (scope) " connected as input.Action scope specifies some property value from participation table, and the record only mated with these values participates in being connected.
The vernier determining for each input relation having connection attribute by finding the first row that the attribute mentioned in SC mates with SC in table.To the given suitable index of each input table, can effectively find these slider position.Once a vernier in vernier points to the input record with the attribute of value outside action scope (that is, being different from the value of the corresponding attribute in SC), connect and just stop.Vernier connection is worked as merging connects, and difference is that vernier connects and how generates its output.When vernier connect run into for its all participation table, there is the new value v of the connection attribute of at least one matched record time, vernier connection output equals SC ∪ { the new role territory of A=v}, wherein A is connection attribute.Even if v appears in many records of participation table, but only output packet is containing an action scope example of v.
In some embodiments, tree-like connection is skipped to the table R of any amount sharing attribute in any form 1, R 2..., R rcarry out equal connection simultaneously.Such as, inquiry Q=R (A, B), S (B, C), T (A, C) have three connection attributes A, B and C.Usually, A is made 1..., A kfor connection attribute (that is, connecting those that mention in two or more relations in expression formula).First, the sequence of attribute can be selected.This order is determined in the order skipping the process in tree-like connection.Based on the distribution of the data in components list, different order can cause different working time.Query optimizer selects following order: described order made expected cost minimize according to the one-tenth of the cost model of attended operation and the not already present any required index of foundation originally.For the purpose of simplifying the description, and without loss of generality, the sequence selected by supposing is Ord=<A 1..., A k>.
In some embodiments, skip tree-like join algorithm hypothesis: for each participation relation R, all exist according to the order consistent with Ord, index to the combination of the connection attribute from R.For inquiring about Q above, and when the sequence of connection attribute is A, B, C, can expect for the index about (A, B) of R, for S about (B, C) index and the index about (A, C) for T.If such index does not exist before proceeding, then can set up index and skip tree-like join algorithm with application.In order to improve the locality of access, the disconnected attribute needed for inquiry can also be comprised after connection attribute, as indexed attribute.By comprising disconnected attribute by this way, achieve only Index Design.In some embodiments, if need by index stores on second-level storage, then need to carry out point to be equipped with leaf node is stored in order in close-adjacent mode.
In some embodiments, tree-like connection is skipped by about the first connection attribute A 1connection table starts according to priority.Its attribute comprises A 1all tables participate in about A 1collaborative vernier connect.The action scope that this initial vernier connects is for being labeled as the empty action scope of [].Generation is being connected for A by vernier 1each value a 1time, suspend outside A 1the execution connected, and comprising A 2all tables in, utilize action scope [A 1=a 1] start A 2inside vernier connect.Also A is comprised in connecting in this inside 1table, action scope [A 1=a 1] inside is connected the only a being restricted to participation relation 1-fragment.Because <A pressed in index 1..., A k> order is present in each pass and fastens, so vernier connects each index that can sequentially be advanced through at each level place, and does not need heavily to identify each beginning vernier called.
In some embodiments, remaining connection is recursively carried out to be similar to above-mentioned form.When generation is for A jvalue a jtime, suspend executable operations and utilize by A j=a jthe action scope of expansion starts A j+1inside vernier connect.In the end level A k, connect generation by vernier and there is form (a 1..., a k) output tuple, comprise all connection attributes needed for inquiry.Last level exports the output for skipping tree-like connection.Complete about A j+1each vernier connect after, control to be back to A jvernier connect, wherein, attribute A jnext matching value to be identified and to A j+1new vernier connect and be activated.Work as A 1last matching value processed and outermost vernier has connected time, algorithm terminates.
If skipping the order Ord=<A of connection attribute in tree-like connection 1..., A k> has following characteristic and is then referred to as prefix and is concerned with: for each table participating in connecting, connection attribute in the table forms the prefix <A of Ord 1..., A j>, some of them j≤k (different tables can have different j value).For the relevant configuration of prefix, the embodiment skipping tree-like connection carries out when not producing and repeating record merging the index support of participation table connecting effectively.Can realize when not prefix is relevant about the process benefit skipping the embodiment of tree-like connection described herein.Such as, such as R (A, B), S (B, C), T (A, C) etc. connect the relevant order of the prefix without connection attribute.
In some embodiments, the output of skipping tree-like connection comprises the combination of only connection attribute, and does not repeat, thus the similar join index based on key word.Following example describes the operation of skipping tree-like connection to sample database.
With reference to Fig. 1, generally illustrates the process flow diagram of the illustrative methods 100 for carrying out skipping tree-like connection.Method 100 can be performed by all as described in this article those of one or more parts, device or system.Method 100 may be used for connecting the record about connection attribute collection S from one or more database table (such as, at least three database tables).
In illustrated examples, database represents by client to representing the order that the on-line retailer of many suppliers is ordered.Pattern is as follows:
Client (CId, country, age) represent client identifier, live country and age;
Supplier (SId, product, country) represents the product transported from each country by supplier;
Order (CId, SId, product) represents the order of client to the product from supplier; And
Containing metal (product) indicates product whether to comprise quite a large amount of metal ingredients.
The record that can be stored in the database relevant with this example is represented with following table.
Table 1---user logging
Table 2---supplier's record
Table 3---containing metal record
Table 4---order record
In this example, SQL query:
CId, SId, product, country is selected from client C, supplier S, order O, containing metal M
Wherein, C.CId=O.CId and C. country=S. country and O.SId=S.Sid and O. product=S. product and O. product=M. product
Attempt to identify the client ordered the containing metal product transported in same country.
At block 102 place, connection attribute collection S is initialized as ordered sequence S 0.In present exemplary, skip tree-like connecting needle to connection attribute selected and sorted or sequence S 0<Cid, SId, product, national >.In this example, sequence S 0for non-prefix is concerned with ordered sequence.In embodiments, sequence S 0it can be the letter sequence of attribute.In embodiments, query optimizer Selective sequence S 0order.
At block 103 place, action scope C is initialized as sky action scope.
At block 104 place, identify the table of the first connection attribute A comprised in S.With reference to present exemplary, suppose for client about (CId, country) index, for supplier about (SId, product, country) index, for the metallic index about (product) and for order about (CId, SId, product) index.The table comprising the first connection attribute CId comprises client's table and order table.
At block 106 place, determine from previous sequence S 0delete the new sequence S' of the connection attribute of the first attribute A (such as, CId).With reference to example, new sequence S' is <SId, product, national >.
At block 108 place, the tree index structure for each table auxiliary under, travel through each table in the table identified with cooperative mode and carry out iteration according to the order of connection attribute A, wherein, the key word of tree index structure comprises by S 0order appears at all connection attributes in table.In this example, collaborative iteration is shown and order table according to the order traversal client of Cid.First coupling is CId=Alice.
In step 110, utilize action scope [CId=Alice] to start and the second level recurrence vernier of the SId between order with supplier is connected.First (and unique) coupling for this action scope has SId=Acme, causes action scope to be that the third layer level recurrence vernier to product of [CId=Alice, SId=Acme] connects thus.
Three tables and order, supplier and containing metal participate in this third layer level vernier and are connected.Again, there is coupling, wherein a product=hammer.Utilize action scope [CId=Alice, SId=Acme, product=hammer] to start to connect the 4th level vernier of country.4th level vernier connection has a coupling, its Chinese Home=GA, causes the output of the tuple (Alice, Acme, hammer, GA) as described in step 110 thus, this is because do not have remaining connection attribute, that is, S' is empty.When the 4th, the 3rd to be connected with the second level vernier terminate, algorithm can move to the next Cid Bob in the first level vernier connection result.
Process and continue according to the such as mode described in block 110, at block 110 place, for each matching value v at all A participated in table, if S' be sky, then can export the tuple corresponding with the matching value identified in each recurrence example of block 110.Otherwise, can when S being set to S' and the matching value based on connection attribute are expanded action scope recursive call block 104 to block 110.
Referring back to example, at the end of the process to Alice, similar process is carried out (such as to Bob, as shown in block 104 to block 110), difference is: coupling is not found in the 4th level vernier connection in this example, this is because the country (NY) of the Goodstore drawing pin of national MA and the Bob order of Bob does not mate.Algorithm moves to the next CId Joe in the result connected at top layer vernier.Can notice, skip Fred; Although Fred is present in client's table, Fred does not place an order.
For a coupling of the second level vernier linkage identification SId=Acme of [CId=Joe].Although have three matching rows, only there is a coupling SId, this is because all three row share identical SId.Start third layer level vernier by action scope [CId=Joe, SId=Acme] to connect.This connection has two couplings, thus causes two independently the 4th level vernier connections with corresponding action scope [CId=Joe, SId=Acme, product=drawing pin] and [CId=Joe, SId=Acme, product=hammer].(although Joe have subscribed tape, product=tape still not in third layer level vernier connection result because tape not containing metal.) two action scopes all cause the 4th level vernier to connect in coupling, and the output tuple of correspondence (Joe, Acme, drawing pin, GA) and (Joe, Acme, hammer, GA).Control is back to top layer vernier and connects, thus completes and terminate to skip the execution of tree-like connection.
In some embodiments, the tuple set of generated connection attribute value can be traveled through.For each tuple T of connection attribute value, the disconnected property value one of at least determining additionally to select from the record mated with T on connection attribute in connection table can be inquired about.In this example, assuming that attribute " age " is additionally included in the choice clause of SQL query.The index about (CId, country) for client's table to may be used for finding with (CId, the country) in connection result the user logging of correspondence and retrieves age value.The event that disconnected property value in T with selected is associated can be exported from the record of inquired about each table.
In some embodiments, filtercondition can be applied together with method 100.Such as, as a part for block 108, the row violating filtercondition can be ignored.As long as connection attribute value is read, the filtercondition about connection attribute just can be applied.Merely skip the value do not satisfied condition.Filtercondition about disconnected attribute can also be incorporated in one of some embodiments.
In order to the filtration of disconnected attribute is described, assuming that sample query is modified to, subsidiary condition " age >25 " are included in the Where clause of SQL query.An embodiment for filtering calculates whole connection result, comprises age attribute as above, and removes the record of the condition run counter to about the age, as final step.
Another embodiment uses the index about (CId, country) for client's table in the comparatively early stage of algorithm, with from client's table search age value.At the different order <CId for connection attribute, country, product, under SId>, before advancing to the connection of third layer level vernier, can retrieve the age after the second level vernier connects, can skip in this stage does not have (CId, the country) of qualified age value right.
Another embodiment uses the index structure of expansion.In this example, assuming that replace the index about (CId, country), system carries out the index about (CId, country, age) to client's table.The mode that also can be queried with age value travels through (CId, national, the age) index, and only the record of age in filter area advances to the next step in join algorithm.
In some embodiments, tree index is configured to B tree.
In some embodiments, tree index is configured to trie structure.
If table has different attribute title in this connection of equal value, then the attribute of this equivalence is regarded as being equal to, and one of at random to select when limiting action scope, attribute order and other algorithm steps in title.
The embodiment skipping tree-like connection can have and connects identical worst case optimum with other in the logarithm factor and retrain.The logarithm factor produces due to the traversal of tree index, but not directly search generation via hash index.In fact, the upper strata of tree has relatively little storage space occupancy, and can be buffered in faster in storer (such as, random access memory or " RAM "), but Ye Biao and base table can be stored in slower storer (such as, disk).Therefore, the additional step for traverse tree may not have significant performance cost.
In several instances, skip tree-like connection and compare with technology with existing or current method of attachment, performance is significantly better.Comparing to highlight this, outlining the committed step in current join algorithm.When the data from two relations (or sub-connection result) R and S combine by current join algorithm, think and combine the fragment of R and S one at a time.Such as, assuming that S (B, C) and T (A, C) just combine based on C by existing join algorithm, and previous steps has generated the set V of (A, B) value that may be qualified.Right for each (a, b) in V, by the fragment F with B=b of S s, bwith the fragment F with A=a of T t, aconnect.If F s, bbe less than F t, a, then by F s, bin value be used for search about F t, ahash index.On the contrary, if F t, abe less than F s, b, then by F t, ain value be used for search about F s, bhash index.By this way, being in proportion of the operation done and more small fragment.
The corresponding steps skipping the embodiment of tree-like connection uses vernier to connect F s, band F t, acombine.Such as consider following situation: F s, bin C value be-km ,-(k-1) m ... ,-m, 1,2 ..., k} and F t, ain C value be-k ,-(k-1) ... ,-1, m, 2m ..., km}, wherein k and m is integer.The size of each input is 2k, and current join algorithm will carry out 2k hash index inquiry.Actual connection result comprises as a result, wherein for the integral part of x.Vernier connect the number of times that will search for proportional, thus obtain the improvement of O (m/log (the m)) factor than existing join algorithm.Log (m) factor is the cost using tree index to skip the individual element of O (m).
Another advantage skipping tree-like connection connects for it can be expanded to process band in a straightforward manner.The example of the band condition of contact of his-and-hers watches R and S can be " R.A-c 1≤ S.A≤R.A+c 2", wherein c 1and c 2for constant.Because record carries out index according to connection attribute order, so during corresponding vernier connects, mate and will be positioned to the band that can be buffered in short-access storage.Use the algorithm of hash index can not position matching by this way.
For some inquiries, need the adeditive attribute beyond connection attribute.In some embodiments, skip tree-like connection and can be extended to one or more attribute retrieved during vernier Connection Step in disconnected attribute.This retrieval is effective when it is supported by suitable index (such as comprising the index of connection attribute and required disconnected attribute).When filtercondition limits disconnected attribute R i.Bvalue time, once retrieve R i.Btime just can apply this filtration, to filter trip and to reduce the workload of remainder for skipping tree-like connection.
Alternatively, can, by retrieved disconnected attribute record in action scope, it can be exported abreast with connection attribute.But, comprise the complexity that disconnected attribute may increase algorithm skipping in tree-like connection.In the following example, connection attribute value occurs repeatedly in input relation (having different disconnected property value), and is very important skipping in tree-like connection the bookkeeping needed for following the tracks of these disconnected attributes.This expending property of bookkeeping, because the comparatively after-stage skipping tree-like connection will remove connection attribute value from result.
As illustrated examples, consider connection R (A, B, D), S (B, C), the T (A, C) with disconnected attribute D.Can suppose that showing R comprises n record of following form: form (1,1, i), wherein i=1 ..., n; Table S comprises single record (1,2); And show T and comprise single record (1,1).Can suppose that for skipping the tree-like order connecting selection be <A, B, C>, and D is included in the action scope of middle vernier connection, the action scope that described middle vernier connects also comprises A and B.It is the action scope record of [A=1] by generation form that the first vernier between R and T about A connects.In the second level, algorithm generation form is n the action scope record of [A=1, B=1, D=i], wherein workload and n proportional.In the end level, it is all empty that the vernier about C connects, and causes empty Output rusults.If deleted D from action scope, then paid workload will not be proportional with n.
Because skipping in tree-like connection, to comprise disconnected attribute may be inefficiency, so algorithm can postpone the retrieval of disconnected attribute, until skip after tree-like connection completes.The output of skipping tree-like connection can use together with the index of the connection attribute of each table, to retrieve additional disconnected attribute.
Algorithm workload can also be reduced by applying filtercondition in the pre-connection.Consider inquiry Q'=σ d>50(R (A, B), S (B, C), T (A, C, D)).If can be used in T about the tree index of D, then condition D>50 identifies qualified row subset T' from T.Even if when there is no index, still T' can be built by scanning whole T.Can by T' classification and carry out index about (A, C), for subsequently skip tree-like connection.If condition meticulously selects fully, then can by reducing to connect the workload that workload offsets previous filtration.
In embodiments, select suitable attribute order by query optimizer, query optimizer is Database Systems parts well known in the art.Attribute order is determined in the order skipping the vernier Connection Step in tree-like connection.In traditional relational, the order of connection is selected to be more complicated problem and to have proposed some heuritic approaches.The statistical information of descriptive data base table is stored and safeguards.These statistical informations, for estimating the radix of intermediate result, make it possible to avoid unnecessary large intermediate result.Skip tree-like connection sequencing problem similar with the sequencing problem for traditional database, and similar heuristics can be used estimate the processing cost under difference sequence.
In complex query, skip the connection that tree-like connection may be used for calculating all participation tables.Alternately, skip tree-like connection and can be applied to the subset of table and other algorithms may be used for result and all the other to show to combine.Can use and multiplely skip tree-like connection to assess single query, eachly skip disjoint subset and/or the intermediate result that tree-like connection is applied to participation table.The output of skipping tree-like connection in embodiment has <A 1..., A k> order, this is the characteristic that can be utilized by follow-up connection or Aggregation Operator.
The modification skipping tree-like connection may be used for calculating the operation except equal connection.Can be summarized by the vernier connection of property value to n table only comprising the A appeared in any input, to generate the associating (to attribute A) that it exports.Other operations can be realized, such as set difference and " j in n coupling " (1≤j≤n) when only increasing complexity a little.
In some embodiments, one or more of method can be implemented with the form of the instruction set of accessing one or more processor of class or more class storer.Coded order can be carried out with hardware or software.The platform of many classes can be used, include but not limited to: computing machine, mobile phone, board device, game console, network administration apparatus, field programmable gate array and the computer system based on cloud.The aspect of present disclosure can be deployed on multiple device to operate concurrently.Embodiment can be used as the parts compared with Iarge-scale system such as data base management system (DBMS).
With reference to Fig. 2, generally illustrates the block diagram of the example system 200 of the connection for once automatically calculating multiple table.System 200 comprises skips tree-like join algorithm 210, and this algorithm is performed by one or more computer program be positioned in host computer system 204.In embodiments, all or part of skipping tree-like join algorithm 210 is the part of the data base management system (DBMS) performed in host computer system 204.In another embodiment, all or part of parts for the system of both support issued transaction and inquiry of tree-like join algorithm 210 are skipped.
The system 200 described in fig. 2 comprises one or more custom system 202, one or more geographical location user (such as, terminal user, data base administrator) host computer system 204 can be connected by custom system 202, to start the program of performing database inquiry and/or issued transaction.Custom system 202 is coupled to host computer system 204 via network 206.Each custom system 202 can use the multi-purpose computer performing computer program to realize, and described computer program is for performing process described herein.Custom system 202 can be the terminal of personal computer (such as, laptop computer, flat computer, cell phone) or host attachment.If custom system 202 is personal computer, then process described herein can be shared by custom system 202 and host computer system 204.Custom system 202 can also comprise game console, network administration apparatus and field programmable gate array.In addition, multiple custom system 202 and/or host computer system 204 parallel work-flow can skip tree-like connection to perform.
Network 206 can be the known network of any type, include but not limited to: wide area network (WAN), LAN (Local Area Network) (LAN), World Wide Web (such as, the Internet), Virtual Private Network (VPN), cloud network and Intranet.Network 206 can use the physical network implementation of wireless network or any kind known in the art to realize.Custom system 202 can be passed through multiple network (such as, honeycomb and the Internet) and be coupled to host computer system, makes also not all custom system 202 all be coupled to host computer system 204 by identical network.One or more system in custom system 202 and host computer system 204 can wirelessly be connected to network 206.In one embodiment, network is the Internet and one or more custom system 202 performs user interface application (such as, web browser) to connect host computer system 204 by network 206.In another illustrative embodiments, custom system 202 directly (that is, is not passed through network 206) and is connected to host computer system 204.In yet, host computer system 204 is directly connected to or comprises memory storage 208.
Memory storage 208 comprises the data relevant with the connection once calculating multiple table, and memory storage 208 can use the multiple device for storage of electronic information to realize.In embodiments, the data be stored in memory storage 208 include but not limited to: one or more database, database table, tree index and other data used by embodiment described herein.Should be understood that memory storage 208 can use the storer that is included in host computer system 204 or realize as the storer of independent physical unit.Memory storage 208, can addressable in logic as throughout the uniform data source of distributed environment comprising network 206.The information be stored in memory storage 208 and/or can be retrieved via custom system 202 and handle via host computer system 204.
The host computer system 204 described in Fig. 2 can use and realize in response to being stored in one or more server that can be operated by the computer program in the storage medium of server access.Host computer system 204 can operate to communicate with custom system 202 as the webserver (such as, web server).Host computer system 204 operation sends information to custom system 202 and receives information from custom system 202 and can carry out associated task.Host computer system 204 can also comprise fire wall, and this fire wall is for stoping the unwarranted access of host computer system 204 and applying any restriction to authorized access.Such as, keeper can travel all over system and have the authority of the part of amendment system.Fire wall can use custom hardware known in the art and/or software to realize.
Host computer system 204 can also be operating as application server.Host computer system 204 performs the aspect that one or more computer program provides (comprise and skip tree-like join algorithm 210) embodiment as described herein.Can by providing application cause custom system 202 and host computer system 204 shared processing to custom system 202.Alternately, custom system 202 can comprise the stand alone software of part or all application for carrying out described process herein.As discussed previously, should be understood that and independent server can be adopted to realize web server function and application server functionality.Alternately, the webserver, fire wall and application server can be realized with the individual server performing necessary function by moving calculation machine program.
As understood by a person skilled in the art, each side of the present invention may be embodied as system, method or computer program.Therefore, each side of the present invention can adopt the form of the form of overall hardware embodiment, overall Software Implementation (comprising firmware, resident software, microcode etc.) or software and hardware aspect be carried out the form of the embodiment combined, and these forms can be referred to as " circuit ", " module " or " system " in this article.In addition, each side of the present invention can adopt the form of the computer program implemented in one or more computer-readable medium, and one or more computer-readable medium described includes computer readable program code.
Any combination of one or more computer-readable medium can be used.Computer-readable medium can be computer-readable signal media or computer-readable recording medium.Such as, computer-readable recording medium can be but be not limited to electronics, magnetic, optics, electromagnetism, the system of ultrared or semiconductor, equipment or device, or aforesaid any appropriately combined.The more specifically example of computer-readable recording medium (non exhaustive list) can comprise as follows: have the electrical connector of one or more line, portable computer diskette, hard disk, random access memory (RAM), ROM (read-only memory) (ROM), Erasable Programmable Read Only Memory EPROM (EPROM or flash memory), optical fiber, portable compact disc ROM (read-only memory) (CD-ROM), light storage device, magnetic memory apparatus, or aforesaid any appropriately combined.In the context of this document, computer-readable recording medium can be any tangible medium, and this tangible medium can comprise or store that used by instruction execution system, equipment or device or that and instruction executive system, equipment or device are relevant program.
Such as, computer-readable signal media can comprise in a base band or as carrier wave a part, the propagation data signal that includes computer readable program code.Such transmitting signal can adopt any form in various ways, include but not limited to: electromagnetism, optics, or it is any appropriately combined.Computer-readable signal media can be not for computer-readable recording medium and can to used by instruction execution system, equipment or device or any computer-readable medium that program that and instruction executive system, equipment or device are relevant communicates, propagates or transmits.
Any following medium suitably can be used to transmit the program code comprised on a computer-readable medium: described medium includes but not limited to wireless, wired, fiber optic cables, RF etc., or aforesaid any appropriately combined.
Computer program code for performing the operation of each side of the present invention can be write with any combination of one or more of programming language, described programming language comprises Object-Oriented Programming Language such as Java, Smalltalk, C++ etc., and conventional procedural programming language such as " C " programming language or similar programming language.Program code fully can perform, partly perform on the computing machine of user on the computing machine of user, partly perform on the remote computer on the computing machine of user as stand alone software packet portion, or fully to perform on remote computer or server.In rear a kind of situation, remote computer can comprise by the network of any type the computing machine that LAN (Local Area Network) (LAN) or wide area network (WAN) are connected to user, or can connect with outer computer (such as, by using the Internet of Internet service provider).
Each aspect of the present invention is described above with reference to according to the process flow diagram of the method for working of an invention mode, equipment (system) and computer program and/or block diagram.It being understood that the combination of the block in process flow diagram and/or block diagram each piece and process flow diagram and/or block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of multi-purpose computer, special purpose computer or other programmable data processing device to produce mechanism, and the instruction that the processor via computing machine or other programmable data processing device is performed creates the device for the function/action of specifying in one or more pieces in realization flow figure and/or block diagram.
These computer program instructions can also be stored in computer-readable medium, this computer-readable medium can vectoring computer, other programmable data processing device or other devices work in a specific way, to make the instruction be stored in computer-readable medium produce goods, these goods comprise the instruction of the function/action of specifying in one or more block of realization flow figure and/or block diagram.
Computer program instructions can also be loaded on computing machine, other programmable data processing device or other devices to make to treat that performing sequence of operations step on computing machine, other programmable devices or other devices produces computer implemented process, with the process making the instruction performed on computing machine or other programmable devices be provided for the function/action of specifying in one or more block of realization flow figure and/or block diagram.
Process flow diagram in accompanying drawing and block diagram show system according to each embodiment of the present invention, the architecture of possible implementation of method and computer program product, function and operation.In this respect, each piece in process flow diagram or the block diagram module that can represent code, section or part, the module of described code, section or part comprise for realize specific one or more one or more executable instruction of a logic function.It shall yet further be noted that, in some alternative implementations, the function marked in block can not in accordance with occurring in sequence of marking in figure.Such as, in fact, two blocks illustrated continuously can perform substantially concurrently, or these blocks can perform sometimes in reverse order, and this depends on involved function.It shall yet further be noted that can by perform specific function or the system based on specialized hardware of action or the combination of specialized hardware and computer instruction realize block diagram or flow process illustrate in each piece and block diagram and/or flow process illustrate in the combination of block.
Term used herein only for describe particular implementation object and and not intended to be limiting invention.As used herein, singulative " (a) ", " one (an) " and " being somebody's turn to do (the) " are intended to also comprise plural form, unless context is clearly pointed out in addition.Also will understand, the term used in this instructions " comprises (comprises) " and/or " comprising (comprising) " indicates feature that existence states, integer, step, operation, element and/or parts, but do not get rid of and exist or add one or more other features, integer, step, operation, element, parts, and/or its combination.
The equivalent replacement of the counter structure in claim, material, device that action and all functions limit or step is intended to comprise any structure of n-back test together with the element (as special declaration) claimed with other, material or action.Description of the invention illustrates for the purpose of illustration and description, and and not intended to be is exhaustive or limit the present invention with disclosed form.To those skilled in the art, when not departing from the scope of the present disclosure and spirit, many amendments and modification are obvious.Selecting and describing embodiment is in order to principle of the present invention and practical application are described best, and other those of ordinary skill of this area is understood have the summary of the invention of each embodiment of the various amendments being suitable for the special-purpose of expecting.
The process flow diagram described herein is an only example.Many modification of this figure or step described herein (or operation) can be had when not departing from spirit of the present invention.Such as, step can be performed by different order or can add, delete or modify steps.All modification in these modification are considered to be a part for claimed invention.
Although describe the preferred embodiment of the present invention, it should be understood that, those skilled in the art the present and the future can make various improvement within the scope of the appended claims and enhancing.These claims should be regarded as maintaining the initial of the present invention suitable protection described.

Claims (22)

1. the method for connecting according to the record of condition of contact set to the set from the table of at least three in database about connection attribute collection S, described method comprises:
Described connection attribute S is arranged as ordered sequence S 0;
Action scope C is initialized as sky;
Be identified in the table comprising connection attribute A in the set of described table, described connection attribute A is described ordered sequence S 0in first;
Create from S 0in deleted the new sequence S' of the connection attribute of described connection attribute A;
The each table traveled through in the table identified carries out iteration according to the order of connection attribute A, and described iteration is based on the tree index structure for each table in identified table, and in described tree index structure, index key comprises according to S 0all connection attributes in the table identified of order;
For each matching value v of the described connection attribute of locating during described iteration, create new role territory C by " A=v " is attached to described action scope C v;
Determine whether S' is empty;
Based on determining that S' is empty, exporting for each v and corresponding to described action scope C vtuple; And
Based on determining S' not for empty, by S 0be set as S' and for each action scope C v, C is set as C vand identification described in recursive call, described establishment, described iteration, describedly additionally, described to determine, described output and described recursive call.
2. method according to claim 1, wherein, described ordered sequence S 0for non-prefix is concerned with ordered sequence.
3. method according to claim 1, wherein, skips the row meeting filtercondition in described database table by described iteration.
4. method according to claim 1, also comprises and sets up tree index structure.
5. method according to claim 1, wherein, described tree index structure is B tree construction.
6. method according to claim 1, wherein, described tree index structure is trie structure.
7. method according to claim 1, wherein, the disconnected property value from database table is output together with described tuple.
8. method according to claim 1, wherein, adopts query optimizer to determine described ordered sequence.
9. the system for connecting according to the record of condition of contact set to the set from the table of at least three in database about connection attribute collection S, described system comprises:
Storer, described storer has computer-readable computer instruction; And
Processor, described processor is for performing described computer-readable instruction to carry out following method, and the method comprises:
Described connection attribute S is arranged as ordered sequence S 0;
Action scope C is initialized as sky;
Be identified in the table comprising connection attribute A in the set of described table, described connection attribute A is described ordered sequence S 0in first;
Create from S 0in deleted the new sequence S' of the connection attribute of described connection attribute A;
The each table traveled through in the table identified carries out iteration according to the order of connection attribute A, and described iteration is based on the tree index structure for each table in identified table, and in described tree index structure, index key comprises according to S 0all connection attributes in the table identified of order;
For each matching value v of the described connection attribute of locating during described iteration, create new role territory C by " A=v " is attached to described action scope C v;
Determine whether S' is empty;
Based on determining that S' is empty, exporting for each v and corresponding to described action scope C vtuple; And
Based on determining S' not for empty, by S 0be set as S' and for each action scope C v, C is set as C vand identification described in recursive call, described establishment, described iteration, describedly additionally, described to determine, described output and described recursive call.
10. system according to claim 9, wherein, described ordered sequence S 0for non-prefix is concerned with ordered sequence.
11. systems according to claim 9, wherein, skip the row meeting filtercondition in described database table by described iteration.
12. systems according to claim 9, wherein, described method also comprises sets up tree index structure.
13. systems according to claim 9, wherein, described tree index structure is B tree construction.
14. systems according to claim 9, wherein, described tree index structure is trie structure.
15. systems according to claim 9, wherein, the disconnected property value from database table is output together with described tuple.
16. systems according to claim 9, wherein, adopt query optimizer to determine described ordered sequence.
17. 1 kinds of computer programs, its system for connecting according to the record of condition of contact set to the set from least three in database table about connection attribute collection S, described computer program comprises:
Include the computer-readable recording medium of computer readable program code, described computer readable program code makes described computer processor realize following method when executed by the computer processor, and the method comprises:
Described connection attribute S is arranged as ordered sequence S 0;
Action scope C is initialized as sky;
Be identified in the table comprising connection attribute A in the set of described table, described connection attribute A is described ordered sequence S 0in first;
Create from S 0in deleted the new sequence S' of the connection attribute of described connection attribute A;
The each table traveled through in the table identified carries out iteration according to the order of connection attribute A, and described iteration is based on the tree index structure for each table in identified table, and in described tree index structure, index key comprises according to S 0all connection attributes in the table identified of order;
For each matching value v of the described connection attribute of locating during described iteration, create new role territory C by " A=v " is attached to described action scope C v;
Determine whether S' is empty;
Based on determining that S' is empty, exporting for each v and corresponding to described action scope C vtuple; And
Based on determining S' not for empty, by S 0be set as S' and for each action scope C v, C is set as C vand identification described in recursive call, described establishment, described iteration, describedly additionally, described to determine, described output and described recursive call.
18. computer programs according to claim 17, wherein, described ordered sequence S 0for non-prefix is concerned with ordered sequence.
19. computer programs according to claim 17, wherein, skip the row meeting filtercondition in described database table by described iteration.
20. computer programs according to claim 17, wherein, described tree index structure is trie structure.
21. computer programs according to claim 17, wherein, the disconnected property value from database table is output together with described tuple.
22. computer programs according to claim 17, wherein, adopt query optimizer to determine described ordered sequence.
CN201380050050.4A 2012-09-27 2013-09-24 Skip tree-like connection Active CN104769576B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261706484P 2012-09-27 2012-09-27
US61/706,484 2012-09-27
PCT/US2013/061281 WO2014052257A1 (en) 2012-09-27 2013-09-24 Leapfrog tree-join

Publications (2)

Publication Number Publication Date
CN104769576A true CN104769576A (en) 2015-07-08
CN104769576B CN104769576B (en) 2018-03-09

Family

ID=50339919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380050050.4A Active CN104769576B (en) 2012-09-27 2013-09-24 Skip tree-like connection

Country Status (8)

Country Link
US (3) US9177026B2 (en)
EP (1) EP2901311A4 (en)
JP (1) JP6312685B2 (en)
KR (1) KR20150063132A (en)
CN (1) CN104769576B (en)
CA (1) CA2885244C (en)
IL (1) IL237750B (en)
WO (1) WO2014052257A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177026B2 (en) * 2012-09-27 2015-11-03 LogicBlox, Inc. Leapfrog tree-join

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464436A (en) * 2002-06-26 2003-12-31 联想(北京)有限公司 Data storing and query combination method in a flush type system
CN101286160A (en) * 2008-05-30 2008-10-15 同济大学 Data base indexing process

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0433164A (en) * 1990-05-30 1992-02-04 Nec Corp Temporary table connection system in relational type data base
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
US5666525A (en) * 1995-09-21 1997-09-09 The Trustees Of Columbia University In The City Of New York System and method for performing an efficient join operation on large tables with a small main memory
US6138111A (en) 1997-05-02 2000-10-24 Informix Software, Inc. Cardinality-based join ordering
US6185557B1 (en) * 1998-07-31 2001-02-06 Unisys Corporation Merge join process
US6397204B1 (en) 1999-06-25 2002-05-28 International Business Machines Corporation Method, system, and program for determining the join ordering of tables in a join query
JP3584788B2 (en) * 1999-07-05 2004-11-04 日本電気株式会社 Relational database access device and relational database access method
US6493701B2 (en) 2000-11-22 2002-12-10 Sybase, Inc. Database system with methodogy providing faster N-ary nested loop joins
US7620615B1 (en) 2001-10-26 2009-11-17 Teradata Us, Inc. Joins of relations in an object relational database system
US7092954B1 (en) 2001-12-31 2006-08-15 Ncr Corporation Optimizing an equi-join operation using a bitmap index structure
US7617179B2 (en) 2002-06-29 2009-11-10 Ianywhere Solutions, Inc. System and methodology for cost-based subquery optimization using a left-deep tree join enumeration algorithm
US7185012B1 (en) * 2003-02-10 2007-02-27 At&T Corp. Method and apparatus for ranked join indices
US20060136380A1 (en) 2004-12-17 2006-06-22 Purcell Terence P System and method for executing a multi-table query
US8145627B2 (en) 2005-06-10 2012-03-27 Hewlett-Packard Development Company, L.P. Use of connectivity analysis to assist rule-based optimizers
US7512600B2 (en) 2005-06-10 2009-03-31 Hewlett-Packard Development Company, L.P. Use of multi-join operator and rules as framework for join tree processing in database systems
US7693821B2 (en) * 2006-07-27 2010-04-06 Sap Ag Virtual pair algorithm for outer join resolution
US20080288444A1 (en) 2007-05-16 2008-11-20 John Francis Edwards Evaluating Multi-Table Join Selectivity in a Computer Database
US20090006399A1 (en) * 2007-06-29 2009-01-01 International Business Machines Corporation Compression method for relational tables based on combined column and row coding
US8150850B2 (en) * 2008-01-07 2012-04-03 Akiban Technologies, Inc. Multiple dimensioned database architecture
JP5180786B2 (en) * 2008-11-13 2013-04-10 日本電信電話株式会社 Database apparatus, database system, and table data joining method
US8620900B2 (en) * 2009-02-09 2013-12-31 The Hong Kong Polytechnic University Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface
US20110131198A1 (en) * 2009-11-30 2011-06-02 Theodore Johnson Method and apparatus for providing a filter join on data streams
US8306959B2 (en) * 2010-08-06 2012-11-06 Ianywhere Solutions, Inc. Incremental maintenance of immediate materialized views with outerjoins
JP5567967B2 (en) * 2010-09-30 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Cache control method, system and program in database
US20120323971A1 (en) * 2011-06-14 2012-12-20 Sybase, Inc. Optimizing data storage and access of an in-memory database
US9177026B2 (en) * 2012-09-27 2015-11-03 LogicBlox, Inc. Leapfrog tree-join

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464436A (en) * 2002-06-26 2003-12-31 联想(北京)有限公司 Data storing and query combination method in a flush type system
CN101286160A (en) * 2008-05-30 2008-10-15 同济大学 Data base indexing process

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MSDN LIBRARY FOR VISUAL STUDIO 2005: "Join Conditions for Tables,Queries,and Views", 《MICROSOFT DEVELOPER NETWORK》 *
SOFTWARE INFORMATION CENTER FOR IBM RED BRICK WAREHOUSE 6.3: "Indexes that accelerate join operations", 《IBM CORPORATION》 *

Also Published As

Publication number Publication date
CA2885244A1 (en) 2014-04-03
CN104769576B (en) 2018-03-09
US20190073397A1 (en) 2019-03-07
JP6312685B2 (en) 2018-04-18
CA2885244C (en) 2021-01-26
US20160042036A1 (en) 2016-02-11
EP2901311A4 (en) 2016-06-22
US20140089292A1 (en) 2014-03-27
EP2901311A1 (en) 2015-08-05
KR20150063132A (en) 2015-06-08
WO2014052257A1 (en) 2014-04-03
US9177026B2 (en) 2015-11-03
US10120906B2 (en) 2018-11-06
IL237750B (en) 2018-11-29
JP2015535369A (en) 2015-12-10

Similar Documents

Publication Publication Date Title
US9697254B2 (en) Graph traversal operator inside a column store
Tzvetkov et al. TSP: Mining top-k closed sequential patterns
Liu et al. Multi-constrained graph pattern matching in large-scale contextual social graphs
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
Aksu et al. Distributed $ k $-Core View Materialization and Maintenance for Large Dynamic Graphs
Yu et al. Query-driven discovery of semantically similar substructures in heterogeneous networks
CN111475724A (en) Random walk social network event recommendation method based on user similarity
Jiang et al. Effective community search over large star-schema heterogeneous information networks
CN112434027A (en) Indexing method and device for multi-dimensional data, computer equipment and storage medium
Liu et al. Strong social graph based trust-oriented graph pattern matching with multiple constraints
Ahamed et al. An Efficient Mechanism for Deep Web Data Extraction Based on Tree‐Structured Web Pattern Matching
CN104769576A (en) Leapfrog tree-join
CN116595123A (en) Multidimensional data query method, multidimensional data query device, computer equipment and storage medium
Marx et al. Large-scale RDF dataset slicing
CN107291875B (en) Metadata organization management method and system based on metadata graph
CN110263108A (en) A kind of keyword Skyline fuzzy query method and system based on road network
Gacem et al. Scalable distributed reachability query processing in multi-labeled networks
CN110399337B (en) File automation service method and system based on data driving
Erdemir et al. Comparison of Querying Performance of Neo4j on Graph and Hyper-graph Data Model.
Dong et al. Research on query optimization of classic art database based on artificial intelligence and edge computing
Torra Fuzzy clustering-based microaggregation to achieve probabilistic k-anonymity for data with constraints
Abul-Basher et al. TGDB: towards a benchmark for graph databases
CN116737763B (en) Structured query statement execution method, device, computer equipment and storage medium
CN103902628B (en) A kind of storage method and device of customer relationship information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210628

Address after: New York, USA

Patentee after: Enfu (USA) Co.

Address before: New York, USA

Patentee before: Rocky Brooks Co.,Ltd.

Effective date of registration: 20210628

Address after: New York, USA

Patentee after: Logichbrocks proditix mico Co.,Ltd.

Address before: New York, USA

Patentee before: Logich Brooks proditix acquisition Co.

Effective date of registration: 20210628

Address after: New York, USA

Patentee after: Enfu (USA) Co.,Ltd.

Address before: New York, USA

Patentee before: Enfu (USA) Co.

Effective date of registration: 20210628

Address after: New York, USA

Patentee after: Logich Brooks proditix acquisition Co.

Address before: Georgia, USA

Patentee before: LOGICBLOX, Inc.

Effective date of registration: 20210628

Address after: New York, USA

Patentee after: Rocky Brooks Co.,Ltd.

Address before: New York, USA

Patentee before: Enfu retail holding Co.

Effective date of registration: 20210628

Address after: New York, USA

Patentee after: Enfu retail holding Co.

Address before: New York, USA

Patentee before: Logichbrocks proditix mico Co.,Ltd.