7 nejlepších nástrojů pro analýzu výkonu databáze

V dnešní době se organizace všech velikostí stále více opírají o databáze. S rozmachem Big Data se zdá, že data se stala jedním z nejdůležitějších aktiv mnoha firem. Kde jsou ale tato data uložena? Samozřejmě v databázích. Díky tomu se databáze, tedy hardware a software, který zajišťuje ukládání, organizaci a získávání dat, staly klíčovou součástí mnoha společností. Jelikož jsou databáze tak zásadní, je stejně důležité zajistit jejich optimální výkon. Stejně jako u mnoha jiných úloh správy sítí a systémů lze i analýzu databází provádět ručně, ale často je nejvýhodnější použít k tomu určené nástroje. Dnes si prohlédneme nejlepší dostupné nástroje pro analýzu výkonu databází.

Trh s databázemi je rozsáhlý, ale o jeho převážnou část se dělí jen několik velkých hráčů. Náš průzkum začneme krátkým pohledem na databáze a hlavní aktéry na trhu. Poté se podíváme na analýzu výkonu databází, co to je a proč je tak důležitá. Nakonec se vrhneme do jádra tématu a představíme si některé z nejlepších nástrojů pro analýzu a monitorování výkonu databází.

O databázích

V nejjednodušším smyslu je databáze struktura dat, která ukládá uspořádané informace. Data v databázi jsou uložena v tabulkách, kde každý řádek představuje jednu datovou položku a každý sloupec obsahuje informace o této položce. Například adresář by mohl být uložen v databázi, kde by každý záznam byl jeden řádek a sloupce by obsahovaly příjmení, jméno, adresu, ulici, město, stát, zemi atd.

Databázové systémy, někdy také nazývané systémy pro správu relačních databází, nabízejí několik způsobů, jak s těmito daty manipulovat. Je možné spojovat více tabulek, data lze indexovat pro rychlejší vyhledávání, nebo s nimi lze manipulovat různými způsoby. Vysvětlování databází by vydalo na celou knihu. Ve skutečnosti o tomto tématu byly napsány stovky knih. Pro účely našeho pojednání je důležité si uvědomit, že databáze jsou poměrně komplexní softwarové celky. Právě kvůli této složitosti může jejich výkon ovlivnit mnoho faktorů.

Trh s databázemi je obrovský a mnoho prodejců nabízí konkurenční produkty. O většinu trhu se však dělí několik dodavatelů. Na špičce je Microsoft se svým SQL Serverem. Dalšími významnými hráči v oblasti komerčních databází jsou Oracle a IBM se svou databází DB2. Existuje také několik bezplatných nabídek, které se v průběhu let těší rostoucí oblibě. Jedna z nejběžnějších se nazývá MySQL a je to databáze mnoha webových stránek. Velmi populární je také další bezplatný produkt s názvem PostgreSQL.

Proč je analýza výkonu databází důležitá

Analýza výkonu databázových serverů a sledování jejich provozuschopnosti a dalších provozních parametrů je jednou z nejdůležitějších úloh správců sítí, systémů nebo databází. Pomáhá zajistit plynulý a efektivní chod softwaru databázového serveru. Správně provedená analýza, s použitím vhodných nástrojů, může být přínosná nejen pro váš serverový hardware a software, ale především pro uživatelský komfort koncových uživatelů.

Databázové servery mohou být zatíženy mnoha různými problémy, které nepříznivě ovlivňují jejich výkon. Mezi nejběžnější patří:

