Sestava napříč cloudovými databázemi s horizontálním navýšením kapacity (Preview)

Platí pro:Azure SQL Database

Sestavy můžete vytvářet z více databází z jednoho spojovacího bodu pomocí elastického dotazu. Databáze musí být horizontálně dělené (označované také jako "sharded").

Pokud máte existující databázi, přečtěte si téma Migrace existujících databází do databází se škálováním na více instancí.

Informace o objektech SQL potřebných k dotazování najdete v tématu Dotazování napříč horizontálně dělenými databázemi.

Předpoklady

Stáhněte a spusťte ukázku nástrojů elastické databáze Začínáme.

Vytvoření správce map horizontálních oddílů pomocí ukázkové aplikace

Tady vytvoříte správce map horizontálních oddílů spolu s několika horizontálními oddíly, za kterými následuje vložení dat do horizontálních oddílů. Pokud už máte nastavené horizontální oddíly s horizontálně dělenými daty, můžete následující kroky přeskočit a přejít k další části.

  1. Sestavte a spusťte ukázkovou aplikaci Začínáme s nástroji Elastic Database podle kroků v části Stažení a spuštění ukázkové aplikace. Po dokončení všech kroků se zobrazí následující příkazový řádek:

    command prompt

  2. V příkazovém okně zadejte "1" a stiskněte Enter. Tím se vytvoří správce mapování horizontálních oddílů a na server se přidají dva horizontální oddíly. Pak zadejte "3" a stiskněte Enter. Opakujte akci čtyřikrát. Tím se do horizontálních oddílů vloží ukázkové datové řádky.

  3. Na webu Azure Portal by se na vašem serveru měly zobrazit tři nové databáze:

    Visual Studio confirmation

    V tomto okamžiku se dotazy napříč databázemi podporují prostřednictvím klientských knihoven elastické databáze. Například v příkazovém okně použijte možnost 4. Výsledky dotazu s více horizontálními oddíly jsou vždy sjednocovací všechny výsledky ze všech horizontálních oddílů.

    V další části vytvoříme ukázkový koncový bod databáze, který podporuje rozsáhlejší dotazování dat napříč horizontálními oddíly.

Vytvoření databáze elastických dotazů

  1. Otevřete Azure Portal a přihlaste se.

  2. Vytvořte novou databázi ve službě Azure SQL Database na stejném serveru jako nastavení horizontálního oddílu. Pojmenujte databázi ElasticDBQuery.

    Azure portal and pricing tier

    Poznámka:

    můžete použít existující databázi. Pokud to můžete udělat, nesmí to být jeden z horizontálních oddílů, na které byste chtěli provádět dotazy. Tato databáze se použije k vytvoření objektů metadat pro dotaz elastické databáze.

Vytváření databázových objektů

Hlavní klíč a přihlašovací údaje v oboru databáze

Slouží k připojení ke správci mapování horizontálních oddílů a horizontálním oddílům:

  1. Otevřete SQL Server Management Studio nebo SQL Server Data Tools v sadě Visual Studio.

  2. Připojte se k databázi ElasticDBQuery a spusťte následující příkazy T-SQL:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>';
    
    CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred
    WITH IDENTITY = '<username>',
    SECRET = '<password>';
    

    Uživatelské jméno a heslo by měly být stejné jako přihlašovací údaje použité v kroku 3 části Stažení a spuštění ukázkové aplikace v článku Začínáme s nástroji Elastic Database.

Externí zdroje dat

Pokud chcete vytvořit externí zdroj dat, spusťte v databázi ElasticDBQuery následující příkaz:

CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
    (TYPE = SHARD_MAP_MANAGER,
    LOCATION = '<server_name>.database.windows.net',
    DATABASE_NAME = 'ElasticScaleStarterKit_ShardMapManagerDb',
    CREDENTIAL = ElasticDBQueryCred,
    SHARD_MAP_NAME = 'CustomerIDShardMap'
) ;

CustomerIDShardMap je název mapy horizontálních oddílů, pokud jste vytvořili mapování horizontálních oddílů a správce mapování horizontálních oddílů pomocí ukázky nástrojů elastické databáze. Pokud jste ale pro tuto ukázku použili vlastní nastavení, mělo by se jednat o název mapy horizontálních oddílů, který jste zvolili ve své aplikaci.

Externí tabulky

Vytvořte externí tabulku, která odpovídá tabulce Customers v horizontálních oddílech spuštěním následujícího příkazu v databázi ElasticDBQuery:

CREATE EXTERNAL TABLE [dbo].[Customers]
( [CustomerId] [int] NOT NULL,
    [Name] [nvarchar](256) NOT NULL,
    [RegionId] [int] NOT NULL)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc,
    DISTRIBUTION = SHARDED([CustomerId])
) ;

Provedení ukázkového dotazu T-SQL elastické databáze

Po definování externího zdroje dat a externích tabulek teď můžete pro externí tabulky použít úplný T-SQL.

Spusťte tento dotaz v databázi ElasticDBQuery:

select count(CustomerId) from [dbo].[Customers]

Všimněte si, že dotaz agreguje výsledky ze všech horizontálních oddílů a poskytuje následující výstup:

Output details

Import výsledků dotazu elastické databáze do Excelu

Výsledky dotazu můžete importovat do excelového souboru.

  1. Spusťte Excel 2013.

  2. Přejděte na pás karet Data .

  3. Klikněte na Z jiných zdrojů a klikněte na Z SQL Serveru.

    Excel import from other sources

  4. V Průvodci datovým připojením zadejte název serveru a přihlašovací údaje. Pak klikněte na tlačítko Další.

  5. V dialogovém okně Vyberte databázi, která obsahuje požadovaná data, vyberte databázi ElasticDBQuery .

  6. V zobrazení seznamu vyberte tabulku Zákazníci a klikněte na Další. Klikněte na Dokončit.

  7. Ve formuláři Importovat data v části Vyberte, jak chcete zobrazit tato data v sešitu, vyberte Tabulka a klepněte na tlačítko OK.

Všechny řádky z tabulky Zákazníci uložené v různých horizontálních oddílech naplňují excelový list.

Teď můžete používat výkonné funkce vizualizace dat v Excelu. Připojovací řetězec s názvem serveru, názvem databáze a přihlašovacími údaji můžete použít k připojení nástrojů pro integraci BI a dat k databázi elastických dotazů. Ujistěte se, že sql Server je podporovaný jako zdroj dat pro váš nástroj. Můžete odkazovat na databázi elastických dotazů a externí tabulky stejně jako jakékoli jiné databáze SQL Serveru a tabulky SQL Serveru, ke kterým byste se připojili pomocí nástroje.

Náklady

Za použití funkce Dotaz elastické databáze se neúčtují žádné další poplatky.

Informace o cenách najdete v tématu Podrobnosti o cenách služby SQL Database.

Další kroky