Многопользовательские базы геоданных используют таблицы файлов журнала для обслуживания списков выбранных записей. Записи вносятся в таблицы файла журнала для последующего использования приложением в следующих ситуациях:
- Клиент создает набор выборки определенного размера (100 записей в ArcMap; 1000 записей, если ObjectIDs запрашивается из сервиса объектов).
- Вы согласовываете или отправляете сообщения в версионную базу геоданных.
- Клиентское приложение проверяет данные для автономного редактирования.
Таблицы файла журнала хранят идентификаторы ObjectID выбранных объектов, что позволяет повторно отображать эти объекты. Это позволяет быстрее анализировать и обрабатывать информацию.
Существуют три опции файла журнала: совместно используемый, сеансовый, а также пулы сеансовых файлов журнала. Каждый описан в отдельных разделах данной темы.
В базах геоданных в Informix по умолчанию используются общие файлы журнала. В большинстве случаев этого достаточно, но вы можете поменять настройки таблиц файлов журнала с помощью инструмента геообработки Настроить таблицы файлов журнала базы геоданных (Configure Geodatabase Logfile Tables).
Совместно используемые файлы журнала
Совместные файлы журнала являются общими для всех сеансов подключения одного пользователя. При подключении нескольких пользователей с использованием одной учетной записи, все такие сеансы добавляют и удаляют записи из одной таблицы данных файла журнала.
В каких случаях нужны совместно используемые файлы журнала
Используйте совместные файлы журнала, если каждый клиент и пользователь подключается с отличной учетной записью пользователя базы данных.
В каких случаях совместное использование файлов журнала нецелесообразно
Вы можете не захотеть использовать совместные файлы журналов в том случае, если у вас имеется множество подключений с одним именем пользователя, например, при публикации сервиса объектов на ArcGIS Server, который будет генерировать множественные подключения с одним именем пользователя. Если многие из ваших пользователей будут запускать атрибутивные запросы к одному и тому же сервису объектов, то это может привести к конкуренции и увеличению времени ожидания для таблицы SDE_LOGFILE_DATA. В этом случае вы можете использовать файлы журналов на основании сеансов.
Таблицы, созданные для совместных файлов журнала
Таблицами файла журнала, используемыми для данной опции, являются SDE_LOGFILES и SDE_LOGFILE_DATA. Они создаются в схеме подключения пользователя при его первом превосходящем порог выборе.
В SDE_LOGFILES хранится информация о каждой создаваемой выборке (файле журнала). Столбцы logfile_name и logfile_id в данной таблице уникальным образом идентифицируют имя файла журнала, а столбец logfile_id связывает запись файла журнала с таблицей SDE_LOGFILE_DATA. Таблица SDE_LOGFILE_DATA содержит logfile_data_id и идентификатор объекта для выбранных записей.
Все записи удаляются как только происходит очистка выборки с целью недопущения чрезмерного роста таблицы SDE_LOGFILE_DATA. Таблица SDE_LOGFILES усекается после окончания сеанса. Таблицы SDE_LOGFILE_DATA и SDE_LOGFILES остаются в схеме пользователя.
Права доступа, необходимые для совместных файлов журнала
Так как таблицы файла журнала принадлежат подключающемуся пользователю, то пользователи должны иметь права доступа, позволяющие им создавать необходимые объекты данных. например таблицы. Это необходимо даже тогда, когда пользователь обладает доступом только для чтения базы геоданных. Если данные права доступа не назначены, то пользователь получит сообщение об ошибке при первой попытке создания выборки, размер которой превосходит пороговый размер для конкретного клиентского приложения. Однако после того, как для пользователя будут созданы таблицы SDE_LOGFILES и SDE_LOGFILE_DATA, администратор базы геоданных может отменить данные права доступа.
Например, архитектор Ян может только выбрать данные из базы геоданных для выполнения анализов, относящихся к его задаче. Таким образом, он будет пользователем с правами "только для чтения". Однако, если Ян захочет создать таблицы SDE_LOGFILES и SDE_LOGFILE_DATA в многопользовательской базе геоданных города, то ему потребуется возможность создания таблиц в базе геоданных.
Вместо того чтобы выдавать пользователю Яну разрешение на неограниченное создание таблиц, администратор базы геоданных просит Яна войти в базу геоданных и сделать выборку, размер которой превосходит порог. Администратор базы геоданных затем отменяет права Яна на создание таблиц.
Для работы с совместно используемыми файлами журнала в Informix пользователям необходимы разрешения RESOURCE.
Дополнительные параметры управления хранением общих файлов журнала
Существует несколько параметров под ключевым словом LOGFILE_DEFAULTS таблицы DBTUNE, управляющие способом или местом хранения таблиц файла журнала в базе данных. Вам не нужно задавать их для использования совместных файлов журнала, но вы можете задавать их в том случае, если желаете изменить способ хранения таблиц SDE_LOGFILES и SDE_LOGFILE_DATA и индексов в базе данных.
Для Informix используются следующие параметры управления хранением таблиц общих файлов журнала и индексов:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD _STORAGE
- LF_INDEXES
- LF_STORAGE
Описание этих параметров находится в разделе Параметры конфигурации Informix.
Сеансовые файлы журнала
Таблицы файлов журнала на основании сеанса предназначены для отдельного сеанса и могут содержать множество выборок (файлов журнала). Каждый сеанс, для которого выполняется вход, требует набора таблиц для выборок.
В каких случаях используются сеансовые файлы журнала
Вы можете использовать файлы журналов на основании журналов в том случае, если у вас имеется множество одновременных подключений к базе геоданных с одним именем пользователя. Например, если многие сервисы ссылаются на данные в вашей базе геоданных, вы можете использовать сеансовые файлы журнала.
В каких случаях использование сеансовых файлов журнала нецелесообразно
Вы не можете использовать файлы журналов на основании сеанса в том случае, если у вас имеются пользователи с правами "только для чтения", подключающиеся к базе данных.
Таблица сеанса удаляется из схемы пользователя после окончания сеанса. Это означает, что ее необходимо повторно создать когда это необходимо; таким образом, для использования таблиц файла журнала на основании сеанса, пользователю необходимы права доступа для создания таблиц.
Таблицы, создаваемые для сеансовых файлов журнала
Создаются три таблицы: SDE_LOGFILES, SDE_LOGFILE_DATA и SDE_SESSION<SDE_ID>. SDE_LOGFILE_DATA на самом деле не используется, но создается автоматически. В таблице SDE_LOGFILES хранится информация о выборке плюс тег сеанса <SDE_ID>, добавляемый к имени таблицы SDE_SESSION. В таблице SDE_SESSION хранятся идентификатор объекта для выбранного набора и идентификатор файла журнала.
Таблицы SDE_LOGFILES и SDE_LOGFILE_DATA остаются в базе геоданных. Таблица SDE_LOGFILES усекается при отключении приложения. Таблица SDE_SESSION<SDE_ID> усекается, когда подключенное приложение удаляет файлы журнала, и удаляется в конце сеанса.
Права доступа, необходимые для файлов журнала на основании сеанса
Файлы журнала на основании сеанса принадлежат пользователю, начинающему сеанс подключения. Это означает, что пользователю необходимы права доступа для создания требуемых объектов базы данных.
Для использования таблиц файла журнала на основании сеанса всем пользователям в Informix необходимы права доступа RESOURCE.
Дополнительные параметры управления хранением сеансовых файлов журнала
Существует несколько параметров под ключевым словом LOGFILE_DEFAULTS таблицы DBTUNE, управляющие способом или местом хранения таблиц файла журнала в базе данных. Чтобы использовать файлы журналов по сеансам, параметры задавать не нужно, но их можно задать, если вы хотите изменить способ хранения таблиц SDE_LOGFILES, SDE_LOGFILE_DATA и SDE_SESSION и индексов в базе данных.
В Informix хранением таблиц файлов журнала на основании сеансов и индексов управляют следующие параметры:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD_STORAGE
- LF_INDEXES
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
Описание этих параметров находится в разделе Параметры конфигурации Informix.
Пулы файлов журнала, принадлежащие пользователю sde
Администратор базы геоданных может создать пул сеансовых файлов журнала, который может быть откреплен и использован другими пользователями. Совместные файлы журнала не могут быть откреплены от пула файла журнала.
Использование пула файлов журнала необходимо для того, чтобы избежать необходимости наделения пользователей правами доступа, необходимыми для создания объектов в базе данных.
В каких случаях следует использовать пулы файлов журнала
Используйте пул файлов журнала в том случае, если не можете предоставить пользователям возможность создания их собственных таблиц файлов журнала.
В каких случаях использование пулов файлов журнала нецелесообразно
В общем случае использование пулов файлов журналов требует больших затрат на обслуживание, так как вам требуется оценить количество необходимых таблиц файла журнала, выполнять изменение размера пула или количества используемых пулов. Помните, что большой пул файла журнала или большое количество пулов файлов журнала может негативно отразится на производительности.
Таблицы, созданные для пулов файлов журнала
Вы указываете число таблиц SDE_LOGPOOL_<table_ID>, создаваемых инструментом Настроить таблицы файлов журнала базы геоданных (Configure Geodatabase Logfile Tables). Например, если число таблиц равно 5, инструмент создает следующие таблицы, принадлежащие пользователю sde:
- SDE_LOGPOOL_1
- SDE_LOGPOOL_2
- SDE_LOGPOOL_3
- SDE_LOGPOOL_4
- SDE_LOGPOOL_5
В дополнительную таблицу, принадлежащую пользователю sde, SDE_LOGFILE_POOL, записываются SDE_ID для сеанса и ID таблицы. <table_ID> в имени таблицы SDE_LOGPOOL соответствует значению столбца table_ID таблицы SDE_LOGFILE_POOL.
Каждый сеанс, требующий таблицу файла журнала, добавляет одну новую запись в таблицу SDE_LOGFILE_POOL, а сеанс выделяется для одной из таблиц SDE_LOGPOOL_<table_ID>. Если дополнительные файлы журнала создаются в одном сеансе, например, вторая выборка из 300 записей создается в одном сеансе ArcMap, то в таблицу SDE_LOGPOOL добавляются новые файлы журнала (выборка).
Когда файлы журнала очищаются, происходит усечение таблицы SDE_LOGPOOL, открепляемой для сеанса. Например, при очистке второй выборки в сеансе ArcMap, из таблицы SDE_LOGPOOL удаляются 300 записей, но записи первой выборки остаются. Когда файлы первой выборки очищаются, данные записи удаляются из таблицы SDE_LOGPOOL.
Когда файл журнал (выборка) очищается, происходит усечение соответствующей таблицы SDE_LOGPOOL.
Права доступа, необходимые для пулов файлов журнала
Для использования таблиц файлов журнала в пуле пользователям нужны только права подключения к базе данных и записи в таблицы SDE_LOGPOOL_<table_ID>.
Дополнительный контроль хранения данных для пулов файлов журнала
Ключевое слово LOGFILE_DEFAULTS имеет всего несколько параметров, которые управляют способом хранения таблиц SDE_LOGPOOL<SDE_ID> и их индексами.
В базах геоданных в Informix параметры LD_STORAGE, LD_INDEX_ROWID и LD_INDEX_DATA_ID DBTUNE используются для настройки хранения таблиц SDE_LOGPOOL<SDE_ID> и их индексов. Эти три параметра также управляют хранением таблиц SDE_LOGFILE_DATA и индексов. Описание этих параметров находится в разделе Параметры конфигурации Informix.
Вам не нужно задавать их для использования пулов таблиц файла журнала, но вы можете задавать их в том случае, если желаете изменить способ хранения таблиц SDE_LOGPOOL<SDE_ID> и индексов в базе данных.