アプリケーションとサービスの最適化以外で、パフォーマンス向上のため同様に重要な領域は、特定のサービスの背後にあるデータのストレージと特性です。 Web サービスで使用されるほとんどのデータは本質的に表形式で (イメージ サービスを除く)、ほとんどの場合は次のものがどちらも含まれます。
ジオメトリーと属性の両方を最適化して、サービスのパフォーマンスを向上できます。 これらの領域に関するその他のドキュメントは、データ アクセスのパフォーマンスに影響を与える設定に関する ArcGIS Pro ドキュメントで参照できます。
属性の削減により、属性の使用を最適化できます。 簡単に言うと、これにはテーブルに存在する可能性があるが、アプリケーションやユース ケースには必要のない列や属性を削除する、または非表示にするプロセスが含まれます。 これを行うには、不要な列を削除するか、たとえば、公開用マップ イメージ レイヤーを作成する際に、それらの列を表示しないようチェックボックスをオフにすることでも対応できます。 ホスト フィーチャ レイヤー ビューは、特定のユース ケースに必要のない属性を除外するように構成することもできます。
属性のインデックス付けは、もう 1 つの考慮事項で、主にアプリケーションで列をフィルタリングやクエリーに使用するとき重要となります。 インデックス付けを使用すると、リクエスト フィルターが既知の属性に基づいている場合や、テキスト、数値、日付ベースの属性に対するクエリー行う場合に、より高速で効率的なクエリーが可能です。属性インデックスの追加は、リレーショナル データベースですでに構築済の最適化技術を利用する優れた方法です。 属性インデックスは、フィーチャクラスのジオデータベース レベルで追加したり、ホスト フィーチャ レイヤーのサービスのプロパティとして追加したりできます。
ジオメトリーの列は、データのユース ケースと要件に応じて、いくつかの重要な方法で最適化できます。 1 つの方法としては、空間ジェネラライズ (単純化とも呼ばれます) があります。これは、ラインやポリゴンなどのジオメトリック表現の詳細レベルを単純化、スムージング、または削減して、フィーチャのサイズを小さくし、ストレージの処理要件を抑える手法です。 このプロセスは、元のデータが過度に正確であるか、含まれる頂点に関して過度に詳細な場合、または元のデータの完全な詳細を保持しながら、視覚化に使用されるデータの読み取り専用コピーで完結する場合は、恒久的に適用することもできます。
この方法と密接に関連しているのが、空間精度を下げるアイデアで、これはジオメトリックまたは地理のデータ タイプを指し、通常はフィーチャの各頂点について実際の座標の 10 進値 (124999.24541512 など) が格納されます。 この値は距離単位を表し、データセットの座標系によって変化しますが、10 進度のような大きなものから、フィートやメートルのような小さなものになる可能性があります。 いずれの場合も、取得された空間精度がデータの実際のユース ケースを反映していることの確認は、機能上とパフォーマンス上の両方の理由から重要です。
メートルベースの距離単位を持つ座標系のデータの場合、(123456.789101112, 234567.891011121) として格納されるジオメトリーの精度は 9 桁で、ナノメートル単位の精度に相当します。 データが (平均して) 1 メートルの精度で GPS ユニットによってキャプチャーされる場合、この精度は測定の実際の精度を大幅に上回っています。 小数部分を削除してデータセットの空間精度を下げると、より正確なだけでなく、ネットワーク リクエストで転送されるジオメトリーのサイズが 50% 減少し、シリアル化処理から帯域幅の制約まで、あらゆる点で有利になります。 特別に詳細なポリゴン フィーチャでは、頂点の数が簡単に数千レコードに達し、サービスのパフォーマンスに大きな影響を与えるため、適切な空間精度を使用することが特に重要です。
属性とジオメトリーの調整以外にも、次のような高レベルのデータ ストレージ手法が、パフォーマンスの最適化に役立つことがあります。