DB Optimizer XE Developer
Grafické prostředí pro analýzu a ladění SQL
- Pomáhá odstraňovat úzká místa ve výkonosti databází a aplikací v reálném provozu
- Chrání produkční prostředí před implementací výkon snižujícího SQL kódu
- Přináší jednotné prostředí s intuitivním ovládáním pro vývoj, testování, analýzu a ladění SQL
DB Optimizer zpřístupňuje vývojářům a databázovým správcům funkce
pro rychlé odhalení, rozpoznání a odladění výkon snižujícího SQL.
Umožňuje tak maximalizovat výkon jak aplikací tak vlastního
databázového stroje.
Prostřednictvím nástroje DB Optimizer lze podrobně analyzovat
zpracovávaný SQL kód. Na základě statistik (vytížení procesoru, diskové
operace, odezva a podobně) se lze zaměřit na konkrétní příkazy, které
jsou například spouštěny velmi často nebo pracují s velkými objemy dat,
otimalizovat je a odstranit tak úzká místa celého systému.
DB Optimizer nabízí:
- Grafickou vizualizaci analýz čekacích dob pro snadné nalezení kódu v
SQL, který nepříznivě ovlivňuje výkon databází
- Nepřetržité profilování sleduje celý datový zdroj v rámci nastavitelné
doby
- Dávkové ladění příkazů jazyka pro manipulaci s daty, uložených
procedur a celých souborů SQL
- Vysvětlující plány ("explain plans") pro lepší pochopení
způsobu, jakým se bude provádět kód SQL a jaká je režie výkonu
- Editor jazyka SQL s rychlými opravami v reálném čase pro nalezení a opravu
nedostatečně výkonného kódu v SQL
- Analýza čekacích dob poskytne úplný profil výkonu z pohledu uživatele
a tím umožní skutečně zlepšit celkový výkon databází.
Veškeré licence se dodávají jako elektronické, tedy bez instalačního DVD. Potřebujete-li instalační média, můžete je objednat na této stránce.
Informace o čísle verze:
- Současná verze: XE
- Předchozí verze: 2.5.1
detailní popis
Ceník produktů DB Optimizer XE Developer
Pojmenovaná lokální (nesíťová) licence pro nového uživatele a s podporou všech dostupných databázových platforem včetně ročního předplatného.
Jedna síťová pojmenovaná licence pro nového uživatele a s podporou všech dostupných databázových platforem včetně ročního předplatného. Tato licence může být využívána pouze jedním uživatelem, avšak na libovolném místě podnikové sítě, ze kterého je přístup k licenčnímu serveru.
Jedna síťová souběžná licence pro nového uživatele včetně ročního předplatného s podporou všech dostupných databázových platforem. Tato licence může být sdílena více uživateli na libovolném místě v podnikové síti, které má přístup k licenčnímu serveru.
Pozn.:*Předplatné: Předplatné vám zajistí po dobu 1 roku automatický přísun aktualizovaných a opravených verzí produktů a rychlou technickou podporu v kritických situacích. Po roce stačí obnovit samotné předplatné, za licence se již nic neplatí. Pro nákup produktu bez předplatného odškrtněte příznak ve sloupci "Předplatné". U některých produktů je však předplatné první rok povinné a odškrtnout jej nelze. Více o předplatném najdete zde.
Popis produktu
Hlavní vlastnosti produktu
DB Optimizer je snadno použitelné prostředí pro návrh, profilování a
ladění SQL kódu. Nástroj je určen vývojářům, jejichž cílem je nejen
syntakticky správný ale i kvalitní, výkonný kód. Další cílovou skupinou
uživatelů jsou správci, jimž přináší schopnost rychle nalézt
problematické příkazy a okamžitě je optimalizovat. Optimalizací kódu SQL
je možné v řadě případů dosáhnout významného zvýšení výkonu, aniž by
bylo nutné rozšiřovat počet procesorů/jader nebo uzlů databáze. To navíc
znamená nemalé finanční náklady na licence a související poplatky
(technická podpora, údržba a podobně). DBOptimizer je možné instalovat
jako samostatnou, plnohodnotnou aplikaci, nebo jako zásuvný modul do
vývojáři oblíbeného prostředí Eclipse.
Značnou předností nástroje
DBOptimizer je podpora různých platforem. Z jednoho uživatelského
prostředí tak lze zcela konzistentně ladit kód pro databáze IBM® DB2®
for LUW, Oracle®, Microsoft® SQL Server a Sybase®. Značně se tím
redukuje čas, který uživatel obvykle ztratí tím, že se musí seznamovat s
nástrojem pro každou databází zvlášť. DBOptimizer je navíc navržen tak,
aby jeho ovládání bylo maximálně intuitivní, podobně jako je tomu u
ostatních Embarcadero nástrojů.

Nástroj má tři hlavní moduly, kterými jsou SQL Editor, SQL Profiler a
SQL Tuner. Pro lepší orientaci v rozsáhlejších prostředích, nebo při
používání nástroje více uživateli je k dispozici členění do projektů.
SQL Editor
|

|
Uživatel, který má efektivně pracovat s SQL,
potřebuje především okamžitou interakci s databází. Zvláště u větších
projektů nelze předpokládat, že si bude vývojář pamatovat jména tabulek,
sloupců nebo jejich datové typy. Editor, obsažený v DBOptimizeru,
nabízí v tomto směru uživatelům maximální pohodlí. Kromě průzkumníka,
který zobrazuje všechny objekty databáze ve formě přehledné stromové struktury, a
to včetně jejich DDL reprezentace, je zde k dispozici celá řada
interaktivních pomocníků.
Samozřejmostí je uživatelsky přizpůsobitelné „barvení" a doplňování
syntaxe. Editor rovněž nabízí přímo během kódování výběr souvisejících
objektů z datového slovníku databáze a provádí online kontrolu celého
příkazu.

|
Běžné příkazy jsou nabízeny ve formě šablon, které ocení hlavně
uživatelé pracující s více databázemi, jejichž dialekty se vzájemně
liší. „Štábní kulturu" zajistí volba automatického formátování, kterou
lze rovněž jako většinu ostatních funkcí nakonfigurovat dle vlastního
vkusu. Při práci s rozsáhlejším kódem uživatelé jistě ocení možnost
sbalit/rozbalit jednotlivé sekce.

|
To je možné jak přímo v editoru, tak v
pomocném navigačním okně (Quick Outline), kde pak jen stačí kliknout a
uživatel je přenesen na požadovanou oblast příkazu v editoru.
Výsledné
příkazy lze spouštět přímo z editoru, který je následně zobrazí v
požadované formě. Na výběr je klasický „grid", html, prostý text nebo
XML. Kromě obvyklého Copy/Paste lze takto získaná data rovněž uložit do
některého z výše uvedených formátů a nechybí ani oblíbený Microsoft
Excel.
|
 |

Hlavní devizou produktu je však především možnost pořízený
kód ladit. K tomu slouží SQL Profiler a SQL Tuner, které jsou popsány
samostatně, v rámci prostředí jsou však samozřejmě dostupné kdykoliv
přímo z editoru.
SQL profiler
Běžný produkční systém a jeho uživatelé generují
stovky či tisíce požadavků na databázový stroj. Pro optimalizaci výkonu
DB serveru je však vhodné soustředit se pouze na ty příkazy, jejichž
ladění nám přinese maximální užitek. Logické je, pokusit se hledat
požadavky, které server nejvíce zatížily. Ve skutečnosti je ale velmi
pravděpodobné, že bychom pak ladili pouze velmi složité, komplexní
dotazy, které se již možná ani nebudou opakovat (takzvané „AdHoc"
dotazy) a jejich optimalizací tak nic nezískáme. Naopak naší pozornosti
by mohly uniknout zdánlivě bezvýznamné dotazy, které se však neustále
opakují a jejichž zefektivněním je možné zvýšit výkonnost významným
způsobem. Je třeba si také uvědomit, že se nemusí jednat o v pravém
smyslu totožné dotazy, ale takové, které jsou shodné z pohledu
exekučního plánu (tedy například parametrické dotazy). SQL Profiler
udělá tuto práci za Vás.
DBOptimizer lze spustit a nechat sledovat
reálnou zátěž databázového stroje v určeném časovém rozmezí. Následně si
uživatel v přehledném grafickém výstupu označí oblasti, které ukazují
na operace generující nejvyšší zátěž. Pomocí filtrů lze výběr dále
omezit na konkrétní typ zátěže (CPU, zamykání, systémové zdroje, síťovou
komunikaci a podobně) nebo zvolenou aplikaci či proces.

