A system stores a vector index based on vector data stored in a database and processes queries based on vector data using the vector index. The system stores a plurality of records in a database. The system receives a plurality of vectors, each vector associated with a record. The system stores, in a persistent storage, a vector index including tuples. Each tuple stores a vector, and an identifier of a record associated with the vector. The system receives a database query requesting a result set associated with a target record. The system identifies a target vector associated with the target record. The system accesses the vector index to retrieve a subset of vectors based on a distance from the target vector. The subset of vectors is loaded in memory from the persistent storage. The system determines a result set based on the subset of vectors.
A system stores a vector index based on vector data stored in a database and processes queries based on vector data using the vector index. The system stores a plurality of records in a database. The system receives a plurality of vectors, each vector associated with a record. The system stores, in a persistent storage, a vector index including tuples. Each tuple stores a vector, and an identifier of a record associated with the vector. The system receives a database query requesting a result set associated with a target record. The system identifies a target vector associated with the target record. The system accesses the vector index to retrieve a subset of vectors based on a distance from the target vector. The subset of vectors is loaded in memory from the persistent storage. The system determines a result set based on the subset of vectors.
A system stores multiple documents in a log-structured object store, each document associated with a sequence number and a document value. The log-structured object store includes multiple log segments, each storing documents within a defined sequence number range. A first log-structured merge-tree is maintained to map document keys to corresponding sequence numbers, while a second log-structured merge-tree maps sizes of stale documents to their sequence numbers. A ratio is determined between the size of stale documents and the total size of documents in at least one log segment. In response to the ratio exceeding a predetermined threshold, a compaction operation is initiated to delete stale documents and consolidate active documents into a reduced number of log segments using the reclaimed space. The first and second log-structured merge-trees are updated based on the compaction results to reflect the current state of the data.
A system replicates and synchronizes data objects between a source system and a target system while managing changes in user access control, even when the target system is offline. Initially, a set of data objects accessible to a user based on their access control specification is sent from the source system to the target system. If a change in access control occurs while the target system is offline, the change is recorded within a sequence number, indicating the order of events. Once the target system comes back online, a data synchronization is performed, ensuring that new data objects made accessible by the access control change are transmitted to the target system.
A system allows generation of information used by an integrated development environment using a machine learning-based language model, for example, a large language model. The integrated development environment is for developing applications, e.g., database applications. The system receives a natural language request for information related to development of the database application. The system determines contextual information describing a development task associated with the database application and generates a prompt for a machine learning based language model based on the natural language request and the contextual information and receives a response. The system extracts the information related to development of the database application from the response. In response to a natural request, the system may generate a database query, provide a resultset by executing the database query, automatically determine a type of chart and generate one or more charts for visually displaying the result.
A system allows generation of information used by an integrated development environment using a machine learning-based language model, for example, a large language model. The integrated development environment is for developing applications, e.g., database applications. The system receives a natural language request for information related to development of the database application. The system determines contextual information describing a development task associated with the database application and generates a prompt for a machine learning based language model based on the natural language request and the contextual information and receives a response. The system extracts the information related to development of the database application from the response. In response to a natural request, the system may generate a database query, provide a result set by executing the database query, automatically determine a type of chart and generate one or more charts for visually displaying the result.
A system manages time series data stored in association with documents. The system stores a time series in multiple documents. The time series data includes a series of data points indexed in time order, and each document stores a subset of the series of data points. Each document stores metadata about a time range of the subset of series of data points. The system indexes the documents based on their time ranges. The system may be used for storing and querying spatiotemporal data. Accordingly, each document further stores spatial data and metadata representing a spatial range of geohashes. Responsive to receiving a query for one or more data points, the system selects one or more documents from the multiple documents that contain data points in the particular spatial and time range based on the indexes. The system performs the query on the data points.
A system manages time series data stored in association with documents. The system stores a time series in multiple documents. The time series data includes a series of data points indexed in time order, and each document stores a subset of the series of data points. Each document stores metadata about a time range of the subset of series of data points. The system indexes the documents based on their time ranges. The system may be used for storing and querying spatiotemporal data. Accordingly, each document further stores spatial data and metadata representing a spatial range of geohashes. Responsive to receiving a query for one or more data points, the system selects one or more documents from the multiple documents that contain data points in the particular spatial and time range based on the indexes. The system performs the query on the data points.
G06F 16/2458 - Types spéciaux de requêtes, p. ex. requêtes statistiques, requêtes floues ou requêtes distribuées
G06F 16/909 - Recherche caractérisée par l’utilisation de métadonnées, p. ex. de métadonnées ne provenant pas du contenu ou de métadonnées générées manuellement utilisant des informations géographiques ou spatiales, p. ex. la localisation
9.
Distributed transaction execution management in distributed databases
A distributed database system for handling transactions from multiple client systems. A database node receives a request to execute a transaction from a first client, involving a record modification. This record has an associated check-and-set (CAS) value that changes with modifications. The record is sent to the first client, which identifies the CAS value. Similarly, a second client sends a request for another transaction, receives the record, and identifies the CAS value. One of these clients attempts to stage a mutation based on their transaction. This includes sending the previously received CAS value. The system checks for a CAS value mismatch, indicating a conflicting mutation from another transaction. If a mismatch is detected, the transaction attempt is aborted to prevent conflicts. Otherwise, the mutation is staged, and the CAS value is updated.
G06F 16/215 - Amélioration de la qualité des donnéesNettoyage des données, p. ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
10.
HIGH DENSITY DATA STORAGE BASED ON LOG STRUCTURED STORAGE TECHNIQUES
A system uses a hybrid key-value storage engine that uses log-structured merge tree and a segmented log-structured object store. The system performs garbage collection of stale document versions avoiding index lookup during log segment compaction. The system separates index and document data to minimize write amplification. The system maintains a delete list using a log-structured merge-tree to store stale document sequence numbers and corresponding sizes per log segment. For each log segment from the plurality of log segments, the system determines a measure of fragmentation of the log segment based on sizes of deleted documents of the log segment from the second log-structured merge-tree. If the fragmentation exceeds a threshold, the system initiates a compaction operation for the log segment.
A system uses a hybrid key-value storage engine that uses log-structured merge tree and a segmented log-structured object store. The system performs garbage collection of stale document versions avoiding index lookup during log segment compaction. The system separates index and document data to minimize write amplification. The system maintains a delete list using a log-structured merge-tree to store stale document sequence numbers and corresponding sizes per log segment. For each log segment from the plurality of log segments, the system determines a measure of fragmentation of the log segment based on sizes of deleted documents of the log segment from the second log-structured merge-tree. If the fragmentation exceeds a threshold, the system initiates a compaction operation for the log segment.
A system uses a hybrid key-value storage engine that uses log-structured merge tree and a segmented log-structured object store. The system performs garbage collection of stale document versions avoiding index lookup during log segment compaction. The system separates index and document data to minimize write amplification. The system maintains a delete list using a log-structured merge-tree to store stale document sequence numbers and corresponding sizes per log segment. For each log segment from the plurality of log segments, the system determines a measure of fragmentation of the log segment based on sizes of deleted documents of the log segment from the second log-structured merge-tree. If the fragmentation exceeds a threshold, the system initiates a compaction operation for the log segment.
A system replicates data stored in a source database to target databases of systems such as mobile devices. The source database stores data objects, for example, documents, media objects, and so on. The source system ensures that the data objects stored in a target database correspond to a set of data objects that can be accessed by the user associated with the target database as determined by an access control specification of the user. Accordingly, if the access control specification of the user changes, the source system performs data synchronization to modify the set of data objects stored on the target database. If the access control specification is modified to revoke the user's access to a set of data objects, the source system performs data synchronization to send information identifying the set of data objects with a request to remove the data objects from the target database.
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
H04L 67/1095 - Réplication ou mise en miroir des données, p. ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
14.
Access control system for access revocation in a database
A system replicates data stored in a source database to target databases of systems such as mobile devices. The source database stores data objects, for example, documents, media objects, and so on. The source system ensures that the data objects stored in a target database correspond to a set of data objects that can be accessed by the user associated with the target database as determined by an access control specification of the user. Accordingly, if the access control specification of the user changes, the source system performs data synchronization to modify the set of data objects stored on the target database. If the access control specification is modified to revoke the user's access to a set of data objects, the source system performs data synchronization to send information identifying the set of data objects with a request to remove the data objects from the target database.
A distributed database system receives and executes a transaction including a first modification statement describing a first modification operation on a subset of records, a second modification statement describing a second modification operation on the subset of records, and a commit statement. Responsive to executing the first and second modification statements, the system receives a copy of the subset of records from data servers; performs the first modification operation to generate a first modified subset of records; and performs the second modification operation on the first modified subset of records. Responsive to executing the commit statement, the system stores the second modified subset of records in a commit table and causes the subset of records to be updated at the data servers.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
16.
Cost-based query optimization for untyped fields in database systems
A document-oriented database system generates an optimal query execution plan for database queries on an untyped field included in a collection of documents. Each untyped field is configured to store one or more scalar data values. The system generates histograms for scalar data values stored in untyped fields. Responsive to receiving a query statement for fetching or updating data value stored in one of the untyped fields, the system assigns a cost to each operator associated with the query statement based on the histogram, compares the costs assigned to the operators, and generates a query execution plan based on the comparison, and query the database using the query execution plan.
A database system performs queries on fields storing arrays of a database (i.e., array fields) using de-duplication indexes. The system generates de-duplication indexes for array fields. The de-duplication indexes include unique entries for corresponding distinct values stored by the array fields. The system uses the de-duplication indexes to perform efficient queries specifying corresponding array fields. The system may further generate de-duplication indexes corresponding one or more fields storing various types of values. In various embodiments, the system selects an optimal index from various indexes usable to execute a query, such as a de-duplication index and a conventional index.
G06F 16/00 - Recherche d’informationsStructures de bases de données à cet effetStructures de systèmes de fichiers à cet effet
G06F 16/215 - Amélioration de la qualité des donnéesNettoyage des données, p. ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
G06F 16/22 - IndexationStructures de données à cet effetStructures de stockage
A document-oriented database system generates an optimal query execution plan for database queries on an untyped data field included in a collection of documents. The system generates histograms for multiple types of data stored by the untyped data field and uses the histograms to assign costs to operators usable to execute the database query. The system generates the optimal query execution plan by selecting operators based on the assigned costs. In various embodiments, the untyped data field stores scalars, arrays, and objects.
A distributed database system executes transactions on a distributed database. A received transaction includes statements describing modifications of records stored in the distributed database. The distributed database system executes the transaction at a query server by obtaining copies of records corresponding to the statements of the transaction and performing the modifications specified by the statements of the transaction on the record copies. The distributed database system stores the modified record copies at the query server during execution of the transaction. After the transaction has successfully been executed at the query server, the distributed database system attempts to perform a commit process to update the records stored in the distributed database based on the modified record copies.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
A distributed database system executes transactions on a distributed database. A received transaction includes statements describing modifications of records stored in the distributed database. The distributed database system executes the transaction at a query server by obtaining copies of records corresponding to the statements of the transaction and performing the modifications specified by the statements of the transaction on the record copies. The distributed database system stores the modified record copies at the query server during execution of the transaction. After the transaction has successfully been executed at the query server, the distributed database system attempts to perform a commit process to update the records stored in the distributed database based on the modified record copies.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
21.
Distributed transaction execution management in distributed databases
Client systems of a distributed database system manage execution of transactions on data stored within the distributed database system. The client systems communicate directly with database nodes of the distributed database system in order to manage transactions. The client systems interact with the database nodes of the distributed database system via a client-side interface that performs various operations to execute transactions at the distributed database nodes, including retrieving records, staging mutations or insertions, committing mutations or insertions, or rolling back mutations or insertions on records stored on the distributed database nodes. Interactions between the client-side interface and the database nodes of the distributed database system are further configured to prevent conflicts between different transactions executed by the same or different client systems at the database nodes.
G06F 16/215 - Amélioration de la qualité des donnéesNettoyage des données, p. ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
Client systems of a distributed database system execute transactions on data stored within the distributed database system. The client systems communicate directly with database nodes of the distributed database system in order to execute transactions. The client systems interact with the database nodes of the distributed database system via a client-side interface that performs various operations to execute transactions at the distributed database nodes, including retrieving records, staging mutations or insertions, committing mutations or insertions, or rolling back mutations or insertions on records stored on the distributed database nodes. Interactions between the client-side interface and the database nodes of the distributed database system are further configured to prevent conflicts between different transactions executed by one or more client systems at the database nodes.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
Client systems of a distributed database system execute transactions on data stored within the distributed database system. The client systems communicate directly with database nodes of the distributed database system in order to execute transactions. The client systems interact with the database nodes of the distributed database system via a client-side interface that performs various operations to execute transactions at the distributed database nodes, including retrieving records, staging mutations or insertions, committing mutations or insertions, or rolling back mutations or insertions on records stored on the distributed database nodes. Interactions between the client-side interface and the database nodes of the distributed database system are further configured to prevent conflicts between different transactions executed by one or more client systems at the database nodes.
G06F 16/215 - Amélioration de la qualité des donnéesNettoyage des données, p. ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
24.
Efficient indexing for querying arrays in databases
A database system performs queries on fields storing arrays of a database (i.e., array fields) using de-duplication indexes. The system generates de-duplication indexes for array fields. The de-duplication indexes include unique entries for corresponding distinct values stored by the array fields. The system uses the de-duplication indexes to perform efficient queries specifying corresponding array fields. The system may further generate de-duplication indexes corresponding one or more fields storing various types of values. In various embodiments, the system selects an optimal index from various indexes usable to execute a query, such as a de-duplication index and a conventional index.
G06F 16/00 - Recherche d’informationsStructures de bases de données à cet effetStructures de systèmes de fichiers à cet effet
G06F 16/215 - Amélioration de la qualité des donnéesNettoyage des données, p. ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
A database system performs queries on fields storing arrays of a database (i.e., array fields) using de-duplication indexes. The system generates de-duplication indexes for array fields. The de-duplication indexes include unique entries for corresponding distinct values stored by the array fields. The system uses the de-duplication indexes to perform efficient queries specifying corresponding array fields. The system may further generate de-duplication indexes corresponding one or more fields storing various types of values. In various embodiments, the system selects an optimal index from various indexes usable to execute a query, such as a de-duplication index and a conventional index.
A document-oriented database system generates an optimal query execution plan for database queries on an untyped data field included in a collection of documents. The system generates histograms for multiple types of data stored by the untyped data field and uses the histograms to assign costs to operators usable to execute the database query. The system generates the optimal query execution plan by selecting operators based on the assigned costs. In various embodiments, the untyped data field stores scalars, arrays, and objects.
A document-oriented database system generates an optimal query execution plan for database queries on an untyped data field included in a collection of documents. The system generates histograms for multiple types of data stored by the untyped data field and uses the histograms to assign costs to operators usable to execute the database query. The system generates the optimal query execution plan by selecting operators based on the assigned costs. In various embodiments, the untyped data field stores scalars, arrays, and objects.
A document-oriented database system generates an optimal query execution plan for database queries on an untyped data field included in a collection of documents. The system generates histograms for multiple types of data stored by the untyped data field and uses the histograms to assign costs to operators usable to execute the database query. The system generates the optimal query execution plan by selecting operators based on the assigned costs. In various embodiments, the untyped data field stores scalars, arrays, and objects.
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Computer software, namely, database software and database
management software for transferring, analyzing, organizing
and storing data, whether temporarily or permanently. Educational services, namely, arranging, organizing, and
conducting conferences in the field of database software and
the electronic distribution of educational materials in
connection therewith. Computer services, namely, the design and development of
database software and database management software and the
design and development of computer software for
transferring, analyzing, organizing and storing data,
whether temporarily or permanently; computer software
installation, maintenance and integration services; computer
software consulting services.
09 - Appareils et instruments scientifiques et électriques
Produits et services
(1) Computer software, namely database software for searching and querying third party general business data, general business information and NoSQL databases which are databases ideally structured for capture and storage of user generated content whether temporarily or permanently.
09 - Appareils et instruments scientifiques et électriques
Produits et services
(1) Computer software, namely database software for searching and querying third party general business data, general business information and NoSQL databases which are databases ideally structured for capture and storage of user generated content whether temporarily or permanently.
09 - Appareils et instruments scientifiques et électriques
Produits et services
(1) Computer software, namely database software and database management software for transferring, analyzing, organizing and storing data, whether temporarily or permanently, for use on mobile and desktop applications
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Computer software, namely, database software and database management software for transferring, analyzing, organizing and storing data, whether temporarily or permanently. (1) Educational services, namely, arranging, organizing, and conducting conferences in the field of database software and the electronic distribution of educational materials in connection therewith; Computer services, namely, the design and development of database software and database management software and the design and development of computer software for transferring, analyzing, organizing and storing data, whether temporarily or permanently; computer software installation, maintenance and integration services; computer software consulting services.
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Computer software, namely, database software and database management software for transferring, analyzing, organizing and storing data, whether temporarily or permanently Educational services, namely, arranging, organizing, and conducting conferences in the field of database software and the electronic distribution of educational materials in connection therewith Computer services, namely, the design and development of database software and database management software and the design and development of computer software for transferring, analyzing, organizing and storing data, whether temporarily or permanently; computer software installation, maintenance and integration services; computer software consulting services
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Computer software, namely, database software and database
management software for transferring, analyzing, organizing
and storing data, whether temporarily or permanently. Computer services, namely, the design, development of
database software and database management software and
software solutions for transferring, analyzing, organizing
and storing data, whether temporarily or permanently;
computer software installation, maintenance and integration
services; computer consulting services.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Computer software, namely, database software and database management software for transferring, analyzing, organizing and storing data, whether temporarily or permanently. (1) Computer services, namely, the design, development of database software and database management software and software solutions for transferring, analyzing, organizing and storing data, whether temporarily or permanently; computer software installation, maintenance and integration services; computer consulting services.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Computer software, namely, database software and database management software for transferring, analyzing, organizing and storing data, whether temporarily or permanently Computer services, namely, the design, development of database software and database management software and software solutions for transferring, analyzing, organizing and storing data, whether temporarily or permanently; computer software installation, maintenance and integration services; computer consulting services