Оптимизация источников и хранения данных

Помимо оптимизации приложений и сервисов, не менее важной областью для повышения производительности является хранение и характеристики данных, лежащих в основе конкретного сервиса. Большинство данных, используемых в веб-сервисах, носят табличный характер (за исключением сервисов изображений) и чаще всего включают в себя:

  • Геометрию — столбец данных с типом данных geography или geometry
  • Атрибуты – столбцы с другими поддерживаемыми типами данных

Как геометрия, так и атрибуты могут быть оптимизированы для повышения производительности сервиса. Дополнительные сведения по этим областям доступны в документации ArcGIS Pro по настройкам, влияющим на производительность доступа к данным.

Используйте только необходимые атрибуты

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

Индексация атрибутов

Еще одним важным моментом является индексация атрибутов, особенно когда столбцы будут использоваться для фильтрации или запросов в приложении. Индексирование позволяет выполнять более быстрые и эффективные запросы, когда фильтры запросов основаны на известном атрибуте или запрашивают текстовый, числовой или основанный на дате атрибут, а добавление индексов атрибутов является отличным способом использования уже встроенной технологии оптимизации в реляционных базах данных. Атрибутивные индексы могут быть добавлены на уровне базы геоданных для классов пространственных объектов и в качестве свойства сервиса для размещенных векторных слоев.

Оптимизация геометрии

Столбцы геометрии также можно оптимизировать несколькими важными способами — в зависимости от варианта использования и требований к данным. Одним из вариантов является пространственная генерализация, часто также называемая упрощением, которая представляет собой процесс упрощения, сглаживания или снижения уровня детализации геометрического представления, такого как линия или полигон, для уменьшения размера объекта и требований к хранению и обработке. Этот процесс может быть выполнен на постоянной основе, если исходные данные слишком точны или слишком подробны с точки зрения включенных вершин, или может быть выполнен на копии данных, доступной только для чтения, которая используется для визуализации, при этом сохраняется полная детализация исходных данных.

С этим тесно связана идея снижения пространственной точности в отношении к геометрическому или географическому типу данных, который обычно хранит десятичное значение для фактических координат каждой вершины объекта, например, 124999.24541512. Это значение представляет собой линейную единицу измерения, меняющуюся в зависимости от системы координат набора данных, она может быть как большой, например, десятичные градусы, так и малой, например, футы или метры. В любом случае, обеспечение того, чтобы полученная пространственная точность отражала фактический сценарий использования данных, может быть важным как по функциональным соображениям, так и по соображениям производительности.

Для данных в системе координат с линейными единицами измерения на основе метра геометрия, хранящаяся как (123456.789101112, 234567.891011121), имеет 9 десятичных знаков точности, эквивалентной точности на нанометровом уровне. Если данные фиксируются устройством GPS с точностью до 1 м (в среднем), то эта точность значительно превышает фактическую точность измерения. Уменьшение пространственной точности набора данных за счет удаления десятичной части не только повышает точность, но и уменьшает размер геометрии при ее передаче в сетевом запросе на 50%, что помогает во всем, от процессов сериализации до ограничений пропускной способности. Использование соответствующей пространственной точности особенно важно при работе с высокодетализированными полигональными объектами, так как количество вершин может быстро достигать тысяч записей, и в результате это оказывает значительное влияние на производительность сервиса.

Дополнительная оптимизация данных

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

  • Использование представлений базы данных или материализованных представлений для хранения часто используемого запроса на уровне базы данных, который затем может быть опубликован в картографическом сервисе для использования в приложениях ArcGIS
  • Обдумайте, может ли файловая база геоданных извлечь выгоду из сжатия – эта операция может повысить производительность за счет реорганизации внутреннего хранилища часто редактируемой файловой базы геоданных
  • Многопользовательские базы геоданных включают в себя множество других факторов производительности, некоторые из которых могут быть специфичными для базы данных, но важно учитывать операции сжатия и анализа наборов данных при работе с версионными данными, а также широкий спектр соображений производительности при использовании рабочего процесса с несколькими редакторами.
Top