摘要:
Embodiments are directed to providing distributed database service upgrades of database server instances in a computer cluster using multiple database server instances and to monitoring and maintaining a distributed database service during upgrade. In an embodiment, each computer system in a computer cluster instantiates at least two different database server instances on each of the nodes in the cluster. The first database server instances are configured to operate using a current distributed database version and the second instances are configured to operate using a new, updated distributed database service version. The computer system receives an indication that the distributed database service is to be upgraded. Then, based on the received indication, the computer system migrates database replicas from the first database server instances to the second database server instances which operate the new, updated service version, substantially without user-visible downtime.
摘要:
Embodiments are directed to providing distributed database service upgrades of database server instances in a computer cluster using multiple database server instances and to monitoring and maintaining a distributed database service during upgrade. In an embodiment, each computer system in a computer cluster instantiates at least two different database server instances on each of the nodes in the cluster. The first database server instances are configured to operate using a current distributed database version and the second instances are configured to operate using a new, updated distributed database service version. The computer system receives an indication that the distributed database service is to be upgraded. Then, based on the received indication, the computer system migrates database replicas from the first database server instances to the second database server instances which operate the new, updated service version, substantially without user-visible downtime.
摘要:
A method of updating a clone data map associated with a plurality of nodes of a computer system is disclosed. The clone data map includes node identification data and clone location data. A node failure event of a failed node of the computer system that supports a primary clone is detected. The clone data map is updated such that a secondary clone stored at a node other than the failed node is marked as a new primary clone. In addition, clone data maps may be used to perform node load balancing by placing a substantially similar number of primary clones on each node of a node cluster or may be used to increase or decrease a number of nodes of the node cluster. Further, data fragments that have a heavy usage or a large fragment size may be reduced in size by performing one or more data fragment split operations.
摘要:
Architecture that addresses an end-to-end solution for logical transactional replication from a shared-nothing clustered database management system, which uses adaptive cloning for high availability. This can be time based using a global logical timestamp. The disclosed architecture, used for refreshing stale clones, does not preserve user transaction boundaries, which is a more complex situation than where the boundaries are preserved. In such a scenario it is probable that for a given data segment no clone of the segment may contain the complete user transaction history, and hence, the history has to be pieced together from the logs of multiple different clones. This is accomplished such that log harvesting is coordinated with the clone state transitions to ensure the correctness of logical replication.
摘要:
A method of searching for objects in a second database using a query from a first database includes receiving a first query from the first database where the first query is generated using a collation associated with the first database or user session or explicitly specified by users, where the first database may be the same as the second database. The first query is rewritten to form a second query which includes a superset of the collation and a residue predicate which includes a predicate from the first query. An index plan is adopted which targets an index associated with the a multiple language collation expressed in the rewritten query. The rewritten query is executed accessing the index and corresponding data that align with the residue predicate. The total number of indexes provided can be much less than the number of indexes needed if all possible collations were individually indexed.
摘要:
A system and method are presented for providing system code to a variety of databases by using a resource database. The resource database contains pre-created system objects, which have been parsed and organized into a format suitable for execution. These pre-created system objects are capable of logically appearing in the variety of databases, while physically persisting in the resource database. Employing the resource database allows for quick upgrades and rollbacks since the pre-created system objects can be copied and installed on computer systems in a single file-copy operation. Additionally, the resource database limits accessibility to its pre-created system objects, thereby ensuring the integrity of the resource database. Lastly, the resource database contains its own metadata that is distinct from the metadata of the variety of databases.
摘要:
Aspects of the subject matter described herein relate to multi-log based replication. In aspects, database fragments are associated with different logs. Each change to a duplicated database record may be recorded in multiple logs. A history data structure is used to determine when duplication schemas are valid. A duplication schema indicates what database fragments duplicate one or more database records. For a particular time range, the duplication schema history is used to determine whether currently available logs include all changes. If multiple logs include the same change, one log may be selected to provide the change. Non-duplicative changes may be placed into a single data stream usable to update a remote database.
摘要:
Methods, systems, and computer-readable media are disclosed for transitioning clones and clone data access maps in response to node or media failure without blocking queries. In a system, a data request interface is configured to receive a query to access data at a storage device. Data management logic is configured to access clone state information of a plurality of clones including clones in a static state and clones in a transitory state. The data management logic is further configured to process the query to access the data according to the dynamic clone data access map, with functional correctness maintained.
摘要:
Aspects of the subject matter described herein relate to multi-log based replication. In aspects, database fragments are associated with different logs. Each change to a duplicated database record may be recorded in multiple logs. A history data structure is used to determine when duplication schemas are valid. A duplication schema indicates what database fragments duplicate one or more database records. For a particular time range, the duplication schema history is used to determine whether currently available logs include all changes. If multiple logs include the same change, one log may be selected to provide the change. Non-duplicative changes may be placed into a single data stream usable to update a remote database.
摘要:
Architecture that addresses an end-to-end solution for logical transactional replication from a shared-nothing clustered database management system, which uses adaptive cloning for high availability. This can be time based using a global logical timestamp. The disclosed architecture, used for refreshing stale clones, does not preserve user transaction boundaries, which is a more complex situation than where the boundaries are preserved. In such a scenario it is probable that for a given data segment no clone of the segment may contain the complete user transaction history, and hence, the history has to be pieced together from the logs of multiple different clones. This is accomplished such that log harvesting is coordinated with the clone state transitions to ensure the correctness of logical replication.