Czy TPC-A się przeżył?

Jeszcze do niedawna benchmark TPC-A (por. CW nr 41 z dnia 1.11.1993 r.) był uważany za dobrą miarę wydajności połączenia: sprzętu i systemu zarządzania bazami danych w środowisku przetwarzania transakcyjnego (On Line Transaction Processing - OLTP). Jednakże system Oracle 7 podważył to przekonanie.

Jeszcze do niedawna benchmark TPC-A (por. CW nr 41 z dnia 1.11.1993 r.) był uważany za dobrą miarę wydajności połączenia: sprzętu i systemu zarządzania bazami danych w środowisku przetwarzania transakcyjnego (On Line Transaction Processing - OLTP). Jednakże system Oracle 7 podważył to przekonanie.

Gdy w czerwcu 1992 r. firma Oracle rozpoczęła dostarczanie systemu zarządzania bazami danych Oracle 7, okazało się że jest to najwydajniejszy system, osiągający najlepsze wyniki w benchmarku TPC-A, bijąc znacznie aktualnego lidera, firmę Informix.

Po dokładniejszym zbadaniu fenomenu okazało się, że firma Oracle osiągnęła znaczne polepszenie wyników stosując technikę tzw. dyskretnej transakcji.

Dyskretna transakcja Oracle 7

Dyskretna transakcja, której technika została wprowadzona przez Oracle, polega na skróceniu drogi wykonywania transakcji, ogranicza jednak jej funkcjonalność. Na przykład operacja uaktualnienia tabeli bazy nie wymaga explicite jej odczytu z dysku. Przy mniejszej liczbie operacji, rośnie szybkość wykonywania transakcji. Dyskretna transakcja stanowi opcję użytkową, dostępną jedynie w Oracle 7. Firma Aberdeen Group, Inc., zajmująca się od wielu lat problemami oceny wydajności baz danych, uważa jednak, że 90% transakcji w rzeczywistych warunkach pracy nie może korzystać z dyskretnej transakcji z powodu jej ograniczeń.

Rewelacja czy oszustwo

Zwolennicy Oracle twierdzą, że firma osiąga znakomite wyniki dzięki swej innowacyjności, przeciwnicy zaś uważają tę praktykę za oszukańczą. (Spowodowało to zresztą kilka procesów sądowych.) W efekcie, pojawiły się wątpliwości na ile benchmark TPC-A może być nadal uważany za dobrą miarę wydajności bazy danych.

Grupa Aberdeen pokazuje, że właściwie problem powinien być postawiony nieco inaczej. Zawsze bowiem istnieje ryzyko stworzenia takich programów, które będą dawały najlepsze wyniki na konkretnym benchmarku. Benchmarków można jednak nadal używać do oceny wydajności sprzętu i systemu operacyjnego, korzystając z tych samych baz danych. Tak więc nadal można posługiwać się benchmarkiem TPC-A dla porównania wydajności różnych konfiguracji sprzętowych dla tego samego systemu zarządzania bazami danych. Pozwala np. na porównanie wydajności bazy Oracle na komputerze HP 9000 z wydajnością tej samej bazy na komputerze RS/6000. Mija się zaś z celem porównywanie wydajności różnych systemów zarządzania bazami danych, nawet jeśli działają na tym samym sprzęcie.

Rada do spraw benchmarków baz danych (Transaction Processing Council) zdając sobie sprawę z tych ograniczeń benchmarku TPC-A zaleca stosowanie bardziej realistycznego benchmarku TPC-C. Oddaje on wierniej wyniki w rzeczywistych warunkach korzystania z baz danych i może być używany do porównywania różnych systemów zarządzania bazami danych.

Benchmarki

Warto w tym miejscu przypomnieć, że TPC-A jest to benchmark symulujący pracę urzędników bankowych, wykonujących operacje wkładania na konto i wyjmowania pieniędzy z konta. Koszt systemu oblicza się sumując koszty sprzętu, oprogramowania, konserwacji komputera (komputerów, jeśli test dotyczy środowiska rozproszonego), pamięci masowych, sieci komunikacyjnej i terminali przez okres 5 lat. Na tej podstawie oblicza się stosunek ceny do wydajności liczonej w transakcjach na sekundę. I ten stosunek jest właściwym wynikiem benchmarku, nie zaś szybkość wykonywania transakcji.

Benchmark TPC-B mierzy ile operacji bankowych na sekundę może wykonać system składający się jedynie z procesora, pamięci masowej i bazy danych. Pokazuje więc faktycznie jedynie to, ile operacji sięgania do bazy wykonuje procesor. Nie ma tu żadnej sieci terminali. Chętnie jest używany przez producentów systemów zarządzania bazami danych, ale niesie mało informacji dla informatyka, potrzebującego porównać własne potrzeby przetwarzania transakcyjnego z możliwościami bazy.

Benchmark TPC-C składa się z mieszaniny pięciu typów transakcji dokonywania zamówień, zarówno jedynie czytających z bazy, jak uaktualniających jej zawartość oraz z czterech innych typów transakcji. TPC-C nieźle symuluje warunki pracy i obciążeń w przedsiębiorstwie. Benchmark TPC-C jest tak trudny, że wydajność mierzy się podając liczbę transakcji na minutę. Powszechnie uważa się, że TPC-C najlepiej oddaje rzeczywiste warunki przetwarzania transakcyjnego.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200