-
公开(公告)号:US20220236890A1
公开(公告)日:2022-07-28
申请号:US17659203
申请日:2022-04-14
Applicant: Ocient Inc.
Inventor: George Kondiles , Rhett Colin Starr , Joseph Jablonski , S. Christopher Gladwin
IPC: G06F3/06 , G06F16/25 , H04L67/1097
Abstract: A networked database management system (DBMS) is disclosed. In particular, the disclosed DBMS includes a plurality of nodes, one of which is elected as a designated leader. The designated leader is elected using a consensus algorithm, such as tabulated random votes, RAFT or PAXOS. The designated leader is responsible for managing open coding lines, and determining when to close an open coding line.
-
公开(公告)号:US20220179878A1
公开(公告)日:2022-06-09
申请号:US17652261
申请日:2022-02-23
Applicant: Ocient Inc.
Inventor: George Kondiles , Rhett Colin Starr , Joseph Jablonski
IPC: G06F16/27 , G06F16/22 , G06F16/25 , G06F16/28 , G06F16/23 , G06F15/173 , H04L67/1097 , H04L67/568 , G06F12/02 , G06F13/16 , G06F13/28 , G06F13/42
Abstract: A method by one or more processing units of a database management system includes determining to transition a collection of data from storage in a set of first temperature storage nodes to storage in a set of second temperature nodes based on one or more criteria associated with the collection of data, where each first temperature storage node of the set of first temperature storage nodes is paired with a corresponding second temperature storage node of the set of second temperature storage nodes to form a set of parallel node pairs. The method further includes transitioning storage of the collection of data in parallel, by each parallel node pair of the set of parallel node pairs, from storage in the set of first temperature storage nodes to storage in the set of second temperature storage nodes.
-
公开(公告)号:US11182385B2
公开(公告)日:2021-11-23
申请号:US16267089
申请日:2019-02-04
Applicant: Ocient Inc.
Inventor: George Kondiles , Jason Arnold
IPC: G06F16/901 , G06F16/27 , G06F16/2453 , G06F16/22 , G06F16/2455 , G06F9/4401 , G06F9/50 , H04L29/08 , G06F3/06 , G06F12/0893 , G06F16/17 , G06F11/10 , G06F12/109 , G06F16/23 , G06F16/242 , H03M7/30 , G06F16/2457 , G06F16/2458 , G06F7/24
Abstract: A method includes receiving, by a first computing entity of a database system, data that is organized in rows and columns. The method further includes determining, by the first computing entity, one or more key columns from the columns based on a desired sort criteria for the data. The method further includes sorting, by the first computing entity, other columns of the columns based on the one or more key columns to produce sorted other columns. The method further includes sending, by the first computing entity, the one or more key columns to a second computing entity of the database system for storage in a first storage location associated with the second computing entity. The method further includes sending, by the first computing entity, the sorted other columns to the second computing entity for storage in a second storage location associated with the second computing entity.
-
24.
公开(公告)号:US20190034485A1
公开(公告)日:2019-01-31
申请号:US15991192
申请日:2018-05-29
Applicant: OCIENT INC.
Inventor: Jason Arnold , George Kondiles
IPC: G06F17/30
CPC classification number: G06F16/24542 , G06F16/21 , G06F16/23 , G06F16/24532 , G06F16/24545 , G06F16/2455 , G06F16/901
Abstract: A large highly parallel database management system includes thousands of nodes storing huge volume of data. The database management system includes multiple query optimizers for determining low cost execution plans for queries. The database management system is adapted to receive a data query. An execution plan generator component of the database management system generates an initial execution plan for the query. The initial execution plan is fed as input to more than one query optimizers. Each optimizer starts with the initial execution plan, generates alternative execution plans, and determines a satisfactory execution plan that incurs the lowest cost. The database management system compares the selected execution plans by the optimizers and selects one with the lowest cost. The multiple query optimizers run in parallel.
-
25.
公开(公告)号:US20180349364A1
公开(公告)日:2018-12-06
申请号:US15991082
申请日:2018-05-29
Applicant: OCIENT INC.
Inventor: Jason Arnold , George Kondiles
IPC: G06F17/30
CPC classification number: G06F16/24542 , G06F16/21 , G06F16/23 , G06F16/24532 , G06F16/24545 , G06F16/2455 , G06F16/901
Abstract: A large highly parallel database management system includes thousands of nodes storing huge volume of data. The database management system includes a query optimizer for optimizing data queries. The optimizer estimates the column cardinality of a set of rows based on estimated column cardinalities of disjoint subsets of the set of rows. For a particular column, the actual column cardinality of the set of rows is the sum of the actual column cardinalities of the two subsets of rows. The optimizer creates two respective Bloom filters from the two subsets, and then combines them to create a combined Bloom filter using logical OR operations. The actual column cardinality of the set of rows is estimated using a computation from the combined Bloom filter.
-
公开(公告)号:US20180285167A1
公开(公告)日:2018-10-04
申请号:US15943447
申请日:2018-04-02
Applicant: OCIENT, INC
Inventor: George Kondiles , Rhett Colin Starr
Abstract: A highly parallel database system includes multiple clusters of nodes. Each cluster includes multiple nodes. Each node includes a set of first tier threads and a set of second tier threads. Each second tier thread determines its own current load, and communicates the load status to a corresponding first tier thread. Each first tier thread checks the load status of each corresponding second tier thread when it allocates tasks between a number of corresponding second tier threads to achieve load balance between the second tier threads.
-
公开(公告)号:US12288040B2
公开(公告)日:2025-04-29
申请号:US18765755
申请日:2024-07-08
Applicant: Ocient Inc.
Inventor: Jason Arnold , George Kondiles
IPC: G06F7/08 , G06F7/24 , G06F9/50 , G06F16/2453 , G06F16/2455 , G06N7/01 , G06N20/10 , H04L45/12 , H04L45/122 , H04L45/24 , H04L47/125
Abstract: A method for execution, by a first intermediate node of a plurality of nodes in a database management system, includes processing a message that includes data that is being sent in accordance with a routing path from a source node to a destination node, is a first size, and indicates a next node of the routing path, wherein the first intermediate node is limited to communication with a subset of nodes of the plurality of nodes, and wherein the subset of nodes includes the next node. The method further includes maintaining a tracking table that indicates a total amount of data sent to each node of the subset of nodes during a first time period. The method further includes resetting the total amount of data sent to each of the subset of nodes to zero based one or more of a command and an initiation of a second time period.
-
公开(公告)号:US20250077516A1
公开(公告)日:2025-03-06
申请号:US18950562
申请日:2024-11-18
Applicant: Ocient Inc.
Inventor: George Kondiles , Jason Arnold
IPC: G06F16/2453 , G06F3/06 , G06F7/24 , G06F9/4401 , G06F9/50 , G06F11/10 , G06F12/0893 , G06F12/109 , G06F16/17 , G06F16/22 , G06F16/23 , G06F16/242 , G06F16/2455 , G06F16/2457 , G06F16/2458 , G06F16/27 , G06F16/901 , H03M7/30 , H04L67/10
Abstract: A computing system is operable to generating a set of segments of a segment group. Each segment of the set of segments includes a data and parity section that includes a corresponding set of sorted data slabs, a manifest section that includes metadata regarding the corresponding set of sorted data slabs, at least one index section that includes index data for the corresponding set of sorted data slabs, and a statistics section storing statistical information regarding the each segments. The set of segments of the segment group are stored across a plurality of computing devices of a storage cluster of the computing system.
-
公开(公告)号:US12182531B2
公开(公告)日:2024-12-31
申请号:US17514636
申请日:2021-10-29
Applicant: Ocient Inc.
Inventor: Jason Arnold , George Kondiles
IPC: G06F7/08 , G06F7/24 , G06F9/50 , G06F16/2453 , G06F16/2455 , G06N7/01 , G06N20/10 , H04L45/12 , H04L45/122 , H04L45/24 , H04L47/125
Abstract: A method for execution, by a first intermediate node of a plurality of nodes in a database management system, includes receiving a message, where the first intermediate node is limited to communication with a subset of nodes of the plurality of nodes, where the message: includes data that is being sent in accordance with a routing path, is a first size, and indicates a next node of the routing path, and where the subset of nodes includes the next node. The method continues by generating a revised message, wherein the revised message includes the data and has a second size. The method continues by determining whether there is at least one additional intermediate node after the next node in the routing path. When yes, determining an optimal route for forwarding the revised message via a node of the subset of nodes, and sending the revised message to the node.
-
公开(公告)号:US20240330265A1
公开(公告)日:2024-10-03
申请号:US18741519
申请日:2024-06-12
Applicant: Ocient Inc.
Inventor: George Kondiles , Jason Arnold
IPC: G06F16/22 , G06F9/48 , G06F16/2453 , G06F16/28
CPC classification number: G06F16/2282 , G06F9/4881 , G06F16/24532 , G06F16/285
Abstract: A method includes a host computing device receiving a segment group of data. The method further includes the host computing device evaluating availability status of other computing devices in the storage cluster of computing devices. When one of the other computing devices is unavailable, the method further includes the host computing device dividing the segment group of data into a plurality of lines of data blocks. For a line of the data blocks, the method further includes the host computing device generating at least one parity block. The method further includes the host computing device sending a first data segment that includes first positioned data blocks to a first available computing device. The method further includes the host computing device sending a second data segment that includes second positioned data blocks to a second available computing device. The method further includes the host computing device storing a parity segment.
-
-
-
-
-
-
-
-
-