Movatterモバイル変換


[0]ホーム

URL:


US20150186550A1 - Append-Only B-Tree Cursor - Google Patents

Append-Only B-Tree Cursor
Download PDF

Info

Publication number
US20150186550A1
US20150186550A1US14/140,643US201314140643AUS2015186550A1US 20150186550 A1US20150186550 A1US 20150186550A1US 201314140643 AUS201314140643 AUS 201314140643AUS 2015186550 A1US2015186550 A1US 2015186550A1
Authority
US
United States
Prior art keywords
node
tree
data element
data elements
data
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.)
Abandoned
Application number
US14/140,643
Inventor
Nandan MARATHE
Blaine French
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.)
Individual
Original Assignee
Individual
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 IndividualfiledCriticalIndividual
Priority to US14/140,643priorityCriticalpatent/US20150186550A1/en
Priority to US14/155,315prioritypatent/US9594786B2/en
Publication of US20150186550A1publicationCriticalpatent/US20150186550A1/en
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

Existing algorithms to build balanced tree structures (“b-trees”) compare a data element (e.g., a key) to be inserted with the data elements that have already been inserted to find the correct position to insert the data element. Additionally, the algorithms balance and/or rebalance the b-tree when any individual node gets over-filled. As part of this balancing, data elements stored in the various nodes are moved to other nodes. These operations can incur both time and resource costs. We propose an algorithm to build a b-tree in a bottom up manner and a technique to modify trees built using the aforementioned algorithm so that they are balanced. We also propose a method to allow for adding more data into the thus-built b-tree as long as it follows a certain set of pre-conditions.

Description

Claims (20)

