簡體   English   中英

將ETL登台表與用戶模式分組?

[英]Grouping ETL Staging Tables With User Schemas?

我當時正在考慮將登台表和存儲過程(用於將這些表更新為它們自己的架構)。 這樣,當將數據從SomeTable導入到數據倉庫時,我將運行Initial.StageSomeTable過程,該過程會將數據插入Initial.SomeTable表中。 這樣,處理初始階段的所有proc和表都被組合在一起。 然后,我將為ETL的那個階段建立一個驗證模式,等等。

這似乎比嘗試為所有這些非常相似的表唯一命名更為干凈,因為在整個登台過程中,每個表將具有多個自身實例。

問題 :使用用戶架構將表/進程/視圖組合在一起是否在MS SQL Server中適當使用了用戶架構? 還是應該將用戶模式用於安全性,例如將對象的權限分組在一起?

我認為這是足夠適當的,這並不重要,如果您願意,可以使用另一個數據庫,這實際上是我們的工作。

我不確定為什么要使用驗證模式,您打算在那里做什么?

您列出的兩個原因(目的/意圖,安全性)都是使用架構的有效理由。 一旦開始使用它們,就應該在引用對象時始終指定架構(盡管我很懶,並且從不指定dbo)。

我們使用的一個技巧是在幾種模式的每一種中都具有相同名稱的表,並結合表分區(在SQL 2005及更高版本中可用)。 將數據加載到第一個架構中,然后在驗證通過后將分區“交換”到dbo中-將dbo分區交換到表的“垃圾箱”架構副本中。 凈生產停機時間以秒為單位,並且已將其仔細包裝在已聲明的事務中。

這實際上是推薦的做法。 Project Real看一看Microsoft 商業智能ETL設計實踐 您會發現(從第一個鏈接下載doc)他們使用了很多模式來分組和標識倉庫中的對象。

除了dbo和etl外,他們還使用admin,audit,part,olap等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM