Podrobnější pohled na nové možnosti Microsoft SQL Serveru 7.
Devadesátá léta se zapisují do paměti počítačníků také tím, že mnohé firmy svým produktům rády dávají co nejzajímavější jména. Tuto tradici neporušil ani softwarový gigant Microsoft, když nejnovější verzi svého databázového stroje Microsoft SQL Server 7 pojmenoval Sphinx.Byly doby, kdy slovo Microsoft bylo synonymem pro verzi Basicu. Pak přišly doby, kdy se stalo synonymem pro operační systém. Dnes se tento gigant snaží stát symbolem všeho, co souvisí s počítači. Nejinak je tomu i na trhu s databázovými technologiemi. Koupě proslulého systému FoxPro nepřinesla společnosti takové zisky, jaké očekávala. I proto se Microsoft v této oblasti zaměřil především na vývoj svého SQL Serveru. Pojďme se spolu podívat na ty nejpodstatnější novinky, které „Sfinga“ přináší.
Jak se dělá SQL-server?
Po velmi úspěšné verzi
SQL Serveru 6.5 si vedení společnosti položilo otázku „Co dál?“ Odpověď přitom byla zcela jasná – pokračovat a dát světu novou verzi, která bude nejlepší, nejrychlejší, nej … Koncem loňského roku tak byla vyvoleným předvedena druhá betaverze
MS SQL Serveru 7. Tou dobou bylo hotovo 95 % kódu, který však dosud nebyl výkonově vyladěn. O několik měsíců později byla uvolněna třetí betaverze – optimalizovaná na maximální výkon. Finále se očekává koncem tohoto roku (pesimisté tvrdí, že sedmička v názvu znamená rok 2007).
Co je nového?
Když se člověk pročítá odbornými materiály nebo si povrchně vyzkouší vlastní betaverzi, získá dojem, že se jedná o naprosto jedinečný a špičkový produkt. Odpůrci na druhou stranu přechytrale tvrdí, o jaký „šmejd“ se jedná. Jak už to tak bývá, pravda je někde uprostřed. „Sfinga“ se může především pochlubit svým určením – systém je možno optimálně použít od jednouživatelské instalace na notebooku přes klasické řešení klient/server až po aplikace zpracovávající stovky gigabajtů dat při clusterovém řešení. Všechny varianty přitom disponují stejným prostředím, takže vzájemný přechod by neměl být až tak problematický. Podpora rozsáhlých databází doznala změn především ve vylepšené podpoře zálohování (včetně přírůstkového), přičemž k ověření zálohy již není nutná vlastní obnova. Zajímavou se jeví také dynamická správa paměti a prostorů. Používané struktury (jak paměťové, tak i ty struktury pro fyzické uložení dat) jsou schopny měnit svoji velikost podle aktuálních požadavků a zatížení systému.
Ke změnám došlo i ve fyzickém uložení dat – např. vlastní datový soubor (či soubory, které je možno slučovat do souborových skupin – výhodné mimo jiné i pro zálohu pouze části databáze nebo pro paralelní dotazy) je oddělen od souboru log. Jistým omezením (spíše však teoretickým) je nemožnost existence více databází v jednom souboru.
Při vývoji mnoha aplikací budou zajisté přínosem takřka tři desítky nových průvodců, mezi kterými najdeme pomocníky pro export/import, pro konfiguraci replikací, pro vytváření indexů a uložených procedur, správu bezpečnosti či zpřístupnění aplikace pro prostředí webu. Pro víceuživatelské aplikace (aspoň pro jejich drtivou většinu) je možné použít zamykání dat na úrovni záznamu, přičemž přepracovaný Lock Manager je podle statistických údajů schopen zvolit nejvýhodnější metodu zamykání (na úrovni záznamu, stránky, tabulky). K dispozici je také tzv. několikanásobné plánování úloh, tedy spouštění úloh jednak na základě uplynutí časové jednotky, jednak při určité události a jednak dle vlastní zátěže systému (například tehdy, když je procesor serveru nevytížený). Vývojářům také usnadní práci ladicí nástroje, mezi které patří SQL Server Profiler či SQL Server Tuning Wizard. První z nich má na starosti správu uživatelských nastavení včetně výběru ladicích kritérií, druhý analyzuje historii aktuálního zatížení serveru a doporučuje kroky k vylepšení výkonnosti. Nemožná není ani indexace textových dat (nejedná se o indexaci atributů char či varchar, ale o rozsáhlá textová pole).
A co podpora datových skladů?
Poměrně mladým směrem v databázových technologiích je zpracování dat OLAP a s tím související datové sklady. Touto problematikou se zabývá
Microsoft OLAP Server, který se může pochlubit flexibilní podporou různých architektur (
ROLAP,
MOLAP,
HOLAP – bližší vysvětlení těchto pojmů je nad rámec tohoto článku). V souvislosti se „Sfingou“
se tak používá architektury, která dostala označení
Plato využívající vlastní
Plato Designer a tzv.
Plato Server.
Ten má data tam a ten tamhle …
Moderní informační doba je charakteristická mimo jiné i tím, že informace jsou ukládány mnoha způsoby a potřebuje-li člověk nějakou získat, musí mnohdy projít desítky různých zdrojů (různých nejen z hlediska umístění, ale také z hlediska použitého formátu dat). Stejně tak i data v databázových systémech mohou být uložena na několika místech a pro uložení mohou být použity různé datové struktury. „Sfinga“ umožňuje provádět distribuované dotazy do heterogenního prostředí prostřednictvím rozhraní
OLE-DB, přičemž k různorodým datům lze přistoupit prostřednictvím jediného dotazu. Každé vzdálené tabulce může být přiřazeno čtyřúrovňové pojmenování (server.katalog.schéma.tabulka) nebo je možné v příkazu použít funkci
OpenRowSet, jíž jsou předávány veškeré informace nezbytné k navázání spojení se vzdálenou tabulkou. Podporováno je také vytvoření pohledu (create view) z dotazu na vzdálené tabulky. V současné verzi není možné nad vzdálenými tabulkami provádět příkazy DDL (např. vytvořit index). Jistou výhodou je také použití konstruktů jazyka SQL i na vzdálené tabulky uložené v desktopových databázích (
dBase či
FoxPro). K dispozici jsou rovněž uložené procedury pro mapování činnosti vzdálených uživatelů. Administrátoři jistě ocení možnost jednotné správy distribuovaného prostředí přes tzv.
SQL agenty s uživatelským rozhraním i pro prostředí webu.
Stojí za to?
Ať již se v praxi jednotlivé vlastnosti projeví jakkoli (v betatestech si nevedou nijak špatně), „Sfinga“ je produkt, který se společnosti Microsoft povedl. Zabudoval jisté postupy, které mohou být v určitých obměnách použity nejen v databázových technologiích. Otázku, zda se systém vyplatí, však dosud není možno zodpovědět – cenová ani licenční politika zatím nebyla stanovena. Předpokládá se však přesun k poplatkům zejména za tzv. runtime licence. V každém případě se máme na co těšit – a to se týká nejen administrátorů nebo tvůrců informačních systémů, ale i řadových uživatelů.
Zdroj: Computer