Авторизация

Логин:
Пароль:
Восстановить пароль
Регистрация
  • Форум
  • Блоги
  • Контакты
  • Новости
  • Продукты
  • Отрасли
  • Обучение
  • Поддержка
  • События
  • О компании
  • Настройка размера ячейки пространственного индекса

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

    Большое количество информации дано в этой статье. Дополнительную информацию вы можете получить на курсе ArcSDE Administration for Oracle, именно в восьмом разделе курса.


    Процедура

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

    Настройка размеров ячейки сетки пространственного индекса хорошо работает при большинстве запросов.

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

    Кратко

    Пространственный индекс класса объектов базы геоданных SDE формирует запросы с пространственными фильтрами для быстрого поиска объектов. Определение оптимального размера ячейки пространственного индекса (РЯПИ) представляет собой процесс последовательных приближений и зависит от геометрии объектов и может изменяться при переходе от одного набора данных к другому. Этот документ показывает как взять довольно хорошее начальное приближение РЯПИ для класса объектов с примерно одинаковым размеров объектов. Этот документ использует утилиты командной строки SDE и SQL*Plus. Для этих же целей можно применить SQL Server Query Analyzer.


    Процедура

    1. Для получения идентификатора слоя Layer ID и статистики пространственного индекса используйте команду sdelayer.
    sdelayer -o si_stats -l <название_слоя>,shape -i <назв_службы_ArcSDE> -u <имя_пользователя> -p <пароль>

    Идентификатор слоя Layer ID расположен в третьей строке: Layer 1 Spatial Index Statistics:

    2. Запустите SQLPlus и подключитесь как владелец слоя.
    3. Подсчитайте среднюю длину стороны конверта объекта и умножьте ее на
    select avg((((emaxx - eminx)+(emaxy-eminy))/2)*3) average_edge from<F_table>;

     <F_table> есть F<layerID>

    • Команда sdelayer –o si_stats выдает отчет по статистике пространственного индекса, что затем можно будет использовать  при настройке РЯПИ. Вот пример отчета..

    sdelayer -o si_stats -l california_streets,shape -u gisdba -p gisdba

    ArcSDE   8.2      Build 161 Thu Jun  6 11:23:12 PDT 2002

    Layer    Administration Utility

    ----------------------------------------------------

    Layer 5 Spatial Index Statistics:

    Level 1,   Grid Size 0.1

    |----------------------------------------------------------------------------------------------|
    | Grid Records: 212781                                                              |
    | Feature Records: 199991                                                         |
    | Grids/Feature Ratio:  1.06                                                        |
    | Avg. Features per Grid: 196.47                                                 |
    | Max. Features per Grid: 3887                                                   |
    | % of Features Wholly Inside 1 Grid: 93.96                                 |
    |----------------------------------------------------------------------------------------------|
    |               Spatial Index Record Count By Group                         |
    | Grids:      <=4    >4    >10    >25    >50    >100   >250   >500     |
    |---------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ----- |
    | Features: 199991      0      0      0      0      0      0      0              |
    | % Total:     100%     0%     0%     0%     0%     0%     0%     0%|
    |----------------------------------------------------------------------------------------------|
    • Не используйте установки по умолчанию. Эти установки годятся только для загрузки данных. (Более того, рекомендуется загружать данные с заведомо большим РЯПИ, а затем уменьшить его до необходимых размеров, это предотвратит появление при загрузке сообщений «Spatia index too small» - прим. редактора). В общем, установки по умолчанию могут сильно снизить  производительность системы.
    • Используйте только один уровень пространственного грида. ArcSDE почти всегда имеет бОльшую производительность при работе с одним уровнем пространственного грида. Если объекты связаны не с одним уровнем ячеек пространственного грида, то малые объекты попадают в первый уровень, а большие – во второй и третий уровни. Соответственно, ArcSDE должно просматривать каждый уровень многоуровнего индекса при пространственных запросах. Для того чтобы сделать это, необходим  отдельный запрос для каждого уровня. В результате одноуровневый пространственный индекс с более-менее оптимальным размером ячейки дает лучшую производительность, чем многоуровневый индекс.

    Но это верно не для всех случаев. Классы объектов с сильно различающимися размерами большинства объектов могут показать лучшую производительность с многоуровневым пространственным индексом. В этих частных случаях вам потребуется поэкспериментировать с РЯПИ многоуровневого индекса для определения оптимальных размеров ячеек. (Размеры ячеек многоуровневого индекса обычно отличаются в 5-20 раз).

    • Добивайтесь высокого процента объектов, попадающих полностью в одну ячейку сетки (>90% = замечательно, > 80% = хорошо, <80% = измените РЯПИ).
    • Не допускайте превышения отношения Ячейка/Объект (Grids/Feature ratio) более 2, самое большее - 4.
    • Добивайтесь, чтобы большинство объектов содержалось в <= 4 ячейках пространственного индекса (Распределение в нижней части статистики).
    • Не допускайте превышения максимального количества объектов на ячейку (maximum number of features per grid) 2000, самое большее - 4000.
    • Сохраняйте среднее число объектов на ячейку (average number of features per grid) от 100 до 300.
    • Экспериментируйте с различными размерами грида и проверяйте время обработки типичного запроса.


    Дополнительная информация


    Вернуться к списку