Takto
postupně získáme množinu příkazů, které jsou nejlepšími kandidáty pro
hlubší analýzu a následné ladění.
SQL Tuner
Aktuální verze DB
Optimizeru posunula proces ladění SQL na další kvalitativní úroveň: od
původních návrhů vylepšení a přepisu příkazů SQL ke dnešním pokročilým
technikám. Srdcem produktu jsou nyní především VST diagramy (vizuální
ladění SQL) a pokročilá analýza indexů.
Pokud tedy označíme zvolený
příkaz a necháme jej analyzovat, provede DBOptimizer následující kroky:
1)
Je vytvořen seznam možných variant, realizujících požadovanou operaci.
Jednotlivé varianty vznikají jednak použitím takzvaných „hintů", tedy
specifických instrukcí pro databázový stroj, ovlivňujících způsob
zpracování požadavku, nebo syntakticky (například nahrazení spojení
poddotazem). Každou z navržených variant je možné si zobrazit a hlouběji
prostudovat.
2) Jednotlivé varianty jsou vícenásobně spuštěny a
DBOptimizer zaznamená jejich detailní charakteristiky a provede srovnání
jejich časové náročnosti. Pro každou z variant je možné zobrazit
podrobný exekuční plán.

3) DBOptimizer provede analýzu použití
existujících a virtuálních indexů (indexy nejsou skutečně vytvořeny, ale
nástroj vyhodnotí dopady jejich potenciálního použití) a zobrazí
výsledky včetně podrobného komentáře.

Analýza indexů pomůže
plně odhalit exekuční cesty SQL a porozumět tomu, které indexy jsou
použity, nepoužity či zcela chybí. Pokud index chybí, nabídne DB
Optimizer 2.0 svá doporučení pro optimální výkon. Navržené změny lze
okamžitě aplikovat jediným kliknutím myši.
Zátěžové testy
V praxi
se často můžeme setkat i s dalším problémem. Máme navržený a
optimalizovaný kód, potřebujeme však specifikovat reálné požadavky na
HW. Pro podobné situace přichází DBOptimizer s funkcí „SQL Load".
zde Uživatel může definovat příkazy (zdrojem může být existující projekt
DBOptimizeru, soubory SQL nebo přímo vložený SQL kód), které budou proti
databázi spouštěny. Následně je třeba specifikovat kolik paralelních
přístupů/uživatelů má nástroj simulovat. Dále je možné stanovit, zda má
být zátěž generována po určitou dobu, nebo zda se má dávka spustit s
určeným počtem opakování. Reálné zátěži je možné se ještě více přiblížit
zvolením proměnné doby čekání mezi jednotlivými příkazy.
Klávesové
zkratky
Pro rychlé vyvolání často používaných funkcí nabízí většina
nástrojů klávesové zkratky. V DBOptimizeru si je nemusíte pamatovat.
Okno „Key Assist" je zobrazí přehledně všechny a stačí si jen vybrat.
Okno otevřete jak jinak, než klávesovou zkratkou „Shihft+Ctrl+L" (jde to
však samozřejmě i z menu :-) ).

Přizpůsobitelnost
Přestože vývoj
nástrojů divize Database Gear mají na starost lidé, kteří mají
dlouholeté praktické zkušenosti jak s vývojem DB aplikací tak jejich
správou, vždy je vhodné mít možnost si prostředí nakonfigurovat dle
vlastních potřeb. V DBOptimizeru lze nastavit téměř vše, a to přehledně a
z jednoho místa.