Velikost databáze – S rostoucí velikostí databáze bude server potřebovat více paměti a CPU pro čtení a zpracování dat z tabulek. Zvětšení velikosti existující tabulky může například způsobit znatelný dopad na výkon serveru.
Struktura dotazů – Dotazy jsou příkazy zadané do databáze za účelem získání specifických dat. Čím je dotaz složitější, tím větší má dopad na výkon databáze. Identifikace nejnáročnějších dotazů na databázovém serveru je zásadní pro řízení výkonu serverů. Jakmile jsou identifikovány dotazy, které zabírají nejvíce zdrojů, je možné vynaložit úsilí na snížení jejich zatížení na cykly serveru a využití paměti. Zjištění, která aplikace způsobuje tyto nákladné dotazy ve vaší databázi, vám také může pomoci diagnostikovat základní problémy za těmito dotazy a rychle a efektivně je opravit. Monitorovací dotazy vám pomohou identifikovat, která hostitelská aplikace způsobuje problémy, a případně vám pomohou diagnostikovat problémy s jinými aplikacemi.
Fragmentace indexů – Data uložená v databázích jsou indexována, aby bylo vyhledávání a získávání dat rychlejší a efektivnější. I když správné indexování pomůže rychleji vyhledávat a načítat data, když jsou data upravena, smazána nebo odstraněna, indexovaný obsah se rozsype a databáze se roztříští, což může vést ke snížení výkonu.
Výkon hardwaru – Výkon hardwaru serveru, na kterém běží databáze, může mít také vliv na výkon databáze. Paměť, mezipaměť a stránkování by měly být sledovány v reálném čase, aby se zajistilo, že software databázového serveru funguje optimálně a nedochází k žádným překážkám nebo zpomalení.

Nejlepší nástroje pro analýzu výkonu databází

Stejně jako existuje mnoho dodavatelů databázového softwaru, existuje mnoho prodejců nástrojů pro analýzu výkonu databází. Někteří to nazývají analýzou, jiní to nazývají monitorováním. Všechny tyto nástroje mají jeden společný cíl: zajistit plynulý chod vašich databází a maximální výkon. Tento seznam není zdaleka vyčerpávající a pravděpodobně by existovalo několik desítek dalších produktů, které jsou stejně dobré jako ty, které jsou zde uvedeny. Protože by však nikdo nechtěl číst 25 recenzí podobných produktů, omezili jsme se na sedm nejlepších nástrojů, které jsme našli.

1. SolarWinds Database Performance Analyzer (bezplatná zkušební verze)

Na prvním místě je vynikající nástroj od společnosti SolarWinds, stejné společnosti, která nám přinesla Network Performance Monitor, který je mnohými považován za jeden z nejlepších nástrojů pro monitorování šířky pásma sítě. SolarWinds se mezi správci sítí proslavil především díky působivému výběru nástrojů, které zahrnují i některé z nejlepších bezplatných nástrojů.

SolarWinds Database Performance Analyzer (DPA) monitoruje a analyzuje instance vaší databáze SQL za účelem řešení problémů. Využívá metodu analýzy doby odezvy a zaměřuje se na čas mezi požadavky na dotaz a odpovídající odpovědí z databáze. Dále analyzuje doby čekání a události, aby určil kritická místa databází.

Tento nástroj se vyznačuje snadno použitelným rozhraním, které vám pomůže rychle a snadno najít problémy. Hlavní obrazovka vám umožní zobrazit instance databáze, čekací doby, rady pro dotazy, využití CPU (včetně varování a kritických výstrah), paměť, disk a relace.

Panel trendů konkrétní instance databáze zobrazuje celkové čekací doby (nebo alternativně vaši volbu průměrné nebo typické denní čekací doby) pro uživatele v průběhu měsíce v grafickém formátu. Každá barva grafu představuje jednotlivý příkaz SQL, což vám dává přehled o tom, který příkaz trvá nejdéle.

SolarWinds Database Performance Analyzer je tak nabitý funkcemi, že by si zasloužil samostatný článek. Zde je shrnutí jeho nejdůležitějších funkcí:

Poradenství při ladění databáze
Tento nástroj vám poskytuje rady pro vyladění jednotlivých instancí databáze a zajištění jejich maximálního výkonu. Analyzuje všechny parametry instance a doporučuje postupy pro optimalizaci určitých dotazů nebo celých instancí databáze pro špičkový výkon.

