-
公开(公告)号:US10997211B2
公开(公告)日:2021-05-04
申请号:US16013706
申请日:2018-06-20
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz , Cory P. Mintz , Cailin Anne Nelson , Akshay Kumar , David Lenox Storch , Charles William Swanson , Keith Bostic , Michael Cahill , Dan Pasette , Mathias Benjamin Stearn , Geert Bosch
Abstract: Systems and methods are provided to enable control and placement of data repositories. In some embodiments, the system segments data into zones. A website, for example, may need to segment data according to location. In this example, a zone may be created for North America and another zone may be created for Europe. Data related to operations executed in North America, for example, can be placed in the North America zone and data related to transactions in Europe can be placed in the Europe zone. According to some embodiments, the system may use zones to accommodate a range of deployment scenarios.
-
公开(公告)号:US10713275B2
公开(公告)日:2020-07-14
申请号:US15200975
申请日:2016-07-01
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz , Andrew Michalski , Therese Avitabile
Abstract: According to one aspect, a distributed database system is configured to manage write operations received from database clients and execute the write operations at primary nodes. The system then replicates received operations across a plurality of secondary nodes. Write operation can include safe write requests such that the database guaranties the operation against data loss once acknowledged. In some embodiments, the system incorporates an enhanced arbiter role the enables the arbiter to participate in cluster-wide commitment of data. In other embodiments, the enhanced arbiter role enables secondary nodes to evaluate arbiter operations logs when determining election criteria for new primary nodes.
-
公开(公告)号:US10572505B2
公开(公告)日:2020-02-25
申请号:US15074987
申请日:2016-03-18
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz
Abstract: Provided are systems and methods for managing asynchronous replication in a distributed database environment, wherein a cluster of nodes are assigned roles for processing database requests. In one embodiment, the system provides a node with a primary role to process write operations against its database, generate an operation log reflecting the processed operations, and permit asynchronous replication of the operations to at least one secondary node. In another embodiment, the primary node is the only node configured to accept write operations. Both primary and secondary nodes can process read operations. Although in some settings read requests can be restricted to secondary nodes or the primary node. In one embodiment, the systems and methods provide for automatic failover of the primary node role, can include a consensus election protocol for identifying the next primary node. Further, the systems and methods can be configured to automatically reintegrate a failed primary node.
-
公开(公告)号:US10481982B2
公开(公告)日:2019-11-19
申请号:US15176973
申请日:2016-06-08
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman
Abstract: According to one aspect, a distributed database system is configured to manage multi-writer operations on a distributed database by implementing one or more catamorphic database operators. Catamorphic operators can be architected on the system, and executed with little or no reconciliation logic. Catamorphic operators define sets of catamorphic operations and respective execution logic where the order of execution of catamorphic operations is not relevant to a final result.
-
公开(公告)号:US10176210B2
公开(公告)日:2019-01-08
申请号:US15636538
申请日:2017-06-28
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz
Abstract: The methods and systems can include a database management component configured to manage database instances, the database management component also configured to receive a first data request operation on the distributed database, an execution component configured to process the first data request operation including at least one write request on at least one database instance managed by the database management component, and a fault prediction component configured to detect a potential page fault responsive to a target data of the write request, wherein the execution component is further configured to suspend execution of the first data request operation, request access a physical storage to read the target data into active memory, and re-execute the first data request operation after a period of time for suspending the first data request operation.
-
公开(公告)号:US10031956B2
公开(公告)日:2018-07-24
申请号:US15042297
申请日:2016-02-12
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz , Chris Todd Westin
IPC: G06F17/30
Abstract: Database systems and methods that implement a data aggregation framework are provided. The framework can be configured to optimize aggregate operations over non-relational distributed databases, including, for example, data access, data retrieval, data writes, indexing, etc. Various embodiments are configured to aggregate multiple operations and/or commands, where the results (e.g., database documents and computations) captured from the distributed database are transformed as they pass through an aggregation operation. The aggregation operation can be defined as a pipeline which enables the results from a first operation to be redirected into the input of a subsequent operation, which output can be redirected into further subsequent operations. Computations may also be executed at each stage of the pipeline, where each result at each stage can be evaluated by the computation to return a result. Execution of the pipeline can be optimized based on data dependencies and re-ordering of the pipeline operations.
-
公开(公告)号:US20170322996A1
公开(公告)日:2017-11-09
申请号:US15654590
申请日:2017-07-19
Applicant: MongoDB, Inc.
Inventor: Eliot Horowitz , Dwight Merriman
IPC: G06F17/30
CPC classification number: G06F16/278
Abstract: According to one aspect, provided is a horizontally scaled database architecture. Partition a database enables efficient distribution of data across a number of systems reducing processing costs associated with multiple machines. According to some aspects, the partitioned database can be manages as a single source interface to handle client requests. Further, it is realized that by identifying and testing key properties, horizontal scaling architectures can be implemented and operated with minimal overhead. In one embodiment, databases can be partitioned in an order preserving manner such that the overhead associated with moving the data for a given partition can be minimized during management of the data and/or database. In one embodiment, splits and migrations operations prioritize zero cost partitions, thereby, reducing computational burden associated with managing a partitioned database.
-
公开(公告)号:US09805108B2
公开(公告)日:2017-10-31
申请号:US13929109
申请日:2013-06-27
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz
IPC: G06F17/30
CPC classification number: G06F17/30584 , G06F17/30578
Abstract: Systems and methods are provided for managing asynchronous replication in a distributed database environment, while providing for scaling of the distributed database. A cluster of nodes can be assigned roles for managing partitions of data within the database and processing database requests. In one embodiment, each cluster includes a node with a primary role to process write operations and mange asynchronous replication of the operations to at least one secondary node. Each cluster or set of nodes can host one or more partitions of database data. Collectively, the cluster or set of nodes define a shard cluster that hosts all the data of the distributed database. Each shard cluster, individual nodes, or sets of nodes can be configured to manage the size of any hosted partitions, splitting database partitions, migrating partitions, and/or managing expansion of shard clusters to encompass new systems.
-
公开(公告)号:US20170300522A1
公开(公告)日:2017-10-19
申请号:US15636538
申请日:2017-06-28
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz
IPC: G06F17/30
CPC classification number: G06F17/30362 , G06F11/2094 , G06F12/08 , G06F17/30377 , G06F17/30575 , G06F2201/80 , G06F2201/825
Abstract: According to one aspect, provided are methods and systems for minimizing lock contention in a distributed database environment. The methods and systems can include a database management component configured to manage database instances, the database management component also configured to receive a first data request operation on the distributed database, an execution component configured to process the first data request operation including at least one write request on at least one database instance managed by the database management component, and a fault prediction component configured to detect a potential page fault responsive to a target data of the write request, wherein the execution component is further configured to suspend execution of the first data request operation, request access a physical storage to read the target data into active memory, and re-execute the first data request operation after a period of time for suspending the first data request operation.
-
30.
公开(公告)号:US20170277690A1
公开(公告)日:2017-09-28
申请号:US15482419
申请日:2017-04-07
Applicant: MongoDB, Inc.
Inventor: Dwight Merriman , Eliot Horowitz
IPC: G06F17/30
Abstract: Aspects of the present invention are directed to system and methods for optimizing identification of locations within a search area using hash values. A hash value represents location information in a single dimension format. Computing points around some location includes calculating an identification boundary that surrounds the location of interest based on the location's hash value. The identification boundary is expanded until it exceeds a search area defined by the location and a distance. Points around the location can be identified based on having associated hash values that fall within the identification boundary. Hashing operations let a system reduce the geometric work (i.e. searching inside boundaries) and processing required, by computing straightforward operations on hash quantities (e.g. searching a linear range of geohashes), instead of, for example, point to point comparisons.
-
-
-
-
-
-
-
-
-