SQL Database – relační databáze hostovaná v cloudu

3. díl - SQL Database – relační databáze hostovaná v cloudu

David Gešvindr       2. 9. 2013       SQL, Azure, Databáze       7397 zobrazení

Tento díl seriálu je věnován prvnímu druhu úložiště dat ve Windows Azure, kterým je relační databáze SQL Database.

Služba SQL Database je relační databáze provozovaná na upravené verzi Microsoft SQL Serveru, jenž je hostována v prostředí Windows Azure. Hlavní výhoda spočívá v tom, že za měsíční poplatek, který se odvíjí od velikosti databáze, získáte vysoce dostupnou databázi, která je až na výjimky kompatibilní s klasickým Microsoft SQL Serverem, a nemusíte se starat o její údržbu.

Vytvoření databáze

Základní správa služby SQL Database probíhá přes webový portál stejně jako u ostatních služeb ve Windows Azure. Pro vytvoření nové SQL databáze zvolíme ve spodním menu portálu možnost přidat službu a v kategorii „Data Services“ vybereme SQL Database a dále volbu „Custom Create“, abychom měli pod kontrolou všechny parametry databáze a mohli si je současně vysvětlit:

První krok při vytváření nové SQL Database  Druhý krok při vytváření SQL Database - konfigurace databázového serveru 

V prvním kroku vytváření databáze určujeme:

  • NAME - Název databáze, který je jeden z údajů, který budeme potřebovat, abychom se na databázi mohli posléze připojit z naší aplikace.
  • EDITION - Uvedené edice WEB a BUSINESS se odlišují zejména maximálními velikostmi databáze, kdy u edice WEB je to 5 GB a u edice BUSINESS podstatně vyšších 150 GB.
  • MAX SIZE – Maximální velikost databáze. Volba edice ani maximální velikosti databáze neovlivňuje cenu databáze, ta se počítá podle tzv. „database units“ čistě v závislosti na obsazeném místu v databázi. Oba parametry je možné upravovat i po vytvoření databáze. Rád bych vás však upozornil, že pokud vaše databáze naroste do maximální povolené velikosti, systém ji automaticky přepne do režimu pouze pro čtení a díky tomu budou dotazy aktualizující nebo vkládající data ukončeny výjimkou a pokud tento případ nemáte ošetřen, tak spadne i vaše aplikace.
  • COLLATION – Výchozí znaková sada databáze má vyliv zejména při řazení textových záznamů (určuje pořadí písmen v abecedě), při vyhledávání v textových hodnotách (rozlišování velikosti písmen, zohledňování diakritiky) a v případě že používáte datové typy char a varchar, tak i na samotné kódování ukládaných textových hodnot. Pro češtinu se běžně používá znaková sada Czech_CI_AS (Czech, case in-sensitive, accent sensitive), která nerozlišuje při vyhledávání a řazení velikost písmen v abecedě, ale zohledňuje diakritiku. Marně budete v tomto seznamu hledat znakovou sadu UNICODE. Pro kódování textu do znakové sady unicode používejte ve vaší databázi datové typy nchar a nvarchar, které se vždy ukládají jako unicode nehledě na zvolenou znakovou sadu.
  • SERVER – Určuje server, kde bude vytvářená databáze uložena. Tento pojem může být v cloudovém prostředí trochu matoucí, ale v tomto případě server označuje pouze logické seskupení databází z hlediska správy. Na kterém fyzickém serveru bude vaše databáze hostována, to pochopitelně neovlivníte, navíc jak se dozvíte později, infrastruktura Windows Azure může vaši databázi dle potřeb automaticky mezi fyzickými servery přesunovat. Pokud vytváříte vaši první databázi, budete muset vytvořit i nový server.

Při vytváření nového serveru, což je druhý krok, nastavujeme:

  • LOGIN NAME – Název loginu, kterému budou přiřazeny administrátorská oprávnění pro všechny databáze v rámci daného serveru
  • LOGIN PASSWORD – Heslo k vytvářenému loginu. Pokud toto heslo zapomenete, je možnost jej přes management portál resetovat.
  • REGION – Určuje, ve kterém datacentru bude vaše databáze hostována. Rád bych upozornil na skutečnost, že komunikace mezi jednotlivými službami je zdarma pouze v rámci jednoho datacentra. Pokud tedy webový server umístíte do regionu „North Europe“ zatím co webový server do regionu „West Europe“, budete kromě databáze platit taky za data, která budou přenášena směrem z databáze na webserver (účtuje se vždy odchozí datová komunikace z datacentra, příchozí komunikace je zdarma) a zvýší se vám prodleva při komunikaci s databází.
  • ALLOW WINDOWS AZURE SERVICES TO ACCESS THE SERVER – Pokud tuto možnost zvolíte, automaticky se ve firewallu vytvoří pravidlo, které umožní všem Windows Azure službám přistupovat k databázím na tomto serveru skrze standardní protokol TDS na portu TCP/IP 1433.

Průvodce nám následně vytvoří databázový server a založí novou databázi. Dále si ukážeme, jak se k databázi připojíme a vytvoříme v ní vlastní databázové objekty.

Nově vytvořená databáze je ihned zobrazena v seznamu všech databází na našem účtu  Detailní informace o databázi 

Připojení k databázi