Aktivní sledování všech aktivních relací
Vysoce detailní nativní modul dotazování zaznamenává přesně vše, co se děje v instancích vaší databáze, aniž by docházelo k dodatečnému zatížení samotné databáze.

Sledování, monitorování a analýza komponent databáze
Aby pomohl určit hlavní příčinu problémů s výkonem, nástroj automaticky koreluje dotazy, uživatele, soubory, plány, objekty, čekací doby, úložiště a datum/čas/hodinu/minutu, aby přesně zjistil a diagnostikoval problémy v reálném čase.

Jediný bod monitorování pro všechny vaše databáze
SolarWinds Database Performance Analyzer nepracuje pouze se serverem Microsoft SQL. Ve skutečnosti podporuje většinu hlavních produktů, včetně Oracle, SQL Server, MySQL, DB2 a ASE. Podporuje také fyzické místní servery, virtuální stroje (pod Vmware nebo Hyper-V) a cloudové databáze.

Bez agentů a vysoce škálovatelný
Tento produkt vám umožní monitorovat tolik instancí databáze, kolik potřebujete. Může se snadno škálovat od jedné do tisíce instancí. Rovněž nevyžaduje instalaci žádného monitorovacího nebo analytického agenta na vaše servery. Nehrozí tedy žádné riziko, že by nástroj ovlivnil výkon vašich databází.

Ceny za SolarWinds Database Performance Analyzer začínají na 1 995 USD a liší se podle počtu a typu instancí databáze, které chcete monitorovat. Pokud byste si produkt rádi vyzkoušeli před zakoupením, je k dispozici plně funkční 14denní zkušební verze.

2. Idera Diagnostic Manager pro SQL Server

Idera Diagnostic Manager pro SQL Server nabízí monitorování výkonu databází SQL ve fyzickém i virtuálním prostředí. Správcům umožňuje sledovat statistiky výkonu, metriky a výstrahy z fyzických serverů i z virtuálních strojů a jejich základního hostitelského hardwaru. Sledované metriky zahrnují využití CPU, paměti, diskového prostoru, sítě a další. Produkt také poskytuje proaktivní monitorování SQL dotazů spolu s celkovým monitorováním SQL a může poskytnout správcům doporučení pro stav jejich SQL databází.

Idera Diagnostic Manager pro SQL Server poskytuje webové rozhraní i mobilní aplikace, které jsou k dispozici pro telefony a tablety Android, iOS a Blackberry. Dostupnost dat v reálném čase a historických dat o vašich instancích SQL serveru umožňuje správcům provádět změny v reálném čase i v mobilní aplikaci. I když mobilní aplikace nejsou tak bohaté na funkce jako webová konzole, mezi administrativní úlohy, které z nich můžete spouštět, patří prohlížení a ukončování procesů, spouštění a zastavování úloh podle potřeby a spouštění dotazů k řešení problémů.

Mezi další funkce Idera Diagnostic Manager pro SQL Server patří snadná integrace s SCOM pomocí doplňku Management Pack, systém prediktivního upozornění, který je vytvořen tak, aby se vyhnul falešným upozorněním, a vynikající funkce monitorování výkonu dotazů, která dokáže přesně určit neefektivní a špatně fungující dotazy.

Ceny za Idera Diagnostic Manager pro SQL Server začínají na 1 996 USD za instanci databáze a je k dispozici plně funkční 14denní zkušební verze.

3. Lepide SQL Server Auditor

Lepide SQL Server Auditor nabízí kompletní přehled o všech změnách konfigurace a oprávnění, které jsou prováděny ve vašem prostředí SQL Server, prostřednictvím snadno použitelného grafického uživatelského rozhraní. Jeho řídicí panel je nabitý informacemi a umožní vám na první pohled vidět všechny změny konfigurace a oprávnění provedené na serverech, celkový počet změn na správce a celkový počet změn na zdroj. Nástroj dokáže tyto změny dokonce zobrazit v průběhu času, aby bylo snazší odhalit anomálie. Všechny tyto změny jsou průběžně přenášeny prostřednictvím LiveFeed společnosti Lepide, aby bylo zajištěno, že SQL servery jsou proaktivně auditovány.

Lepide SQL Server Auditor se může pochlubit funkcí analyzátoru trendů, která pomáhá správcům určit, jaké změny jsou v databázi prováděny a kým. To může pomoci při sledování a odhalování potenciálních bezpečnostních rizik, která by mohla vzniknout v důsledku nesprávných oprávnění nebo chyb správce. Kromě analyzátoru trendů je k dispozici také funkce zvaná SQL Server HealthCheck, která nepřetržitě sleduje životně důležité součásti serveru SQL a poskytuje sledování provozních parametrů v reálném čase, jako jsou síťová připojení, využití a zatížení procesoru, chyby a další.

Mezi další funkce Lepide SQL Server Auditor patří mobilní aplikace pro zařízení Android a iOS, které poskytují živou reprezentaci toho, co se děje na instanci. Nástroj má také podrobné funkce pro vytváření zpráv a více než padesát předdefinovaných zpráv pro dodržování předpisů a správu systému. A konečně, snadno použitelný řídicí panel tohoto nástroje vám umožňuje rychle zjišťovat trendy, změny v databázích a poskytuje upozornění na události v reálném čase.

Podrobné ceny pro Lepide SQL Server Auditor lze získat kontaktováním prodejního oddělení společnosti Lepide a je k dispozici bezplatná 15denní plně funkční zkušební verze.

4. SQL Power Tools

SQL Power Tools od SQL Power je řešení pro analýzu výkonu databází bez agentů, které tvrdí, že má nejmenší dopad na vaše servery. SQL Power uvádí, že jejich monitorování nezatíží vaše databáze o více než 1 %. A protože jste bez agenta, nemusíte na své servery instalovat žádnou monitorovací komponentu. Produkt ve skutečnosti nevkládá na server žádnou tabulku, žádnou uloženou proceduru ani úlohu. Veškerá analýza se provádí zcela vzdáleně. Také nevytváří miliony dotazů, které by mohly způsobit problémy s vašimi servery.

Dost bylo toho, co SQL Power Tools neumí, pojďme se podívat na to, co umí. Nástroj obsahuje pohledy řídicího panelu a teplotní mapy výkonu vaší serverové farmy, které lze zobrazit z prohlížeče nebo mobilního zařízení. Vypočítává denní základní analýzu čekacích dob SQL, čítačů výkonu a doby běhu úlohy agenta. Může také provádět ad hoc porovnání čekacích dob SQL a I/O, čítačů výkonu a doby běhu úloh mezi servery a časovými obdobími. SQL Power Tools vám umožní proniknout do čekacích dob SQL pro špatně fungující dotazy SQL. To vám může pomoci určit jakýkoli spor o zdroj, který způsobí, že se SQL nedokončí včas.

SQL Power Tools není levná záležitost. Ceny za instanci databáze se pohybují mezi 2 000 a 750 $, přičemž ceny za instanci se snižují s tím, jak si zakoupíte více licencí. A pokud dáváte přednost vyzkoušení produktu, můžete získat 3týdenní zkušební verzi po kontaktování SQL Power.

5. SQL Monitor

SQL Monitor od softwaru Red Gate je součástí sady nástrojů pro správu, monitorování, změnu, manipulaci a optimalizaci SQL databází. Tento nástroj vám a vašemu týmu pomůže najít problémy dříve, než se stanou problémy. Jedná se o produkt s mnoha funkcemi. Mezi jeho nejlepší funkce patří poskytování přehledu o vašich SQL serverech. Nástroj má také upozornění, která vás informují o problémech dříve, než budou mít znatelný dopad. Umožňuje také spouštět a sdílet přizpůsobené zprávy o stavu vašich serverů. Funkce analýzy výkonu nástrojů jsou také velmi zajímavé a rychle vám umožní zjistit, co má největší dopad na váš systém. Při diagnostice problémů vám nástroj pomůže odhalit kritická místa a najít základní příčiny.

