Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V následujících částech najdete různé tipy pro používání uživatelsky definovaných schémat T-SQL k vývoji řešení v rámci Synapse SQL.
Schémata pro hranice aplikací
Tradiční analytická architektura často používá samostatné databáze k vytváření hranic aplikací na základě úloh, domén nebo zabezpečení. Například tradiční analytická infrastruktura SQL Serveru může zahrnovat pracovní databázi, analytickou databázi a databáze datového tržiště. V této topologii funguje každá databáze v architektuře jako hranice zátěže a zabezpečení.
Místo toho Synapse SQL spouští celou analytickou úlohu v jedné databázi. Připojení mezi databázemi nejsou povolená. Synapse SQL očekává, že všechny tabulky používané skladem se uloží v rámci jedné databáze.
Poznámka:
Vyhrazené fondy SQL nepodporují dotazy napříč databázemi jakéhokoli druhu. V důsledku toho je potřeba revidovat analytické implementace, které tento model využívají. Bezserverový fond SQL podporuje dotazy napříč databázemi.
Doporučení schématu definovaná uživatelem
Součástí jsou doporučení pro konsolidaci úloh, zabezpečení, domény a funkčních hranic pomocí uživatelsky definovaných schémat:
- Ke spuštění celé analytické úlohy použijte jednu databázi.
- Sloučit stávající analytické prostředí tak, aby používalo jednu databázi.
- Využijte uživatelsky definované schémata k poskytnutí hranice, která byla dříve implementována pomocí databází.
Pokud se uživatelsky definovaná schémata dříve nepoužila, máte čistý začátek. Jako základ pro uživatelsky definovaná schémata v databázi Synapse SQL použijte starý název databáze.
Pokud už schémata byla použita, máte několik možností:
- Odeberte starší názvy schémat a začněte znovu.
- Připojte název zastaralého schématu k názvu tabulky a ponechte původní názvy schématu.
- Zachovejte starší názvy schémat implementací zobrazení nad tabulkou v dodatečném schématu, které znovu vytvoří starou strukturu schématu.
Poznámka:
Při první kontrole se možnost 3 může zdát jako nejatrakvější volba. Zobrazení jsou v Synapse SQL jen pro čtení. Všechna data nebo úpravy tabulky by bylo potřeba provést proti základní tabulce. Možnost 3 také zavádí do systému vrstvu zobrazení. Pokud už ve své architektuře používáte zobrazení, měli byste si to ještě promyslet.
Příklady
Implementujte uživatelsky definovaná schémata na základě názvů databází.
CREATE SCHEMA [stg]; -- stg previously database name for staging database
GO
CREATE SCHEMA [edw]; -- edw previously database name for the analytics
GO
CREATE TABLE [stg].[customer] -- create staging tables in the stg schema
( CustKey BIGINT NOT NULL
, ...
);
GO
CREATE TABLE [edw].[customer] -- create analytics tables in the edw schema
( CustKey BIGINT NOT NULL
, ...
);
Názvy starších schémat ponechte tak, že je předehodíte na název tabulky. Použijte schémata pro hranici úlohy.
CREATE SCHEMA [stg]; -- stg defines the staging boundary
GO
CREATE SCHEMA [edw]; -- edw defines the analytics boundary
GO
CREATE TABLE [stg].[dim_customer] --pre-pend the old schema name to the table and create in the staging boundary
( CustKey BIGINT NOT NULL
, ...
);
GO
CREATE TABLE [edw].[dim_customer] --pre-pend the old schema name to the table and create in the analytics boundary
( CustKey BIGINT NOT NULL
, ...
);
Zachovejte starší názvy schémat pomocí zobrazení.
CREATE SCHEMA [stg]; -- stg defines the staging boundary
GO
CREATE SCHEMA [edw]; -- stg defines the analytics boundary
GO
CREATE SCHEMA [dim]; -- edw defines the legacy schema name boundary
GO
CREATE TABLE [stg].[customer] -- create the base staging tables in the staging boundary
( CustKey BIGINT NOT NULL
, ...
)
GO
CREATE TABLE [edw].[customer] -- create the base analytics tables in the analytics boundary
( CustKey BIGINT NOT NULL
, ...
)
GO
CREATE VIEW [dim].[customer] -- create a view in the legacy schema name boundary for presentation consistency purposes only
AS
SELECT CustKey
, ...
FROM [edw].customer
;
Poznámka:
Jakákoli změna strategie schématu vyžaduje kontrolu modelu zabezpečení databáze. V mnoha případech můžete model zabezpečení zjednodušit přiřazením oprávnění na úrovni schématu.
Pokud jsou vyžadována podrobnější oprávnění, můžete použít databázové role. Další informace o databázových rolích najdete v článku Správa databázových rolí a uživatelů .
Další kroky
Další tipy pro vývoj najdete v tématu Přehled vývoje Synapse SQL.