Для набора данных SAS, что лучший способ состоит в том, чтобы предотвратить блокировку для многопользовательского доступа

Хорошо, я понял. В Сулу 1.6 я знаю, как настроить базу данных. Но в Sulu 2.0 я не знаю, как настроить базу данных?

5
задан Jay Corbett 21 February 2009 в 15:56
поделиться

1 ответ

Так как Ваш вопрос больше похож на запрос на общие рекомендации по доступу к данным и параллелизму в SAS, мой ответ будет сформирован как общие рекомендации, больше, чем определенное решение.

Существует превосходная онлайн-документация SAS. Посетите индекс и найдите информацию важной для Ваших дополнительных материалов для чтения.

  1. Имейте дальнейший взгляд на"ACCESS=READONLY"опция libname. Это в значительной степени делает то, что это говорит, а именно, ограничьте доступ к элементам данных в libname, чтобы быть только для чтения. Это содержит преимущество, что Вы не изменяете свои данные случайно во время не изменяющегося запроса. Это также позволяет SAS оставить некоторое место для запросов изменения данных для получения более высоких уровней управления данными.
  2. SAS/ДОЛЯ включает параллельный доступ к данным, поэтому если необходимо предоставить параллельный доступ (чтение-запись) тем же данным, SAS/доля является хорошим выбором. Это означает, что можно сойти с рук присвоение libname только однажды, дав libname оператору опцию"SERVER=SHARELIB", и имейте SAS/долю, управляют параллельным доступом к данным. При присвоении libname серверному процессу SAS/доли все последующие процессы SAS, нуждающиеся в доступе к этому libname только, должны присвоить libname как "LIBNAME LIB SERVER=SHARELIB" (примечание нет никакого физического пути - серверный процесс SAS/доли заботится об этом). Эта установка функционирует в своих лучших проявлениях, если у Вас есть отдельный процесс SAS для Вашего сервера SAS/доли.
  3. Можно также заблокировать libname с оператором LOCK или командой LOCK. Это означает, что Ваша программа SAS может гарантировать себе права эксклюзивного доступа на libname, в случае, если это - то, в чем Вы нуждаетесь. Другие процессы SAS могут затем использовать команду блокировки, чтобы запросить определенный libname и видеть, может ли это получить (эксклюзивный) доступ.
  4. Можно также управлять доступом на уровне элемента данных. Это сделано с опцией набора данных CNTLLEV. Например"DATA LIB.MYDATA(CNTLLEV=LIB);"указывает, что управление доступом на уровне библиотеки, ограничивая параллельный доступ только к одному процессу обновления к библиотеке. CNTLLEV=MEM и CNTLLEV=REC ограничивает параллельный доступ на членском уровне и рекордном уровне соответственно.

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

7
ответ дан 14 December 2019 в 09:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: