Więcej mocy z bazy

Podobnym narzędziem jest eData Usage Analyzer - jednak tu głównie analizowany jest "wzorzec" użytkownika. Tworzy grupy użytkowników, którzy zadają określone zapytania do systemu. Narzędzie pokazuje, jakie obszary aplikacji warto optymalizować, a równocześnie bada wykorzystanie danych w bazie - co umożliwia usunięcie "martwych" indeksów i niepotrzebnych kolumn.

Narzędzia SQL Power współpracują niemal z każdą bazą danych i pod kontrolą każdego systemu. Mogą równolegle analizować różne systemy bazodanowe i agregować wyniki.

Oprócz programów do monitorowania, na rynku jest dostępnych wiele narzędzi przyspieszających tworzenie złożonych zapytań. SQLExpert firmy Lecchotech to środowisko IDE zaprojektowane tak, by maksymalnie ułatwić żmudne pisanie kodu SQL. Jego główną zaletą jest możliwość równoległej pracy nad wieloma wersjami jednego wyrażenia. Program proponuje alternatywne wyrażenia (równoważne semantycznie) i pilnuje, by zawsze były takie same wyniki działania kwerend. Po zakończeniu testów SQLExpert ułatwia wybór optymalnego rozwiązania.

Innym ciekawym pomysłem firmy Lecchotech jest SQL Scanner, który "pobiera" z bazy danych wszystkie kwerendy, tak że programista SQL może łatwo znaleźć kolejne fragmenty kodu do optymalizacji.

Embarcadero Rapid SQL to uniwersalne środowisko do tworzenia złożonych procedur w SQL. To jedno narzędzie obsługuje równolegle DB2, Oracle, MS SQL Server i Sybase, co czyni je doskonałym rozwiązaniem w sytuacji, gdy powstająca aplikacja ma korzystać z różnych baz. Rapid SQL zawiera dużą kolekcję gotowych szablonów, a także rozbudowane kreatory. Embarcadero ma wbudowane narzędzie do kontroli wersji. Współpracuje z debuggerem, a także klasycznym profilerem, który analizuje procedury SQL pod kątem np. czasu wykonania poszczególnej linii kodu czy procentowego rozkładu czasu między wszystkie składniki (np. określa, ile trwa przeglądanie tabeli przy danym typie indeksu itp.).

Przed uruchomieniem

Poznanie planu wykonania kwerendy to nie wszystko - trzeba ją jeszcze przetestować i sprawdzić w systemie produkcyjnym. Prawie wszystkie z prezentowanych wyżej narzędzi mogą wykorzystać zapis operacji wykonywanych na serwerze, by zastąpić wybrane wyrażenia wersjami zoptymalizowanymi. Dzięki narzędziom, takim jak Bench-mark Factory, można dodatkowo uwiarygodnić testy poprzez symulację zwiększonego obciążenie serwera pytaniami użytkowników.

Innym problemem, przed jakim stają programiści, jest spadek wydajności spowodowany aktualizacją struktury bazy danych. W momencie gdy już dopracowano kwerendy, ustalono odpowiednie indeksy i statystyki, każda zmiana struktury może sprawić, że wysiłek włożony w optymalizację zostanie zaprzepaszczony i trzeba ją będzie od nowa przeprowadzić.

Przykładem narzędzia, które ułatwia rozwiązanie tego problemu, jest SQL Impact. Dokonuje ono analizy proponowanych zmian w bazie danych i generuje raporty informujące o tym, jak poszczególne modyfikacje wpłyną na wydajność systemu. SQL Impact umożliwia także wykrycie wielu zależności między poszczególnymi komponentami w bazie danych (np. gdy zmiana szerokości kolumny wymusza zmianę typu parametru procedury wbudowanej). Dzięki temu narzędziu można sprawdzić, jakie będą skutki modyfikacji w bazie danych przed wprowadzeniem ich w systemie produkcyjnym.

Optymalizacja w sieci

W Internecie znajduje się wiele serwisów, poświęconych optymalizacji baz. Prezentujemy serwisy internetowe firm, oferujących narzędzia usprawniające działanie baz danych

  • http://www.sqlpower.com - uniwersalne narzędzia do monitorowania SQL

  • http://www.netiq.com - narzędzia dla baz MS SQL

  • http://www.sql-server-performance.com - witryna poświęcona optymalizacji MS SQL

  • http://www.orafaq.org/tools/index.htm - przegląd narzędzi dla Oracle'a

  • http://www.idisoft.com - witryna producenta narzędzia Coefficient dla MS SQL

  • http://www.quest.com - wiele produktów związanych z optymalizacją bazy danych, głównie Oracle'a

  • http://www.leccotech.com - szeroka gama produktów do optymalizacji, w wersjach przeznaczonych dla różnych baz danych

  • http://www.embarcadero.com - narzędzia do pisania złożonych procedur w SQL dla DB2, Oracle, MS SQL Server, Sybase


  • TOP 200