Optimizations for a background database consistency check
First Claim
Patent Images
1. A system that facilitates database consistency checking, comprising:
- a processor;
a memory communicatively coupled to the processor;
the memory having stored therein computer-executable instructions configured to implement the database consistency checking system including;
a database component that stores information;
a database consistency check component that, once started, begins generating facts relating to pages of the database component;
a supplemental database consistency check component that generates facts relating to pages of the database component for pages that have changed since starting the database consistency check component;
wherein generated facts are stored in packets of information about a given page, the generated facts comprising at least information indicating that a first page points to a second page;
wherein the database consistency check component determines for one or more given pages that the supplemental database consistency check component has already generated facts based on the one or more pages having been changed since starting the database consistency check component, and as a result, the database consistency check component determines not to generate facts for the one or more given pages; and
an aggregation component, wherein the aggregation component aggregates facts by canceling facts against each other, including at least canceling the fact that the first page points to a second pages against a fact that the second page points to the first page, and wherein any left over facts that have not been cancelled after aggregation indicates a consistency error in the database component.
2 Assignments
0 Petitions
Accused Products
Abstract
Two features allow for increased performance in running database consistency checks. First, a database consistency check runs directly on a database, as opposed to running on a saved database snapshot. This saves memory since there is no need to save a database snapshot. To handle any pages modified since a start of the database consistency check, a supplemental check runs on modified pages. Any facts generated by either check run through an early aggregation that attempts to aggregate facts during the database consistency check.
191 Citations
16 Claims
-
1. A system that facilitates database consistency checking, comprising:
-
a processor; a memory communicatively coupled to the processor;
the memory having stored therein computer-executable instructions configured to implement the database consistency checking system including;a database component that stores information; a database consistency check component that, once started, begins generating facts relating to pages of the database component; a supplemental database consistency check component that generates facts relating to pages of the database component for pages that have changed since starting the database consistency check component; wherein generated facts are stored in packets of information about a given page, the generated facts comprising at least information indicating that a first page points to a second page; wherein the database consistency check component determines for one or more given pages that the supplemental database consistency check component has already generated facts based on the one or more pages having been changed since starting the database consistency check component, and as a result, the database consistency check component determines not to generate facts for the one or more given pages; and an aggregation component, wherein the aggregation component aggregates facts by canceling facts against each other, including at least canceling the fact that the first page points to a second pages against a fact that the second page points to the first page, and wherein any left over facts that have not been cancelled after aggregation indicates a consistency error in the database component. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system that facilitates database consistency checking, comprising:
-
a processor; a memory communicatively coupled to the processor;
the memory having stored therein computer-executable instructions configured to implement the database consistency checking system including;a database consistency check component that, once started, begins generating facts about all of the pages stored in a database component; a supplemental database consistency check component that generates facts relating to pages of a database component for pages that have changed since starting the database consistency check component; wherein generated facts are stored in packets of information about a given page, the generated facts comprising at least information indicating that a first page points to a second page; wherein the database consistency check component determines for one or more given pages that the supplemental database consistency check component has already generated facts based on the one or more pages having been changed since starting the database consistency check component, and as a result, the database consistency check component determines not to generate facts for the one or more given pages; and an early aggregation component that aggregates the facts at least partially during operation of the database check component, wherein the aggregation component aggregates facts by canceling facts against each other, including at least canceling the fact that the first page points to a second pages against a fact that the second page points to the first page, and wherein any left over facts that have not been cancelled after aggregation indicates a consistency error in the database component. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for facilitating database consistency checking, comprising:
employing a processor executing computer executable instructions stored on a computer readable storage medium to implement the following acts; determining an optimal time to run a database consistency check that generates facts about all of the pages in a database; running the database consistency check, that once started, begins generating facts about all of the pages stored in a database component; running a supplemental consistency check that executes upon database pages modified during running of the database consistency check, and that generates facts about the modified pages since starting the database consistency check; storing the generated facts in packets of information about a given page, the generated facts comprising at least information indicating that a first page points to a second page; determining for one or more given pages that the supplemental database consistency check has already generated facts based on the one or more pages having been changed since starting the database consistency check, and as a result, the database consistency check determining not to generate facts for the one or more given pages; and aggregating the facts during running of the database consistency check and the supplemental consistency check, including aggregates facts by canceling facts against each other, including at least canceling the fact that the first page points to a second pages against a fact that the second page points to the first page, and wherein any left over facts that have not been cancelled after aggregation indicates a consistency error in the database component. - View Dependent Claims (15, 16)
Specification