Porównanie wydajności MySQL i Adabas D Bazy i hurtownie danych
Porównanie wydajności MySQL i Adabas D Autorzy Magdalena Kwaśnica Irena Stencel Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Cel projektu Zapoznanie się z bazami danych MySQL oraz Adabas D Porównanie wydajności tych systemów Przechowywanie danych Odpytywanie danych Badania prowadzone na bardzo dużym zbiorze danych Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Najbardziej popularna opensource’owa baza danych Implementuje model relacyjny Dostępna na wielu platformach Daje możliwości optymalizacyjne Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Główne cechy MySQLa Napisany w C i C++ Testowany z szerokim zakresem komunikatorów Pracuje na różnych platformach Dostępne są API dla C, C++, Eiffel, Java, Perl, PHP, Python, Ruby oraz Tcl Pełna wielowątkowość używa wątków jądra. Jeśli dostępnych jest wiele procesorów mogą one być łatwo użyte. Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Główne cechy MySQLa Posiada transakcyjne i nietransakcyjne mechanizmy gromadzenia danych Wykorzystuje bardzo szybkie dyskowe tablice B-drzew (MyISAM) z kompresją indeksów. Bardzo szybki, bazujacy na wątkach system alokacji pamięci. Wewnątrzpamięciowe tablice haszowe, które są używane jako tablice tymczasowe. Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Główne cechy MySQLa Pełne wsparcie operatorów i funkcji klauzulach SELECT i WHERE zapytań. Pełne wsparcie funkcji GROUP BY i ORDER BY oraz funkcji grupujących. Wsparcie dla LEFT OUTER JOIN i RIGHT OUTER JOIN zarówno w składni SQL jak i ODBC. Wsparcie dla aliasów dla tabel i kolumn. Możliwość odwoływania się do tabel z różnych baz w tym samym zapytaniu. Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Darmowa baza danych Producent: Software AG Implementuje model relacyjny Dostępna na wielu platformach (Windows XP, Windows 2000, Windows Server 2003, Linux, AIX, HP-UX 11i oraz Sun Solaris) Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Cechy Adabas D Bardzo bogaty język zapytań Podzapytania, group by, having, distinct, union, intersect, exept Outer join Wsparcie dla: Kursory Procedury Wyzwalacze Modyfikowalne perspektywy połączone Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Cechy Adabas D cd. Możliwość wyboru standardu SQL-a (SQLMODE) NATIVE - SQL-89 ANSI - SQL-92 Integralność danych Primary key, unique, not null, default, check, foreign key Możliwość definiowania własnych typów danych będących podtypami typów podstawowych Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Cechy Adabas D cd. Typy danych nie są w pełni kompatybilne z innymi systemami Np. fixed, serial/autoincrement, long Poziomy izolacji (0 1/10 15 2/20 3/30) Transakcje Autoryzacja użytkowników (klasy użytkowników) Porównanie wydajności MySQL i Adabas D
Narzędzia pakietu Adabas D Narzędzia administracyjne Control – zarządzanie konfiguracją bazy Load – ładowanie i ekstrakcja zbiorów danych oraz zawartości katalogów Domain – zarządzanie danych, tabelami, indeksami, przywilejami, użytkownikami, itp.. Query – wykonywanie zapytań Sterownik ODBC Narzędzie programowania SQL-PL Porównanie wydajności MySQL i Adabas D
Porównanie MySQL i Adabas D Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Realizacja projektu Aplikacja Pomiary Wnioski Porównanie wydajności MySQL i Adabas D
Realizacja projektu – duża baza danych 6 tabel o różnej liczbie krotek Assocs: 7007 Ausmap: 15960 Baseball: 322 Cosmetic: 2700 Customers: 1966 Product: 20 Porównanie wydajności MySQL i Adabas D
Realizacja projektu – duża baza danych Powiązane tabele to assocs, customers i product. Porównanie wydajności MySQL i Adabas D
Porównanie zajmowanego miejsca 27 975 krotek MySQL – 1,36 MB Adabas D – 666 jakichś ich jednostek Porównanie wydajności MySQL i Adabas D
Realizacja projektu – mierzenie czasu wykonywania zapytań Skrypt PHP odczytujący zapytania z pliku, wykonujący je i następnie wypisujący wyniki czasowe. (uśredniane wyniki z 10 pomiarów). Strona PHP umożliwiająca zadanie pojedynczego zapytania i wybór bazy danych (Adabas D lub MySQL). Rezultat wyjściowy to wyniki pomiaru czasu wykonania zapytania dla każdej bazy oraz krotki zwrócone przez zapytanie. Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Wprowadzanie danych Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Wyniki Porównanie wydajności MySQL i Adabas D
Realizacja połączenia z bazą danych MySQL: Połączenie za pomocą modułu MySQL Wykorzystane funkcje: mysql_connect mysql_select_db mysql_query mysql_fetch_array Porównanie wydajności MySQL i Adabas D
Realizacja połączenia z bazą danych Adabas D: Połączenie za pomocą ODBC (w systemie Windows sterownik ODBC instaluje się wraz z bazą Adabas D). Wykorzystane funkcje: odbc_connect odbc_exec odbc_fetch_row odbc_num_fields odbc_result Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Co było mierzone… Dodawanie tabel Usuwanie tabel Dodawanie krotek Zapytania proste (bez warunków i grupowań) Zapytania złożone (warunki, joiny, grupowania) Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Pomiary - wyniki Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Pomiary - wnioski Różnice w wynikach czasów zapytań nie są istotne Ten sam rząd wielkości wyników MySQL i Adabas Zdecydowanie szybciej wykonuje się tworzenie tabel w Adabas D W większości przypadków czas wykonywania zapytania jest dla MySQL jest nieco mniejszy niż dla Adabas D jednak wyniki te mimo to są porównywalne. Czas dla Adabas maksymalnie 2 razy większy. Porównanie wydajności MySQL i Adabas D
Porównanie wydajności MySQL i Adabas D Koniec Dziękujemy za uwagę Porównanie wydajności MySQL i Adabas D