Jak jsem již zmínil, tato databáze je hostována na upravené verzi SQL Serveru. Pro komunikaci se tedy využívá stejný protokol TDS (Tabular Data Stream) a samotná funkcionalita databáze SQL Database se velmi blíží klasickému SQL Serveru. K databázi se dá připojit stejnými nástroji jako k SQL Serveru, lze využít stejné konektory, které nyní využívají vaše aplikace pro komunikaci s vašim SQL Serverem.

Vaše SQL Database není volně přístupná komukoliv z internetu, chrání ji zabudovaný firewall. Proto je před připojením k databázi nutné definovat pravidlo, které povolí k databázi přístup z vaší IP adresy. Tuto konfiguraci nalezneme v detailu databázového serveru na záložce „Configure“

Správa pravidel firewallu, který omezuje přístup k databázi

Správa databáze přes webové rozhraní

V rámci Windows Azure management portálu je integrovaný portál pro správu databáze. Otevřeme jej tak, že vybereme databázi v seznamu databází a ve spodním panelu příkazů zvolíme tlačítko „Manage“. V novém okně se nám otevře aplikace vytvořená v Silverlightu, která nás vyzve k přihlášení do zvolené databáze.

Přihlášení do webové aplikace pro správu databáze

Přihlásíme se pomocí údajů, které jsme zadali při vytváření serveru, pod který je databáze zařazena.

Po přihlášení jsou zobrazeny základní informace o databázi, včetně její aktuální velikosti. V levém panelu se můžeme přepínat mezi hlavními skupinami operací s databází – administrace a návrh. V rámci administrace vidíme pouze základní statistické údaje o databázi a statistiku náročnosti prováděných dotazů.

Pomocí návrhových nástrojů je možné procházet seznam tabulek, vytvářet nové tabulky a zobrazit v nich uložená data. Dále můžeme zadáním T-SQL kódu vytvořit i pohled a uloženou proceduru.

Důležité je, že přes tento nástroj je možné zadat a spustit libovolný dotaz (tlačítko New Query).

Možnosti tohoto nástroje vidím jako velmi omezené a jeho použití bych volil spíše v nouzových situacích, kdy nejsou dostupné jiné nástroje a je třeba rychle provést drobné úpravy v databázi.

Zobrazení základních statistik databáze  Správa tabulek v databázi  Editace struktury tabulky

Připojení přes SQL Server Management Studio

Po spuštění SQL Server Management Studia doplňte do dialogového okna pro připojení k serveru adresu databázového serveru, kterou naleznete v administračním portálu. Zvolte typ ověřování SQL Server Authentication a doplňte zbylé přihlašovací údaje – login a heslo.

Přihlášení k databázovému serveru v SQL Server Management Studiu  Výpis hierarchie databázových objektů v SQL Server Management Studiu 

Pokud server zamítne vaše spojení, ověřte, že máte správně nakonfigurovaný firewall před databází a že jste zadali správné přístupové údaje.

Po připojení k serveru můžete pracovat s databázemi umístěnými na databázovém serveru, na který jste připojeni. Velmi brzy si ale všimnete, že pokud pracujete s databází hostovanou ve Windows Azure, Management Studio má značně omezenou množinu funkcionality, než na co jste zvyklí při práci s SQL Serverem.

Například při vytváření nové tabulky není podporován vizuální designer a tabulku je třeba vytvořit čistě s pomocí T-SQL. Omezení se týkají i uživatelského rozhraní pro práci s daty, kdy chybí možnost data v tabulkách editovat přes UI a jedinou cestou je pouze jazyk T-SQL.

Tabulku v cloudové databázi musíte vytvořit z kódu, chybí vizuální editor.  Stejná operace u běžné SQL Server databáze poskytuje grafické nástroje

V následujícím dílu tohoto seriálu se zaměříme na způsob migrace lokální databáze z a do cloudu, na další nástroje pro vývoj databáze, a také na dostupnost a škálovatelnost této služby.

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Všechny díly tohoto seriálu

6. Migrace ASP.NET aplikace do Azure WebSite 18. 5. 2014
5. Affinity Groups 12. 11. 2013
4. SQL Database – Nasazení databáze, dostupnost a škálovatelnost 11. 9. 2013
3. SQL Database – relační databáze hostovaná v cloudu 2. 9. 2013
2. Windows Azure WebSites – nejjednodušší přechod do cloudu 25. 8. 2013
1. Seznámení s Windows Azure 20. 8. 2013

 

Mohlo by vás také zajímat

Stopařův průvodce po databázích - díl 1.: Lehký úvod – teorie databází

První díl přináší teoretické seznámení s databázovými systémy a jejich rozdělením.

Předávání tabulek do MSSQL 2008 (VB.NET, C#)

Čas od času potřebujeme předat databázi místo jednoho parametru celý seznam. Lepších, či horších způsobů, jak to udělat, je celá řada. Nicméně teprve SQL Server 2008 přichází s funkcí table valued parameters, která dovoluje se seznamy pracovat velmi elegantně. A to jak přímo v kódu SQL Serveru, tak v našich oblíbených jazycích Visual Basic .NET nebo C#.

představení nového seriálu o ASP .net MVc - from zero to hero

 

 

Nový příspěvek

 

                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback