Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tip
Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.
Ez a cikk több tippet is kínál a T-SQL felhasználó által definiált sémáinak a dedikált SQL-készletben történő megoldások fejlesztéséhez.
Alkalmazáshatárok sémái
A hagyományos adattárházak gyakran külön adatbázisokat használnak alkalmazáshatárok létrehozásához számítási feladat, tartomány vagy biztonság alapján.
Egy hagyományos SQL Server-adattárház például tartalmazhat átmeneti adatbázist, adattárház-adatbázist és néhány adattárház-adatbázist. Ebben a topológiában minden adatbázis számítási feladatként és biztonsági határként működik az architektúrában.
Ezzel szemben egy dedikált SQL-készlet egy adatbázisban futtatja a teljes adattárház-számítási feladatot. Az adatbázisok közötti illesztések nem engedélyezettek. A dedikált SQL-készlet elvárja, hogy a raktár által használt összes tábla az egyetlen adatbázisban legyen tárolva.
Megjegyzés
Az SQL-készlet nem támogatja az adatbázisközi lekérdezéseket. Következésképpen az ezt a mintát használó adattárház-implementációkat felül kell vizsgálni.
Ajánlások
Az alábbiakban a számítási feladatok, a biztonság, a tartomány és a funkcionális határok felhasználó által definiált sémák használatával történő összevonására vonatkozó javaslatok találhatók:
- A teljes adattárház-számítási feladat futtatásához használjon egy adatbázist egy dedikált SQL-készletben.
- A meglévő adattárház-környezet összevonása egy dedikált SQL-készlet-adatbázis használatához.
- Használja felhasználó által definiált sémákat az adatbázisok használatával korábban implementált határ megadásához.
Ha a felhasználó által definiált sémákat korábban nem használták, akkor tiszta lappal rendelkezik. Használja a régi adatbázisnevet a felhasználó által definiált sémák alapjául a dedikált SQL-készlet adatbázisában.
Ha a sémák már használatban vannak, akkor van néhány lehetősége:
- Távolítsa el az örökölt sémaneveket, és kezdjen újra.
- Őrizze meg az örökölt séma neveket azzal, hogy az örökölt séma nevét a táblanévhez hozzáfűzi.
- Megtarthatja az örökölt sémaneveket úgy, hogy a régi sémastruktúra újbóli létrehozásához a táblázat nézeteit egy további sémában implementálja.
Megjegyzés
Elsőre a 3. opció tűnhet a legvonzóbbnak. Az ördög azonban a részletekben van. A nézetek csak dedikált SQL-készletben olvashatók. Minden adat- vagy táblamódosítást el kell végezni az alaptáblán. A 3. lehetőség egy nézetréteget is bevezet a rendszerbe. Ha már használ nézeteket az architektúrában, érdemes megfontolnia ezt a gondolatot.
Példák:
Felhasználó által definiált sémák implementálása adatbázisnevek alapján:
CREATE SCHEMA [stg]; -- stg previously database name for staging database
GO
CREATE SCHEMA [edw]; -- edw previously database name for the data warehouse
GO
CREATE TABLE [stg].[customer] -- create staging tables in the stg schema
( CustKey BIGINT NOT NULL
, ...
);
GO
CREATE TABLE [edw].[customer] -- create data warehouse tables in the edw schema
( CustKey BIGINT NOT NULL
, ...
);
Az örökölt sémaneveket úgy őrizze meg, hogy azokat előtagként hozzáadja a táblanévhez. Sémák használata a számítási feladatok határához:
CREATE SCHEMA [stg]; -- stg defines the staging boundary
GO
CREATE SCHEMA [edw]; -- edw defines the data warehouse 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 data warehouse boundary
( CustKey BIGINT NOT NULL
, ...
);
A régi sémaneveket nézetek használatával megőrizni.
CREATE SCHEMA [stg]; -- stg defines the staging boundary
GO
CREATE SCHEMA [edw]; -- stg defines the data warehouse 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 data warehouse tables in the data warehouse 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
;
Megjegyzés
A sémastratégia bármilyen módosításához át kell tekinteni az adatbázis biztonsági modelljét. Sok esetben egyszerűsítheti a biztonsági modellt a sémaszinten lévő engedélyek hozzárendelésével. Ha részletesebb engedélyekre van szükség, használhat adatbázis-szerepköröket.
Következő lépések
További fejlesztési tippekért tekintse meg a fejlesztés áttekintését.