Porovnání s dalšími nástroji společnosti
Embarcadero
DBOptimizer vs. Performance Center
- DBOptimizer není
nástroj pro 24x7 monitoring databáze
- DBOptimizer neumožňuje
nastavení limitních hodnot a systému varování
- Performance Center
není určen k vyhledání konkrétního SQL příkazu, který je původcem
varování pro některou ze sledovaných metrik
DB Optimizer vs. RapidSQL
- DB Optimizer je navržen pro vývojáře specializované na návrh DB logiky -
příležitostní vývojáři v SQL si zpravidla vystačí s RapidSQL
- DB
Optimizer obsahuje PowerSQL Professional , který je rovněž součástí
RapidSQL. Lze jej tedy zakoupit jako rozšíření - "upgrade"
- Vybavenost a cenová politika RapidSQL je zaměřena na vývojáře, kteří
vytvářejí SQL kód, nejsou však zodpovědní za profilování a ladění
Novinky ve verzi 2.0.1
- Vizuální ladění s technologií VST (Visual SQL Tuning)
- Interaktivní výstupy analýzy indexů
- Testování zátěže pomocí "SQL Load"
- Zdokonalené
uživatelské rozhraní - kompletně přepracované ovládání, které se odvíjí
od nejčastěji používaných funkcí: Profilování SQL, ladění SQL a editace
SQL kódu
- Plná podpora
pro unicode
- Rozhraní
příkazové řádky pro vzdálené profilování databází
Hlavní
přínosy
- Optimalizace výkonosti SQL během celého životního cyklu databáze
- Včasné odhalení a odstranění úzkých míst v produkčních databázích a
aplikacích
- Vývoj, testování, profilování a ladění SQL v jedinném snadno
ovladatelném intuitivním prostředí
Klíčové vlastnosti
- Grafické znázornění zátěže pro snadné odhalení problematických SQL
příkazů s negativním dopadem na výkonost databázového stroje
- Průběžné profilovaní zvolených datových zdrojů v uživatelsky plně
nastavitelném časovém rozpětí
- Dávkové ladění DML (jazyka pro manipulaci s daty), uložených
procedur a dalších zdrojů obsahujících SQL příkazy
- Rozbor prováděcích plánů (Query Execution Plan) pro lepší pochopení
jakým způsobema s jakými nároky budou jednotlivé dotazy realizovány
- Editor jazyka SQL nabízející rychlé automatizované řešení
signalizovaných výkonnostních slabin
Nejčastější otázky a odpovědi
Co vlastně je DB Optimizer?
Embarcadero DB Optimizer je nástroj na
profilování a ladění kódu v jazyce SQL, jenž maximalizuje výkon databází a
aplikací tím, že umožní správcům databází rychle odhalovat, rozpoznávat a
optimalizovat kód SQL, který pracuje pomalu a neefektivně. DB Optimizer
odstraňuje úzká místa výkonu tím, že nalezne datově intenzivní nebo často
vykonávané příkazy, zaměří se na konkrétní příkazy SQL pomocí statistik (CPU,
vstup/výstup, doby čekání) a jemně doladí problematické příkazy.
Co je nového ve verzi 2.0.1?
Do produktu bylo přidáno mnoho rozšíření,
například:
- Vizuální
ladění s technologií VST (Visual SQL Tuning)
- Interaktivní
výstupy analýzy indexů
- Testování
zátěže pomocí "SQL Load"
- Zdokonalené
uživatelské rozhraní - kompletně přepracované ovládání, které se odvíjí
od nejčastěji používaných funkcí: Profilování SQL, ladění SQL a editace
SQL kódu
- Plná podpora
pro unicode
- Rozhraní
příkazové řádky pro vzdálené profilování databází
Jaký je rozdíl mezi profilováním a laděním?
Profilování je proces analýzy jediného
příkazu SQL nebo celé databáze tak, aby bylo možno určit, na které příkazy či
dotazy je třeba se zaměřit, aby došlo ke zvýšení výkonu. V některých případech
to mohou být dotazy, které běží velice dlouho. V jiných případech to mohou být
příkazy, které se vykonávají opakovaně. V obou případech však stojí za to
profilování vyzkoušet a zvýšit celkový výkon. A to nás přivádí k ladění. Nemá
smysl ladit celou databázi najednou, rozumné je začít proces optimalizace
profilováním a nejdříve najít problémové oblasti. Jakmile se odstraní
problematické příkazy, může se přejít k ladění. Ladění je proces skutečného
provádění změn: je třeba nastudovat chování databáze s mnoha různými
nastaveními; říkáme jim "případy" ("cases"). Přitom je
třeba vzít v úvahu "náklady" na každé nastavení a implementovat
takové z nich, které poskytne nejlepší prováděcí plán. DB Optimizer poskytuje
jak profilování, tak ladění pro Oracle, SQL Server, DB2 LUW a Sybase v úplném
integrovaném vývojovém prostředí. DB Optimizer též poskytuje dávkové ladění
příkazů jazyka pro manipulaci s daty, uložených procedur a celých souborů SQL.
Přitom vytváří řadu plánů provozu a zobrazuje je v tabulce s podrobnými
statistikami pro každý případ. Pak se dá snadno najít nejlepší nastavení a to
automaticky nahradí stávající nevýkonný příkaz SQL.
Co to jsou „vysvětlující" plány a jakým
způsobem pomáhají?
Vysvětlující plány se používají k lepšímu
pochopení, jaký prováděcí plán ve skutečnosti používá příkaz SQL. Na základě
této informace může uživatel stanovit, zda je určitý plán optimálním prováděcím
plánem. DB Optimizer zobrazí tyto informace jako strom se sloupci a zasunovacími
sloupcovými skupinami, které usnadňují prohlížení. Vysvětlující plány mohou být
počítány na základě tabulek provozních statistik vytvořených v DB Optimizeru,
aniž by se ve skutečnosti musel provádět jakýkoli dotaz; to přijde vhod v
situacích, kdy trvá celé hodiny, než se dotaz dobere výsledku.
Může DB Optimizer pomoci v případě aplikací na
klíč, které využívají databází?
Ale samozřejmě. Jsou dva hlavní způsoby, jak
může DB Optimizer pomoci. Prvním je použití profilování, které umožní nahlásit
dodavateli aplikace, co přesně způsobuje problémy výkonu. Druhou možností je
použít vlastnost DB Optimizeru s názvem "uložený přehled"
("stored outline"). Po proběhnutí ladicí úlohy je možno automaticky
generovat DDL k vytvoření uloženého přehledu pro optimální běhový plán. Jakmile
se plán dostane do databáze, příkazy SQL z dodané aplikace poběží podle
optimalizovaného běhového plánu.
Vlastnosti a
přínosy
Profilování kódu SQL
- Grafické zobrazení analýzy čekacích dob pomůže snadno najít kód SQL
způsobující problémy výkonu databází
- Nepřetržité profilování sleduje celý datový zdroj v rámci
nastavitelného časového intervalu
- Vysvětlující plány pomohou lépe porozumět tomu, jak se bude vykonávat
kód SQL a jaké jsou "náklady" na dosažení výkonu
- Veškerá data a metadata příslušející profilovacímu sezení je možno
uložit jako celek do archivního souboru, takže se profily dají sdílet
Ladění kódu SQL
- Dávkové ladění příkazů jazyka pro manipulaci s daty, uložených
procedur a celých souborů s kódem SQL
- Tvorba alternativ se používá pro vytváření všech možných případů a
nalezení nejlepší alternativy daného příkazu SQL včetně přepsání příkazu a
vložení rady
Výstupní sestavy
- Graf profilu názorně zobrazuje čekací aktivity procesoru,
vstupně-výstupních operací a jiných v průběhu celého profilovacího sezení
- Statistiky provádění kódu poskytují podrobné informace o profilovaném
kódu SQL a kategoriích čekání
- Na vyžádání se mohou do tabulky běhových statistik počítat
vysvětlující plány pro každý příkaz SQL
Editování kódu v SQL
- Obsahuje výkonné integrované vývojové prostředí jazyka SQL
přizpůsobené potřebám vývojářů aplikací
- Rychlé opravy v reálném čase automaticky označí a napraví nevýkonný
kód SQL
- Pomocník pro kód SQL a syntaktické ověřování SQL v reálném čase
- Třídění a zakládání kódu SQL na úrovni projektu včetně vyhledávacích
funkcí
Obecné vlastnosti
- Plná podpora databází DB2 for LUW, Oracle, SQL Server a Sybase ASE
- Plná podpora Unicode
- Rozhraní příkazové řádky
Podporované
databázové systémy
DB Optimizer umožňuje práci s následujícími verzemi DBMS
provozovanými na serverových platformách Linux a Windows NT:
- Oracle 8i-11g
- Sybase 12.5-15.0
- IBM DB2 for LUW 8.0 - 9.0
- Microsoft SQL Server 2000, 2005 a 2008
Příbuzné
produkty
- Embarcadero J
Optimizer
Obsažné prostředí pro optimalizaci výkonu aplikací v Javě a řízení jejich
kvality
- Embarcadero
Performance Center
Nástroj pro nepřetržité sledování výkonu databází zvyšující databázovou
dostupnost a maximalizující jejich výkon
- Rapid SQL
Integrované vývojové prostředí pro tvorbu výkonného a kvalitního kódu v
jazyce SQL; nezávislé na databázové platformě
- DBArtisan
Vedoucí řešení pro administraci všech vedoucích databází, které jejich
správcům umožňuje maximalizovat výkon, dostupnost a bezpečnost databází.
- Embarcadero
Change Manager
Úplná sada nástrojů pro manipulaci se schématy, daty a konfiguracemi
umožňující ovládat životní cyklus změn v databázích.
- Embarcadero
All-Access
Okamžitý přístup k jazykům, nástrojům a technologiím pro návrh, tvorbu a
provoz softwarových aplikací a databázových systémů.
Další zdroje informací (v angličtině)