Abstract:
An update to a partitioning column for a partitioned table in a database can be performed by handling rows for which the update will not require moving to a different partition separately (e.g. “locally”) for each partition followed by re-inserting those rows that will require moving to a different partition and deleting them from the original partition. The re-inserted rows are directed to a correct partition by application of the partitioning criteria for the table. Methods, articles, and systems are described.
Abstract:
A system includes a database having one or more tables having multiple partitions. The database includes memory modules to store the multiple partitions, a query processor, a data manipulation language (DML) processor configured to process operations to manipulate data in one or more of the partitions and a statistics module. For each partition, the statistics module maintains a partition profile and stores the partition profile in a statistics cache. The partition profile includes at least a first interval of data range values per column for one or more columns. The statistics module updates at least the first interval of a partition profile for a partition with new data range values responsive to the DML processor processing an operation to manipulate data in the partition. The database includes a partition pruning module that is configured to include partitions responsive to a received query based on the partition profile.
Abstract:
Disclosed herein are system, method, and computer program product embodiments for providing a lock-free read access to one or more data structures. An embodiment operates by allocating a first portion of a memory corresponding to a first data structure of the one or more data structures, the first data structure comprising a size. The embodiment then performs a first operation associated with the first data structure. The embodiment then receives a first request to insert second data to the first data structure, and determines whether an increase of the size is to be executed. The embodiment then, based on the determination that an increase of the size is to be executed, inserting the second data to a modified first data structure, comprising: executing garbage collection to free-up the first portion of the memory based on at least one parallel operation associated with the first data structure.
Abstract:
Disclosed herein are system, method, and computer program product embodiments for accessing a database collection. In some embodiments, an application generates a database collection. The database collection is configured to store documents (e.g., records). The application generates a database table definition. The database table definition is a proxy or adapter for the database collection. The application receives a request to be executed to be executed on the database collection from a client device. The request specifies the database table definition. The application accesses the database collection, via the database, to process the request using the database table definition.
Abstract:
Technologies are described for facilitating database system recovery in a distributed database environment having a master node and at least one slave node. The master node maintains an in-memory reference that includes transaction identifiers and their corresponding commit identifiers. When a slave node requests that a commit identifier be assigned to a transaction, the transaction and commit identifiers for the transaction are added to the in-memory reference. The commit identifier is sent by the master node to the slave node. The slave node writes a log entry to a commit log that includes the transaction identifier and the assigned commit identifier. If the database system is interrupted before the slave node writes the commit log entry, the slave node can request the commit identifier for the transaction from the master node, which retrieves the identifier from the in-memory reference.
Abstract:
A method, a system, and a computer program product for accessing data. A schema representing a structure of an object in a plurality of objects stored in a storage location is generated. Each object includes one or more data elements. Each schema identifies one or more data elements of the object, an offset location of each data element of the object, and a value of each data element of the object. A query requesting access to one or more data elements is received. A generated schema in a plurality of generated schemas representing the queried object is identified. The elements are accessed using the identified generated schema, and retrieved.
Abstract:
A data storage and retrieval system for a computer memory including a memory slice formed of segments and adapted to contain one or more documents and a checkpoint adapted to persist the memory slice. The checkpoint includes a document vector containing a document pointer corresponding to a document. The document pointer including a segment identifier identifying a logical segment of the memory slice and an offset value defining a relative memory location of the first document within the identified segment. There are checkpoint memory blocks, each storing a copy of a corresponding segment of the memory slice. The segment identifier of the document pointer identifies a checkpoint memory block and the offset value of the document pointer defines a relative location of the document within the checkpoint memory block.
Abstract:
A method, a system and a computer program product for implicitly partitioning data. An index in a plurality of indexes is selected. The index corresponds to a plurality of ranges of data values stored in a plurality of database slices of a database. A partitioning structure for the selected index is generated. The partitioning structure includes a plurality of hierarchically arranged nodes. Each node corresponds to a range of data values in the plurality of ranges of data values stored and at least one database slice storing corresponding range of data values. Another range of data values is received for storage in the database. Using the partitioning structure, a node in the partitioning structure corresponding to the received range of data values and a corresponding database slice for storing the received range of data values are identified. The received range of data values is stored in the identified database slice.
Abstract:
A system for storage, access, and/or pruning of documents of a document store is provided. In some implementations, the system performs operations comprising analyzing a plurality of parameters of a plurality of documents stored among a plurality of slices in a database and generating, based on the analyzing, statistics about the plurality of parameters including a range of document identifiers present in corresponding slices from the plurality of slices. The operations can further comprise pruning, based on the statistics, one or more slices of the plurality of slices, the pruning triggered in response to a query related to at least a portion of the plurality of stored documents. The operations can further comprise responding to the query based on slices that are not pruned. One or more of the operations can be implemented by a database server. Related systems, methods, and articles of manufacture are also described.
Abstract:
A system includes reception of a first query at a first host, determination, at the first host, that the first query is associated with a first table, the first table including geographically-restricted data and a partitioning column storing identifiers of geographic restrictions, determination, at the first host and based on the partitioning column of the first table and on the first query, a first partition of the first table and a storage location of the first partition, and execution of the first query at the first host in conjunction with the storage location of the first partition.