mcpField
C
cosmosdb-best-practices

cosmosdb-best-practices

github.com/azurecosmosdbデータ・データベース611.1k 回インストール1 日前に更新
リポジトリ

cosmosdb-best-practices について

Azure Cosmos DB アプリの設計、開発、コードレビュー向けのコーディングスキルです。影響度順のルールで、データモデル、クエリ、SDK、スケーリング、セキュリティ、ベクトル検索を扱います。

主な機能

  1. 0113カテゴリにわたる100以上のルール
  2. 02影響度順に並んだガイダンス
  3. 03言語別のSDK推奨事項
  4. 04ベクトル検索と全文検索に対応

活用シーン

  1. 01パーティションキーとデータモデルの選定
  2. 02クエリとSDK利用の最適化
  3. 03性能とスケーリング設定のレビュー
  4. 04ベクトル検索やRAG機能の構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/azurecosmosdb/cosmosdb-agent-kit --skill cosmosdb-best-practices

インストール後、Claude Code で/cosmosdb-best-practicesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

metadata.json
README.md
agents/
openai.yaml
rules/
_sections.md
_template.md
fts-add-index.md
fts-define-policy.md
fts-enable-capability.md
fts-hybrid-queries.md
fts-keyword-matching.md
fts-relevance-ranking.md
global-conflict-resolution.md
global-consistency.md
global-failover.md
global-multi-region-write-antipattern.md
global-multi-region.md
global-read-regions.md
global-zone-redundancy.md
index-composite-direction.md
index-composite.md
index-exclude-unused.md
index-lazy-consistent.md
index-path-syntax.md
index-range-vs-hash.md
index-spatial.md
model-avoid-2mb-limit.md
model-denormalize-reads.md
model-embed-related.md
model-id-constraints.md
model-json-serialization.md

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

Azure Cosmos DB のベストプラクティス

Azure Cosmos DB アプリケーション向けの包括的なパフォーマンス最適化ガイドです。12 のカテゴリにわたる 100 以上のルールを収録し、影響度に基づいて優先順位を付け、自動リファクタリングとコード生成を支援します。

適用する場面

次の場合に、これらのガイドラインを参照してください。

  • Cosmos DB のデータモデルを設計するとき
  • パーティションキーを選択するとき
  • クエリを作成または最適化するとき
  • SDK のパターンを実装するとき
  • ローカル開発で Cosmos DB Emulator を使用するとき
  • 開発者向けツールで Cosmos DB のデータを検査または管理するとき
  • Cosmos DB でベクトル検索または RAG 機能を実装するとき
  • パフォーマンスの問題がないかコードをレビューするとき
  • スループットとスケーリングを構成するとき
  • グローバル分散アプリケーションを構築するとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1データモデリングCRITICALmodel-
2パーティションキーの設計CRITICALpartition-
3クエリの最適化HIGHquery-
4SDK のベストプラクティスHIGHsdk-
5インデックス戦略MEDIUM-HIGHindex-
6スループットとスケーリングMEDIUMthroughput-
7グローバル分散MEDIUMglobal-
8監視と診断LOW-MEDIUMmonitoring-
9設計パターンHIGHpattern-
10開発者向けツールMEDIUMtooling-
11ベクトル検索HIGHvector-

クイックリファレンス

1. データモデリング(CRITICAL)
2. パーティションキーの設計(CRITICAL)
3. クエリの最適化(高)
  • query-aggregate-single-pass - スコープを指定した集計クエリを1回実行して、最小値/最大値/平均値を計算します
  • query-avoid-cross-partition - パーティションをまたぐクエリを最小限に抑えます
  • query-use-projections - 必要なフィールドのみを射影します。射影には専用の結果型を使用してください
  • query-pagination - ページネーションには継続トークンを使用します
  • query-avoid-scans - コンテナー全体のスキャンを避けます
  • query-parameterize - パラメーター化されたクエリを使用します
  • query-order-filters - フィルターの順序はクエリエンジンに任せます。テキスト上の順序ではなく、インデックスが利用される述語を調整してください
  • query-top-literal - TOP にはリテラルの整数を使用し、パラメーターは使用しません
  • query-latest-by-timestamp - 明示的な ORDER BY と TOP 1 を使用して「最新」のドキュメントをクエリします
  • query-olap-detection - 分析クエリを検出し、トランザクション用コンテナーではなく別の場所へリダイレクトします
  • query-point-reads - ID とパーティションキーが分かっている場合は、クエリではなくポイント読み取り(ReadItem)を使用します
4. SDK のベストプラクティス(高)
5. インデックス作成戦略(中〜高)
6. スループットとスケーリング(中)
7. グローバル分散(中)
8. 監視と診断(低〜中)
9. 設計パターン(高)
10. 開発者向けツール(中)
11. ベクトル検索(高)
12. 全文検索(高)
  • fts-enable-capability - すべての FTS 関数の前提条件として、アカウントで EnableNoSQLFullTextSearch 機能を有効にします
  • fts-full-text-policy - 正しい言語コード(en-US、大文字と小文字を区別)を指定して、コンテナーに fullTextPolicy を定義します
  • fts-index-policy - 逆インデックスを構築するため、インデックスポリシーに fullTextIndexes エントリを追加します
  • fts-contains-query - CONTAINS(LOWER(...)) の代わりに FullTextContains / FullTextContainsAll / FullTextContainsAny を使用します
  • fts-score-ranking - BM25 による関連性ランキングには、ORDER BY RANK FullTextScore(path, term) を使用します
  • fts-hybrid-query - FTS 述語と選択性の高いインデックス付きの等値/範囲フィルターを組み合わせます。述語のテキスト上の順序は、実行順序を制御しません

使用方法

詳しい説明とコード例については、上記のリンク先にあるルールファイルを使用してください。これらのリンクを使うと、フォルダー内を検索したりファイル名を推測したりすることなく、エージェントが関連するガイダンスに直接アクセスできます。

各ルールファイルには、以下が含まれています。

  • 重要である理由の簡単な説明
  • 説明付きの誤ったコード例
  • 説明付きの正しいコード例
  • 補足情報と参考資料

コメント