Стратегия управления разделами - PullRequest
0 голосов
/ 14 февраля 2019

Я выполняю некоторую работу по PoC с секционированием таблиц в хранилище данных SQL Azure.Я прочитал доступную документацию о разбиении таблиц (https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-partition) несколько раз, но у меня возникли некоторые проблемы с разработкой полной стратегии для решения моего набора проблем, которая, кажется, была бы распространена.

В моей ситуации я, по сути, хочу раздел для каждого уникального значения в столбце раздела - давайте назовем его «Дата». У меня появятся новые значения с течением времени (требуются новые разделы), и мне также понадобитсязаменяйте содержимое одного или нескольких разделов несколько раз в день, сводя к минимуму потенциальное влияние на пользователей. Я следовал разделу «Управление исходным кодом разбиения таблиц» в качестве стратегии для начальной настройки разделов. Я думаю, что необходимо несколько раз заменять некоторые разделыв день означает, что мне нужна одинаковая / пустая промежуточная таблица, которую я могу очистить / загрузить, а затем использовать перестановку разделов. Некоторые элементы стратегии, которые, по моему мнению, мне не хватает, (я знаю, что здесь есть несколько вопросов - я комлюихКроме того, в этом есть какой-то всеобъемлющий аспект, который я пропускаю):

  • Поскольку я обрабатываю данные для новых значений даты, как мне проверить, есть ли у меня раздел дляэто значение?Просто сделайте SPLIT RANGE и проглотите ошибку «добавляемое граничное значение уже присутствует», если она возникает?

  • При загрузке промежуточной таблицы, после того как я подтвердил, что раздел дляДата, когда я обрабатываю, существует, я слышал, что наиболее эффективная вещь для очистки раздела - это УДАЛИТЬ раздел (в отличие от удаления ... где date = ''), чтобы избежать регистрации транзакций ...Я вижу документированный синтаксис для этого для SQL, но не для хранилища данных SQL?

  • Я вижу синтаксис для перестановки разделов - кажется, требуется, чтобы вы знали номер раздела, который нужно поменять местами.Как вы узнаете, что такое номер раздела Date X (я вижу некоторые связанные с разделами представления, но не могу точно определить, как вы получаете partion_number, имя и значение таблицы)?

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