Группировка промежуточных таблиц ETL с пользовательскими схемами? - PullRequest
1 голос
/ 20 февраля 2010

Я думал о том, чтобы поместить промежуточные таблицы и хранимые процедуры, которые обновляют эти таблицы, в их собственную схему. Так, чтобы при импорте данных из SomeTable в хранилище данных я запускал процедуру Initial.StageSomeTable, которая вставляла бы данные в таблицу Initial.SomeTable. Таким образом, все процессы и таблицы, связанные с начальной подготовкой, группируются вместе. Тогда у меня будет схема проверки для этого этапа ETL и т. Д.

Это кажется более понятным, чем пытаться однозначно назвать все эти очень похожие таблицы, поскольку каждая таблица будет иметь несколько экземпляров себя на протяжении всего процесса подготовки.

Вопрос : Является ли использование пользовательской схемы для группировки таблиц / procs / views соответствующим образом для использования пользовательских схем в MS SQL Server? Или пользовательские схемы должны использоваться для обеспечения безопасности, например группировать разрешения для объектов?

Ответы [ 3 ]

1 голос
/ 20 февраля 2010

Обе перечисленные вами причины (цель / намерение, безопасность) являются действительными причинами для использования схем. Как только вы начнете использовать их, вы всегда должны указывать схему при обращении к объекту (хотя я ленивый и никогда не указываю dbo).

Один из приемов, который мы используем, состоит в том, чтобы иметь таблицу с одинаковым именем в каждой из нескольких схем в сочетании с секционированием таблиц (доступно в SQL 2005 и более поздних версиях). Загрузите данные в первую схему, а затем при проверке «поменяйте» раздел в dbo - после замены раздела dbo в копию таблицы «мусорная корзина». Время простоя чистого производства измеряется в секундах, и все это тщательно оборачивается объявленной транзакцией.

1 голос
/ 21 февраля 2010

Это на самом деле рекомендуемая практика.Взгляните на Microsoft Business Intelligence ETL Design Practices из Project Real .Вы обнаружите (скачайте документацию по первой ссылке), что они используют довольно много схем для группировки и идентификации объектов на складе.

В дополнение к dbo и etl, они также используют admin, audit, part, olapи еще несколько.

1 голос
/ 20 февраля 2010

Я думаю, что это достаточно уместно, это не имеет значения, вы можете использовать другую базу данных, если вам нравится, на самом деле это то, что мы делаем.

Я не уверен, почему вам нужна схема проверки, хотячто ты там будешь делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...