SQL Monitor se může pochlubit vynikajícím řídicím panelem, který vám umožní zobrazit všechny instance databáze na jednom místě. Klient vám také umožňuje přímý přístup ke všem vašim databázím SQL během několika sekund, aniž byste se museli připojovat k síti VPN nebo se jinak vzdáleně připojovat. Snadno použitelný řídicí panel vám může pomoci hlouběji proniknout do statistik o vašich databázích, jako jsou čekací doby, využití procesoru a diskové I/O, pomocí pouhých několika kliknutí.

Cena SQL Monitoru je 1495 $ za instanci databáze. Získáte 15% slevu, pokud si zakoupíte pět až devět licencí, a 20% slevu, pokud si zakoupíte deset a více licencí. Všechny ceny zahrnují první rok podpory od Red Gate. K dispozici je také 14denní zkušební verze a online demo.

6. SQL Sentry

SQL Sentry od SentryOne je přední řešení pro monitorování výkonu databáze. Tento nástroj shromažďuje a prezentuje použitelné metriky výkonu a upozornění. Umožňuje sledovat důležité události a vzájemně je propojovat pomocí kalendáře ve stylu Outlooku. Můžete jej využít k rychlému řešení problémů spuštěním podrobné analýzy ze stejného nástroje, který používáte pro monitorování SQL a upozornění. Řídicí panel výkonu produktu, který obsahuje patentovaný pohled na výkon úložiště, poskytuje správcům podrobnou analýzu dotazů s velkým dopadem a také plány dotazů, které jsou prezentovány prostřednictvím funkce nástroje Plan Explorer.

Řídicí panel SQL Sentry zobrazuje všechny vaše kritické komponenty a služby SQL přehledným způsobem, který vám pomůže spravovat a zajistit vysokou dostupnost vašich instancí SQL. Tento nástroj také dává uživatelům možnost prohlížet si historická data jejich serveru a porovnávat je s aktuálními daty v reálném čase, což dále pomáhá při vytváření základní linie a optimalizaci databázových instancí a serverů.

SQL Sentry vás bude stát 2 495 USD za instanci plus roční poplatek za údržbu ve výši 499 USD. Případně se můžete rozhodnout pro službu založenou na předplatném za 125 $ měsíčně. K dispozici je také bezplatná 15denní zkušební verze.

7. dbForge Monitor

dbForge Monitor od Devart je bezplatný doplněk pro Microsoft SQL Server Management Studio, který umožňuje sledovat a analyzovat výkon SQL Serveru. Tento nástroj obsahuje řadu nástrojů pro diagnostiku SQL Serveru, včetně několika metrik výkonu SQL. Umožňuje vám vidět komplexní a jasný obraz o všech procesech probíhajících na serveru, odhalovat nejdražší dotazy, čekající úkoly a úzká místa výkonu. Tento nástroj vám může ušetřit hodiny času stráveného analýzou výkonu SQL Serveru.

Karta Přehled na řídicím panelu nástroje vám umožňuje sledovat dění na vašem SQL Serveru z různých úhlů. Nabízí širokou sbírku metrik pro všestranné sledování výkonu SQL Serveru, včetně využití CPU, využití paměti, aktivity disku, latence čtení a zápisu, IO latence a dalších.

Karta Stavy čekání nástrojů umožňuje identifikovat prostředky, které zpomalují server. Zobrazuje seznam čekajících úloh, na které narazila spouštěcí vlákna, protože prostředky požadované pro splnění požadavku byly zaneprázdněné nebo nedostupné. dbForge Monitor také obsahuje analyzátor výkonu dotazů SQL, který vám pomůže detekovat a optimalizovat nejdražší dotazy, které přetěžují systém. Kromě seznamu dotazů s nízkou výkonností nástroj zobrazuje text dotazu a data profilování dotazu, které můžete použít k přepsání dotazu produktivnějším způsobem.