TPC BENCHMARK (TM) H (779138), страница 15
Текст из файла (страница 15)
In this case, the test is complete with only Steps 1 and 2. If Txn2 will not completebefore Txn1 completes, perform Steps 3 and 4:3.Ensure that Txn1 is still active. Submit a third transaction Txn3, which executes Q1 against the qualificationdatabase with a test-sponsor selected value of the substitution parameter [delta] that is not equal to the one usedin Step 1.4.Verify that Txn2 completes before Txn3, and that the appropriate rows in the ORDERS, LINEITEM and HISTORY tables have been changed.Comment: In some implementations Txn2 will not queue behind Txn1.
If Txn2 completes prior to Txn1 completion, it is not necessary to run Txn3 in order to demonstrate that updates will be processed in a timely manner asrequired by Isolation Tests.3.5Durability RequirementsThe SUT must guarantee durability: the ability to preserve the effects of committed transactions and ensure databaseconsistency after recovery from any one of the failures listed in Clause 3.5.3.Comment: No system provides complete durability (i.e., durability under all possible types of failures). The specificset of single failures addressed in Clause 3.5.3 is deemed sufficiently significant to justify demonstration ofdurability across such failures.3.5.1Durable Medium DefinitionA durable medium is a data storage medium that is either:a)An inherently non-volatile medium (e.g., magnetic disk, magnetic tape, optical disk, etc.) or;b)A volatile medium with its own self-contained power supply that will retain and permit the transfer of data,before any data is lost, to an inherently non-volatile medium after the failure of external power.TPC BenchmarkTM H Standard Specification Revision 2.17.1Page 76A configured and priced Uninterruptible Power Supply (UPS) is not considered external power.Comment: A durable medium can fail; this is usually protected against by replication on a second durable medium(e.g., mirroring) or logging to another durable medium.
Memory can be considered a durable medium if it can preserve data long enough to satisfy the requirement (b) above, for example, if it is accompanied by an UninterruptiblePower Supply, and the contents of memory can be transferred to an inherently non-volatile medium during the failure. Note that no distinction is made between main memory and memory performing similar permanent or temporary data storage in other parts of the system (e.g., disk controller caches).3.5.2Committed Property Definition3.5.2.1 A transaction is considered committed when the transaction manager component of the system has either written thelog or written the data for the committed updates associated with the transaction to a durable medium.Comment 1: Transactions can be committed without the user subsequently receiving notification of that fact, sincemessage integrity is not required for TPC-H.Comment 2: Although the order of operations in the ACID Transaction is immaterial, the actual return of data cannot begin until the commit operation has successfully completed.3.5.2.2 To facilitate the execution of the durability tests the driver must maintain a durable success file that records thedetails of each transaction which has successfully completed and whose message has been returned to the driver.
Atthe time of an induced failure this success file must contain a record of all transactions which have been committed,except for transactions whose commit notification message to the driver was interrupted by the failure.The durability success file is required only for the durability tests and must contain the following fields:FieldsDatatype DefinitionP_KEYIdentifier ‘Foreign Key’ to P_PARTKEYS_KEYIdentifier ‘Foreign Key’ to S_SUPPKEYO_KEYIdentifier ‘Foreign Key’ to O_ORDERKEYL_KEYintegerDELTAIntegerDATE_Tdate and time to secondComment: If the driver resides on the SUT, the success file must be isolated from the TPC-H database.
For example, the success file must be written outside of the ACID Transaction, and if the durability of the success file is provided by the same data manager as the TPC-H database, it must use a different log file.3.5.3Durability Across Single FailuresThe test sponsor is required to guarantee that the test system will preserve the database and the effects of committedupdates after recovery from any of the failures listed below:Permanent irrecoverable failure of any single durable medium containing TPC-H database tables orrecovery log data.
The media to be failed is to be chosen at random by the auditor, and cannot be speciallyprepared.Comment: If main memory is used as a durable medium, then it must be considered as a potential single point offailure. Sample mechanisms to survive single durable medium failures are database archiving in conjunction with aredo (after image) log, and mirrored durable media. If memory is the durable medium and mirroring is the mechanism used to ensure durability, then the mirrored memories must be independently powered.Instantaneous interruption (system crash/system hang) in processing which requires system re-boot torecover.TPC BenchmarkTM H Standard Specification Revision 2.17.1Page 77Comment: This implies abnormal system shutdown, which requires loading of a fresh copy of the operating systemfrom the boot device.
It does not necessarily imply loss of volatile memory. When the recovery mechanism relies onthe pre-failure contents of volatile memory, the means used to avoid the loss of volatile memory (e.g., an Uninterruptible Power Supply) must be included in the system cost calculation. A sample mechanism to survive an instantaneous interruption in processing is an undo/redo log.Failure of all or part of memory (loss of contents).Comment: This implies that all or part of memory has failed. This may be caused by a loss of external power or thepermanent failure of a memory board.SUT Power Failure: Loss of all external power to the SUT for an indefinite time period.Comment: To demonstrate durability in a cluster during a power failure, the largest subset of the SUT maintainedby a single UPS must be failed.
For example, if a system has one UPS per node or set of nodes, it is sufficient to failone node or that set of nodes. If there is only one UPS for the entire system, then the entire system must be failed. Ineither case, all UPSs must be priced.Regardless of UPS configuration, at least one node of each subset of the nodes in the cluster providing a distinctfunction must be failed.3.5.4Durability TestsThe intent of these tests is to demonstrate that all transactions whose output messages have been received by thedriver have in fact been committed in spite of any single failure from the list in Clause 3.5.3 and that all consistencyconditions are still met after the database is recovered.For each of the failure types defined in Clause 3.5.3 perform the following steps:1.Verify that the ORDERS, and LINEITEM tables are initially consistent as defined in Clause 3.3.2.1, based on arandom sample of at least 10 distinct values of O_ORDERKEY.2.Submit ACID transactions from a number of concurrent streams.
The number of streams must be at least thenumber of the execution streams (# query streams + 1 refresh stream) used in the reported throughput test. Eachstream must submit ACID transactions continuously, i.e. without delay between the completion of onetransaction and the submission of the next. The submission of transactions may not be synchronized to anyactions outside of the stream on which they are submitted. Each transaction must use values of (O_KEY,L_KEY, DELTA) randomly generated within the ranges defined in Clause 3.1.6.2. Ensure that all the values ofO_ORDERKEY chosen in Step 1 are used by some transaction in Step 2. It must be demonstrated thattransactions are in progress at the time of the failure.3.Wait until at least 100 of the ACID transactions from each stream submitted in Step 2 have completed.
Causethe failure selected from the list in Clause 3.5.3. At the time of the failure, it must be demonstrated that:At least one transaction is in flight.All streams are submitting ACID transactions as defined in Step 2.Comment: The intent is that the failure is induced while all streams are continuously submitting and executingtransactions. If the number of in-flight transactions at the point of failure is less than the number of streams, this isassumed to be a random consequence of interrupting some streams during the very small interval between committing one transaction and submitting the next.4.Restart the system under test using normal recovery procedures.5.Compare the contents of the durability success file and the HISTORY table to verify that records in the successfile for a committed ACID Transaction have a corresponding record in the HISTORY table and that no successrecord exists for uncommitted transactions.
Count the number of entries in the success file and in the HISTORYtable and report any difference.Comment: This difference can only be due to transactions that were committed on the system under test, but forwhich the data was not written in the success file before the failure.6.Re-verify the consistency of the ORDERS, and LINEITEM tables as defined in Clause 3.3.2.1.TPC BenchmarkTM H Standard Specification Revision 2.17.1Page 784: SCALING AND DATABASE POPULATION4.1Database Definition and Scaling4.1.1Test Database4.1.1.1 The test database is the database used to execute the load test and the performance test (see Clause 5.1.1.4).4.1.1.2 The test database must be scaled as defined in Clause 4.1.34.1.1.3 The test database must be populated according to Clause 4.2.4.1.2Qualification Database4.1.2.1 A qualification database must be created and populated for use in the query validation test described in Clause 2.3.The intent is that the functionality exercised by running the validation queries against the qualification database bethe same as that exercised against the test database during the performance test.
To this end, the qualification database must be identical to the test database in virtually every regard except size, including but not limited to:Column definitions;Method of data generation and loading;Statistics gathering method;ACID property implementation;Type of partitioning (but not degree of partitioning);ReplicationTable type (if there is a choice);Auxiliary data structures (e.g., indices).The qualification database may differ from the test database only if the difference is directly related to the differencein sizes.