What is claimed is:
1. A method, comprising:
receiving, by a controller, a data element for storage in a b-tree, wherein the data element is part of an ordered set of data elements;
determining, by the controller, that a first node in the b-tree is filled to capacity;
storing, by the controller, the data element in a parent node of the first node;
associating, by the controller, a second node with the parent node; and
storing, by the controller, a subsequent data element in the second node.
2. The method ofclaim 1, further comprising creating the second node prior to associating the second node with the parent node.
3. The method ofclaim 1, further comprising determining that the parent node for the first node does not exist after determining that the first node is filled to capacity.
4. The method ofclaim 3, further comprising creating the parent node in response to determining that the parent node does not exist.
5. The method ofclaim 1, wherein the first node is filled to capacity with a plurality of ordered data elements.
6. The method ofclaim 1, further comprising finalizing the b-tree after storing the subsequent data element in the second node.
7. The method ofclaim 6, wherein finalizing comprises:
building a balancing binary tree from data elements already inserted into the b-tree.
8. The method ofclaim 6, further comprising undoing the finalizing.
9. The method ofclaim 8, wherein undoing the finalizing comprises:
removing the data elements that form the balancing binary tree from the b-tree; and
re-inserting the data elements that form the balancing binary tree into the b-tree.
10. The method ofclaim 8, further comprising adding an additional data element to the b-tree.
11. A system, comprising:
a memory; and
a controller configured to:
receive a data element for storage in a b-tree, wherein the data element is part of an ordered set of data elements;
determine that a first node in the b-tree is filled to capacity;
store the data element in a parent node of the first node;
associate a second node with the parent node; and
store a subsequent data element in the second node.
12. The system ofclaim 11, wherein the controller is further configured to create the second node prior to associating the second node with the parent node.
13. The system ofclaim 11, wherein the controller is further configured to determine that the parent node for the first node does not exist after determining that the first node is filled to capacity.
14. The system ofclaim 13, wherein the controller is further configured to create the parent node in response to determining that the parent node does not exist.
15. The system ofclaim 11, wherein the first node is filled to capacity with a plurality of ordered data elements.
16. The system ofclaim 11, wherein the controller is further configured to finalize the b-tree after storing the subsequent data element in the second node.
17. The system ofclaim 16, wherein the controller is configured to finalize by:
building a balancing binary tree from data elements already inserted into the b-tree.
18. The system ofclaim 6, further comprising undoing the finalizing.
19. The system ofclaim 18, wherein the controller is configured to undo the finalizing by:
removing the data elements that form the balancing binary tree from the b-tree; and
re-inserting the data elements that form the balancing binary tree into the b-tree.
20. A non-transitory computer readable medium containing computer instructions that, when executed by the computer, cause the computer to perform steps comprising:
receiving a data element for storage in a b-tree, wherein the data element is part of an ordered set of data elements;
determining that a first node in the b-tree is filled to capacity;
storing the data element in a parent node of the first node;
associating a second node with the parent node; and
storing a subsequent data element in the second node.
US14/140,6432013-12-262013-12-26Append-Only B-Tree CursorAbandonedUS20150186550A1 (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
US14/140,643US20150186550A1 (en)2013-12-262013-12-26Append-Only B-Tree Cursor
US14/155,315US9594786B2 (en)2013-12-262014-01-14Append-only b-tree cursor

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
US14/140,643US20150186550A1 (en)2013-12-262013-12-26Append-Only B-Tree Cursor

Publications (1)

Publication NumberPublication Date
US20150186550A1true US20150186550A1 (en)2015-07-02

Family

ID=53482068

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US14/140,643AbandonedUS20150186550A1 (en)2013-12-262013-12-26Append-Only B-Tree Cursor
US14/155,315Active2035-03-13US9594786B2 (en)2013-12-262014-01-14Append-only b-tree cursor

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
US14/155,315Active2035-03-13US9594786B2 (en)2013-12-262014-01-14Append-only b-tree cursor

Country Status (1)

CountryLink
US (2)US20150186550A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110888934A (en)*2019-11-122020-03-17中核控制系统工程有限公司Scatter-based big data storage method
US11636153B2 (en)*2021-05-272023-04-25Western Digital Technologies, Inc.Storage of tree data structures
US11687592B2 (en)2021-05-272023-06-27Western Digital Technologies, Inc.Storage of tree data structures

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US12339824B2 (en)2023-09-272025-06-24Kenneth KinionAppend-only optimized database using sorted radix tries

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7363284B1 (en)*2004-04-302008-04-22Unisys CorporationSystem and method for building a balanced B-tree
US20100146003A1 (en)*2008-12-102010-06-10Unisys CorporationMethod and system for building a B-tree
US20130318126A1 (en)*2012-05-222013-11-28Goetz GraefeTree data structure

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6792432B1 (en)*1998-03-312004-09-14Sybase, Inc.Database system with methods providing high-concurrency access in B-Tree structures
KR100289331B1 (en)*1998-10-272001-05-02정선종 Concurrency Control Method of High Dimensional Index Structures
US6484172B1 (en)*1999-12-242002-11-19Electronics And Telecommunications Research InstituteConcurrency control method for high-dimensional index structure using latch and lock
US7603346B1 (en)*2004-07-232009-10-13Netlogic Microsystems, Inc.Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein
KR100922389B1 (en)*2007-07-042009-10-19삼성전자주식회사 Index Schemes for Flash Memory
JP5339507B2 (en)*2008-10-012013-11-13インターナショナル・ビジネス・マシーンズ・コーポレーション How to explore a tree structure
DE112012004916T5 (en)*2011-11-252014-09-11Tibco Software Inc. Improved database query and effort estimation
US8959118B2 (en)*2012-04-302015-02-17Hewlett-Packard Development Company, L. P.File system management and balancing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7363284B1 (en)*2004-04-302008-04-22Unisys CorporationSystem and method for building a balanced B-tree
US20100146003A1 (en)*2008-12-102010-06-10Unisys CorporationMethod and system for building a B-tree
US20130318126A1 (en)*2012-05-222013-11-28Goetz GraefeTree data structure

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110888934A (en)*2019-11-122020-03-17中核控制系统工程有限公司Scatter-based big data storage method
US11636153B2 (en)*2021-05-272023-04-25Western Digital Technologies, Inc.Storage of tree data structures
US11687592B2 (en)2021-05-272023-06-27Western Digital Technologies, Inc.Storage of tree data structures

Also Published As

Publication numberPublication date
US9594786B2 (en)2017-03-14
US20150199391A1 (en)2015-07-16

Similar Documents

PublicationPublication DateTitle
US10019294B2 (en)Method of achieving intra-machine workload balance for distributed graph-processing systems
CN106164865B (en) Method and system for dependency-aware transaction batching for data replication
US9813490B2 (en)Scheduled network communication for efficient re-partitioning of data
JP5950285B2 (en) A method for searching a tree using an instruction that operates on data having a plurality of predetermined bit widths, a computer for searching a tree using the instruction, and a computer thereof program
US9721007B2 (en)Parallel data sorting
US9934324B2 (en)Index structure to accelerate graph traversal
US9424297B2 (en)Index building concurrent with table modifications and supporting long values
US10102231B2 (en)Ordering heterogeneous operations in bulk processing of tree-based data structures
US9594786B2 (en)Append-only b-tree cursor
JP6570156B2 (en) Database system optimization method, system, electronic apparatus, and storage medium
CN105989015B (en)Database capacity expansion method and device and method and device for accessing database
US10223409B2 (en)Concurrent bulk processing of tree-based data structures
CN115114293B (en)Database index creation method, related device, equipment and storage medium
CN112445776B (en)Presto-based dynamic barrel dividing method, system, equipment and readable storage medium
US10133763B2 (en)Isolation of concurrent operations on tree-based data structures
CN111723089A (en)Method and device for processing data based on columnar storage format
WO2017068438A1 (en)Concurrent bulk processing of tree-based data structures
CN103177092A (en)Data updating method and system of knowledge base and knowledge base
US9471660B2 (en)Partition lookup and state synchronization
CN111386521A (en)Redistributing table data in a database cluster
CN110069523A (en)A kind of data query method, apparatus and inquiry system
US9552298B2 (en)Smart pre-fetch for sequential access on BTree
CN116933841A (en)Operator fusion method and device, electronic equipment and computer readable medium
US11070461B1 (en)System for dividing a tree data structure to improve traversal operations
US12047305B2 (en)Using multi-phase constraint programming to assign resource guarantees of consumers to hosts

Legal Events

DateCodeTitleDescription
STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION


[8]ページ先頭

©2009-2025 Movatter.jp